[ADF, JDev12.1.3] How to set a variable to bind a VO (where clause) in a managed bean?

Hallo,

I have a request based on VO.

The query contains a where clause clause and a bindi variable.

In a managed bean I would like to access the iterator of VO setting the value of the bind variable and read the result.

I found this code it is good start, but I do not know how to set the variable binding.

BindingContext bctx = BindingContext.getCurrent();
BindingContainer bindings = bctx.getCurrentBindingsEntry();
DCIteratorBinding iter = (DCIteratorBinding ) bindings.get("MyVO1Iterator");
iter.execute();


You kindly help me?

Also, I would like to know if it is generally advisable to use VO directly in controlled beans or whether it would be best to create in the AppModuleImpl methods that do this and return the result.

In my case for example of the VO will return max 1 plug so I'm in doubt, if the creation of a method in the AM that returns a custom class, which attributes contain values of the line of VO.

Sorry if these questions may seem artificial, but I am a beginner, I have many doubts and so I would be happy to receive some tips regarding best practices.

Thank you

Federico

You can use:

iter.getViewObject().setNamedWhereClauseParam("yourBindVar", value);

Note that this approach is used if you have bind variable in the where clause.

To set variables bind to ViewCriteria, you must use VarableValueManager.

This post may be useful for you: binary: how to set the Bind variable values at run time?

Also, I would like to know if it is generally advisable to use VO directly in controlled beans or whether it would be best to create in the AppModuleImpl methods that do this and return the result.

You must set "use VO directly.

For example, from the point of architecture, is probably best to use the method in the model project which will set the bind variable and execute the query.

Or you can use the ExecuteWithParams operation in your the view layer.

In my case for example of the VO will return max 1 plug so I'm in doubt, if the creation of a method in the AM that returns a custom class, which attributes contain values of the line of VO.

Not to complicate your life

All VO lines are represented as ViewRowImpl class if you already have "custom class".

Finally, you can generate your own ViewRowImpl class if it is necessary for this.

Dario

Tags: Java

Similar Questions

  • [ADF, JDev12.1.3] (How to set values for the attributes 1) to create a file and 2) committing to the database?

    Hallo,

    in my tables and forms (created from VO istances) there are some areas for which, insert and update, I calculate and set the value programmatically when a record is created or updated.

    In some cases, I put the necessary values using the 'CreateWithParams' in the workflow diagram...

    In some other ones, I associate an action, a bean, a created button drag-and - drop operation 'CreateWithParams' of the istance VO...

      public String cwpButton_action() {
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("CreateWithParams");
        // here I calculate and set the needed params
        // ...
        Object result = operationBinding.execute();
        if (!operationBinding.getErrors().isEmpty()) {
          return null;
        }
        return null;
      }
    

    And is ok if I can calculate the values for the attributes before a new record is created.

    But the approach that I have used to define the attributes (for new and updated records) whose value should be caluclated after the user has filled in the fields, before committing to the database?

    Thank you

    Federico

    Federico,

    Let me first tell you that our code is activity masking errors (the cache instead of working on them).

    1. If (! operationBinding.getErrors () .isEmpty ()) {}
    2. Returns a null value.
    3. }
    4. Returns a null value.

    This means that you do not check the errors at all. You must at least print a log with the error message, you receive, if you get one!

    To solve your problem, you override the method prepareForDML() of the entity or entities in question. You can calculate and set the necessary attributes until they get engaged in the doDML(). Do not use doDML() because it is too late in the life cycle.

    Timo

  • [ADF, JDev12.1.3] How to set attributes for new records in detail your (by program) in a panel of master / detail tabbed?

    Hallo,

    in a fragment that I have a tabs including the 1st tab panel contains an af:form (created from a master VO) while the other tabs each contain an af:table (created from a VO detail).

    When the fragment is used in design mode , I need to set some attributes (hidden) for each VO.

    I guess I can begin to insert before the fragment, in the workflow, the operation "Create with Params" for the master VO.

    But who should I set the values for the fields the other VO's hidden when the user create new records?

    Some fields of VO can be set taking values directly from session and pageFlow scope while the value must be calculated for other fields.

    Thank you

    Federico

    Retail vo was create with Potsdam too. You can use what you can do to master VO. link the button to detail to a bean and calculated method to set the parameters before running the createWithParam.

    Timo

  • [ADF, JDev12.1.3] How to set the value of an attribute of VO 'max (attribute) + 1' when creating a new record?

    Hallo,

    I have a VO that selects records from a table databace where FkId = < value >.

    For example: this is the database table...

    ID RowDetNumber OtherFields FkId

    1   3     1            ...

    2   3     2            ...

    3   3     3            ...

    4   3     4            ...

    5   4     1            ...         |

    6   4     2            ...         | -VO selects these records (where FkId = 4 for example)

    7   4     3            ...         |

    8   5     1            ...

    9   5     2            ...

    When a new record is created the field RowDetNumber must be calculated with the logic of the max (RowDetNumber) + 1.

    So for the example above, the calculated value should be 3 + 1 = 4.

    I would like to know how I can calculate the value and assign to the RowDetNumber attribute.

    I did some experiments using a Groovy expression as a default value for the field, but I got only errors.

    I'm a bit confused on how I can do so a few details / examples / tips are welcome

    In particular, a small example for every possible approach would be happy.

    Thank you

    Federico

    Federico, the solution mentioned in the block will work as it only generates unique numbers without guarantee that the generated numbers are without flaw. However, if you want to use max + 1 this normally means you want to have a sequence without gap. It is very very complicated in nature. It doesn't matter what application you're trying, there is almost always room for error, ending with duplicate numbers.

    The trigger also works as the DB supports triggers on MS SQL.

    If you don't need a number of gap-less for the attribute, you can use the groovy solution and just get a number of a sequence is is guaranteed unique and greater value, like the last number that you asked of the sequence. In this way, you can have the sorted records

    ID RowDetNumber OtherFields FkId

    1  3    1            ...

    2  3    7            ...

    3  3    9            ...

    4  3    10            ...

    5  4    3            ...        |

    6  4    5            ...        | -VO selects these records (where FkId = 4 for example)

    7  4    12            ...        |

    8  5    4            ...

    9  5    6            ...

    Timo

  • [ADF, JDev12.1.3] How to get the column headers, request of VO and VO bind vars used by an af:table?

    Hallo,

    I want to create a method that takes as a parameter the id of an af:table (used to display the search results) and returns:

    • the column headings of the af: table
    • Visible property (true/false) of the columns af:table
    • the actual query of the VO instance used to create the af: table
    • the values of real bind variables passed to the query of the instance of VO

    I would like to create a servlet which takes the parameters reruns the query and returns a report Excel/PDF file that contains exactly the same columns and same of the af records: table.

    I'm a little confused on who use the code to achieve this... you kindly help me?

    I did a similar qustion here Re: [ADF, JDev12.1.3] how to export an af:table to Excel in an ADF Essentials application? but then I guessed that it was preferable to create a new thread.

    Thank you

    Federico

    For this, you can use this type of code

    Context LocaleContext = _adfTableBinding.getLocaleContext ();

    for (attr AttributeDef: attributeDef) {}

    Label As String = attr.getUIHelper () .getLabel (context);

    _logger.info ("Attritbute name:" + attr.getName () + "column name:" + attr.getColumnName () + "Col4Query name:" + attr.getColumnNameForQuery () +)

    "Name:"+ label);

    }

    which produces this output

    Timo

  • How to set the name of the author and where I find all of the debug option token during the race or the creation of the application on QNX IDE?

    How to set the name of the author and where I find all of the debug option token during the race or the creation of the application on QNX IDE?

    Here is the error

    Failure of deployment: Info: request shipment: install and launch
    Info: Action: install and launch
    News: Native debugging: on
    Info: File size: 219949
    Info: Installing com.example.UIBB10AppTest1.testDev_B10AppTest15dd51c62...
    Info: Treatment 219949 bytes
    actual_dname:
    actual_id:
    actual_version:
    result::failure 881 the application author does not match the author token of debugging

    The author information is located in the bar - descriptor.xml in the tab "General". But the information must be defined automatically. In addition, you must install the token debug on your device.

    If everything is configured properly there is only one problem that happened to me. I had several chips debugging Momentics. I had to remove all chips debugging and leave alone the I want to use. Perhaps, you have also several debugging chips installed in Momentics. This seems to be a bug in Momentics who can't handle several chips debugging.

  • [ADF, JDev12.1.3] How to pass an Integer value sets to a workflow, and then it reads a bean?

    Hallo,

    for a test, I need to set the value of an entry of a stubborn workflow used as dialog...

    Then in the bean that is associated with a known fragment of the btf, I need to read the value, so I used this code...

    Integer protocol = (Integer) AdfFacesContext.getCurrentInstance().getPageFlowScope().get("protocol");
    

    This exception triggers...

    javax.el.ELException: java.lang.ClassCastException: java.lang.Long cannot be cast java.lang.Integer

    What's wrong?

    Thank you

    Federico

    If I remember correctly, in JSF that EL has Long type so this probably also applies to ADF.

    For example, you can cast a Long or you can use the type field (from some managed bean) an integer as an input parameter.

    Dario

  • [ADF, JDev12.1.3] How to add user interface components in a page before you display it or hide it?

    Hallo,

    I started to raise this issue with the rohanwalia type () in this thread Re: Re: [ADF, JDev 12.1.3] how to hide menu items based on the logged-on user but maybe it's better to make the question in a separate thread.

    I have a page home.jspx with some user interface components (menus bars, text entry, buttons,...).

    Unbounded workflow

    loginPage.jspx - loginSuccess-> home.jspx

    Based on the logged in user, I programmatically to hide (for example some buttons and menu items) or to add UI components on the page home.jspx.

    Thus, in the managed bean (request scope, right?), associated with the page I want to write a method that before appear the home.jspx makes the task above.

    {initPage()}

    Here, I call an AM method for each component that says that if

    -According to the user - it should be visible or not.

    This information is stored in a Boolean vars, one for each component.

    IT1.setVisible (it1visible);

    IT2.setVisible (it2visible);

    B1.setVisible (b1visible);

    ...

    }

    How can I do to make this method runs automatically when the page is rendered?

    Thank you

    Federico

    Hi Federico

    you use links to visible false, but before pageload links are not accessible at the bean so when you call after the page load button works but before pageLoad, it won't

    so rather than use binding use variables of bean to the value true or false and provide references to the visible property of inputField

    Suppose that to create a Boolean variable and getter setter now is the button click set a value false

    Thank you

  • [ADF, JDev12.1.3] How to create a reusable/configurable SelectOneChoiche that displays a range of years?

    Hallo,

    in my application, I would use SelectOneChoiche components a range of years including start/end of the year can be different based on other values/conditions of display.

    I found this thread helpful Andrejus Baranovskis Blog: select a choice with select elements Tag which explains how to fill a PLOUGHSHARE of a managed bean.

    Would it be possible (and how) to create a reusable component (something to drag them to the design-time user interface) configurable with expressions of start/end of year?

    This would avoid as me to write the code to fill the SOC whenever I need one of them.

    Thank you

    Federico

    You can see this example ADF practice: component example declarative ADF which shows how to create a component declarative which shows a decimal lov.

    This Oracle magazine article Oracle ADF: Build Your Own is another example that will guide you throughout the process.

    Timo

  • [ADF, JDev12.1.3] How to resize and style default popup of the message of faces?

    Hallo,

    popups messages of faces that I take the floor in managed beans or auto-affichent by the application to show errors (e.g., https://dl.dropbox.com/s/hsje8m0meci2wai/FacesMessage.png?dl=0) do not adjust automatically based on the content.

    I would like to know how I can fix this problem and:

    Thank you

    Federico

    Well, for automatic resizing, you can use this workaround: https://agungor.wordpress.com/2014/05/14/handling-un-resizable-facesmessage-popup/

    Also, if I remember correctly, you can download the fix for this problem for Oracle Support(if you have support contract).

    Inline messages you must provide the id of the component when you create messages of faces.

    For global inline messages you need to af:messages component.

    As an alternative, you can use something like this: Awasthi (Jdev/ADF) Ashish Blog: better interface user-display the notification message of jQuery (for error, warning, info) to Oracle ADF

    Dario

  • [ADF, JDev12.1.3] How to hide the LOV "magnifying glass" through a bean managed?

    Hallo,

    I want to hide the "magnifying glass" to a field LOV.

    This is possible only by using a CSS approach like this Ashish Awasthi (Jdev/ADF) Blog: search to hide from af icon: inputListOfValues using CSS & StyleClass-Oracle ADF?

    Since then, I need to calculate in a bean managed if the magnifying glass must be hidden or not... I would like to know if there is an appproach simple and clean alternative.

    Thank you

    Federico

    Hi Federico,.

    You can use the same approach, as mentioned in the blog. Just you need not set the StyleClass on the page.

    In the method of bean managed when you calculate that there should be no magnifying glass, then get the reference to lov and set its styleclass (LOV.setStyleClass) and refresh the LOV.

    This way you can conditionally hide and display magnifying glass.

    Thank you

  • [ADF, JDev12.1.3] How 1) in order to avoid this af:table created from a VO istance automatically fill the box itself? (2) disable a button if the display: table is empty?

    Hallo,

    I would like to know how to avoid that an af:table created from a VO istance automatically fill the area itself.

    I need to fill programmatically after you click on the search button.

    Then I would turn off, and the button 'open file' if the af: table is empty or if af:table contains documents... enable how can achieve this?

    Thank you

    Federico

    I would like to know how to avoid that an af:table created from a VO istance automatically fill the area itself.

    I need to fill programmatically after you click on the search button.

    Use VO.executeEmptyRowSet () Andrejus Baranovskis Blog: Oracle ADF Tuning: prevention of the execution of the SQL query on the loading of the Page

    Then I would turn off, and the button 'open file' if the af: table is empty or if af:table contains documents... enable how can achieve this?

    Bind "disabled" property #{bindings.yourIterator.estimatedRowCount == 0}

    Dario

  • How to pass the variable to bind page ADF view object

    Would appreciate your help on this.
    Set up a view with a variable binding object: param1 in where clause.
    I want to pass the value of the variable to link from a page of the ADF (.jspx)

    I know that one Option using executeWithParams() method binding in the ADF page.
    But, I want to pass a pageFlowScope parameter (which is already set when loading the page) to the variable binding VO, and the VO should also display the results filtered on the page the first time itself.

    Could someone help me understand with a code, how to achieve the same. (Is there a groovy expression to access the param pageflowscope?)

    Thank you

    Published by: user5381160 on August 12, 2010 20:01

    You should also consider dragging operation executeWithParams on your workflow and of wiring to occur before your page instead of in the definition on the page itself - so it is more clear what is happening and is the approach recommended for 11 g applications. When drag-and you - drop operation, you can use the dialog box bind the parameter to your page flow - scope variable by providing the good EL there.

    There is no expression Groovy in the model layer to access the workflow variable scope page (which is in the controller layer) because this would violate the separation of concerns inherent in an MVC application.

    John

  • How to set a variable when loading a flash application

    Hey there all,
    I am very new to flex and flash programming.
    I have an app that I need to specify a certain variable for during the application of the first charge up.
    The .swf file must be able to start with a certain set of variables (as with a command line argument)
    Because I'll be incorporation in markers on google maps. They need to know where and what they are by variables that I spend when they are first initialized

    I hope this question makes sense,

    Shawn

    You can send the query string values and access it from your flex application. Below is the URL of the page that describes how to access the query string parameters in a Flex application
    http://livedocs.Adobe.com/Labs/Flex3/HTML/deep_linking_5.html#245869
    I hope this helps.

  • How to set a variable to a string with special characters?

    I want to set a variable

    < cfset inputstring = "< img src ="... /... /.. "/ Server/Win/Form/Stamp/string_1" / > "/ >"

    but I get the error message:

     Invalid CFML construct found on line 184 at column 32.
    ColdFusion was looking at the following text:
    
    
    .
    

    I try different ways, what I am, I am doing wrong?

    You must escape the inner quotes or mix single and double quotes.  Try:

    "/>

    or

    Oh, and oblique aft are not necessary in the tag.

    -Carl V.

Maybe you are looking for