Flex 4 + Binding + Casting

Hey all!
I've tried to find an answer to this that works in Flash Builder in the forums, but haven't yet - please feel free to redirect me if this is a repost!  =)
My question is about casting within a binding tag.  I was having problems casting from "Object" to a "Person" object (created in-house).  Per threads about this written in 2007, this seems perfectly acceptable.  Not so to my Flash Builder compiler.  As a most basic test, I tried this:
[Bindable] public var test1:Object;
[Bindable] public var test2:Object;
then bound like this:
<fx:Binding source="test1" destination="test2" twoWay="true"/>
this obviously worked.  I then tried something I imagined would be redundant, and copied the format of the cast I had tried to do earler between Object and Person (that had failed):
<fx:Binding source="test1" destination="Object(test2)" twoWay="true"/>
This failed with an 1105 error :Target of assignment must be a reference value.  Swapping the cast over to the source side instead of the destination side produced the same error.  Does this mean that the cast creates a new, immutable object that is unable to be referenced in a bind?
If so, what methodology/best practices should be used to go around this problem?  If test2's class was changed to be "Person" rather than object, and I knew that test1 was an object that was originally created as a Person object, how can I ever bind the two?
Thanks in advance for any help!  =)
-Emily

update:
I fixed it finally !
http://filip.nedyalkov.net/datagrid2/
Can someone explain why I can't use directly:
editorDataField="selectedIndex"
when the dropdownlist has this property on it. It gives error that it is not found bla bla.
And why when changing the dropdownlist value changes the ArrayCollection directly without me specifing it is two way binding like @{ } or with ActionsScript ?
Two links on this that helped me out:
http://forums.adobe.com/thread/495502
http://www.switchonthecode.com/tutorials/simple-datagrid-item-editor-in-flex
I hope that will help for those stuck as me

Similar Messages

  • Issues with removing Flex data binding to use Air 14

    Hello,
    I was wondering if anyone had optimal solution for replacing the Flex data binding classes in Air 14. I'm unable to merge the Flex and Air SDK together anymore so all the binding handlers need to be replaced. Has anyone else run into this issue yet? The automated binding generation and handling was the best feature of Flex and now that it's broken it creates huge issues for me.
    This is for Air desktop and mobile applications. They still build just no of the event handling works.
    Cheers,
    Pete

    I had forgotten I solved this myself last Dec. So basically from what I can tell the precompiler no longer does any [Bindable] conversions so you have to manually create the getters and setters for your model when this changes. I hope this helps anyone who may run into the same problem. There's literally no documentation on this any wheres.
    i.e.
    [Bindable]
    public var username : String;
    becomes
    private var _username : String;
            [Bindable(event="propertyChange")]
            public function get username():String
                return this._serviceState;
            public function set username(value:String):void
                var oldValue:Object = this._username;
                if (oldValue !== value)
                    this._username = value;
                    if (this.hasEventListener("propertyChange"))
                        this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(this, "username", oldValue, value));
    You also need to make sure what ever class contains this property implements IEventDispatcher and has the following functions:
    IEventDispatcher implementation
    private var _bindingEventDispatcher:flash.events.EventDispatcher =
    new flash.events.EventDispatcher(flash.events.IEventDispatcher(this));
      * @inheritDoc
    public function addEventListener(type:String, listener:Function,
      useCapture:Boolean = false,
      priority:int = 0,
      weakRef:Boolean = false):void
    _bindingEventDispatcher.addEventListener(type, listener, useCapture,
    priority, weakRef);
      * @inheritDoc
    public function dispatchEvent(event:flash.events.Event):Boolean
    return _bindingEventDispatcher.dispatchEvent(event);
      * @inheritDoc
    public function hasEventListener(type:String):Boolean
    return _bindingEventDispatcher.hasEventListener(type);
      * @inheritDoc
    public function removeEventListener(type:String,
    listener:Function,
    useCapture:Boolean = false):void
    _bindingEventDispatcher.removeEventListener(type, listener, useCapture);
      * @inheritDoc
    public function willTrigger(type:String):Boolean
    return _bindingEventDispatcher.willTrigger(type);

  • My command link doesn't work

    hi all,
    i have a created a page where i am performing a web type search with search form and search results on the same page and i have also implemented the conditional display of search results table as directed by the ADFBC guide.
    i.e., I created a managed bean where in am setting the searchFirstTime flag. here is the code of my managed bean.
    public class UserState {
    private static final String SEARCH_FIRSTTIME_FLAG = "SEARCH_FIRSTTIME_FLAG";
    private HashMap hmUserSettings = new HashMap();
    public UserState() {
    try{
    System.out.println("setting the user settings in constructor");
    hmUserSettings.put(SEARCH_FIRSTTIME_FLAG,true);
    }catch(Exception e){
    e.printStackTrace();
    public boolean isSearchFirstTime(){
    Boolean firstTime = (Boolean)hmUserSettings.get(SEARCH_FIRSTTIME_FLAG);
    try{
    System.out.println("setting the search flag in isSearchFirstTime firstTime.booleanValue() :"+firstTime.booleanValue());
    if (firstTime == null){
    firstTime = true;
    }catch(Exception e){
    e.printStackTrace();
    return firstTime.booleanValue();
    public void setSearchFirstTime(boolean searchFlag){
    try{
    System.out.println("setting the search flag searchFlag :"+searchFlag);
    hmUserSettings.put(SEARCH_FIRSTTIME_FLAG, new Boolean(searchFlag));
    }catch(Exception e){
    e.printStackTrace();
    In the search results table one of the columns is a command link, clicking on which opens a pop up window where i have some more details being displayed.
    here is the code of my jspx page for the command link
    <af:commandLink text="#{row.OrderNumber}"
    binding="#{backing_TestDDPUD.commandLink1}"
    action="#{backing_TestDDPUD.commandLink1_action}"
    useWindow="true"
    partialSubmit="true"
    windowHeight="200"
    windowWidth="500"
    id="commandLink1"/>
    i have specified the action to be performed,in the backing bean of my page, here's the code
    public String commandLink1_action() {
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
    bindings.getOperationBinding("setCurrentRowWithKey");
    Object result = operationBinding.execute();
    System.out.println("inside commandLink1_action");
    if (!operationBinding.getErrors().isEmpty()) {
    System.out.println("$$$$$$$$$$$$$$$ has errors $$$$$$$$$$$$4");
    return null;
    DCIteratorBinding ib = (DCIteratorBinding)bindings.get("OeOrderHeadersViewResultsIterator");
    Row row = ib.getCurrentRow();
    Number numHeaderId = (Number)row.getAttribute("HeaderId");
    FacesContext fc = FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context
    DCDataControl dc = bc.findDataControl("TestDDAppModuleDataControl");
    // 5. Access the application module data provider
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    ViewObject vo = am.findViewObject("OeOrderLinesAllView");
    vo.setNamedWhereClauseParam("theHeaderId",numHeaderId);
    System.out.println((vo.getNamedWhereClauseParam("theHeaderId")));
    return "dialog:orderDetails";
    my problem is that now when i enter a search criteria and execute the search, the search results are displayed properly in the table but when i click on the command link it does not open the pop up window, it does not even enter into the commandlink1_action() method..here's the log which i get after i click on the command link..can somebody please tell me what is going wrong or what exactly is happening
    07/03/28 17:19:20 [363] Reusing a cached session application module instance
    07/03/28 17:21:03 [364] **** refreshControl() for BindingContainer :TestDDPUDPageDef
    07/03/28 17:21:03 [365] *** Using bean introspection to lookup value :result
    07/03/28 17:21:03 [366] Invoke method Action:999
    07/03/28 17:21:03 [367] DCInvokeMethod:Invoking TestDDAppModuleDataControl.dataProvider.setOrgPolicyContext()
    07/03/28 17:21:03 inside the setOrgPolicyContext
    07/03/28 17:21:03 blnSetOrgPolicyContext finally :true
    07/03/28 17:21:03 [368] Resolving VO:TestDDAppModule.OeOrderHeadersView for iterator binding:OeOrderHeadersViewIterator
    07/03/28 17:21:03 [369] DCUtil, RETURNING: <null> for TestDDAppModule.OeOrderHeadersView
    07/03/28 17:21:03 [370] Resolving VO:OeOrderHeadersView for iterator binding:OeOrderHeadersViewResultsIterator
    07/03/28 17:21:03 [371] DCUtil, returning:oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding, for OeOrderHeadersView
    07/03/28 17:21:03 [372] *** DCDataControl.sync() called from :DCBindingContainer.refresh
    07/03/28 17:21:03 [373] valiateToken:Decompressed BC state:BCST:=0OeOrderHeadersViewIterator=-F-,OeOrderHeadersViewResultsIterator=-D-000100000004C30A031F,
    07/03/28 17:21:03 setting the user settings in constructor
    07/03/28 17:21:03 setting the search flag in isSearchFirstTime firstTime.booleanValue() :true
    07/03/28 17:21:03 setting the search flag in isSearchFirstTime firstTime.booleanValue() :true
    07/03/28 17:21:03 setting the search flag in isSearchFirstTime firstTime.booleanValue() :true
    07/03/28 17:21:03 [374] **** refreshControl() for BindingContainer :TestDDPUDPageDef
    07/03/28 17:21:03 [375] *** DCDataControl.sync() called from :DCBindingContainer.refresh
    07/03/28 17:21:03 setting the search flag in isSearchFirstTime firstTime.booleanValue() :true

    hi Frank,
    i have my table inside a panel page which is already sorrounded with h:form so i cannot sorround my table again with h:form or af:form. the command link in the page was working fine, till i included the code for the conditional display of the results table. If i look at the log printed after i click on the command link, i don't see any of the sop's being printed that i have given inside the commandlink1_action() method, i have a feeling that my action method is not being called at all and i am not able to figure out why the sop in the isSearchFirstTime() method is being printed 4 times.
    here is the entire code of my .jspx
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces">
    <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
    <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <f:view>
    <afh:html binding="#{backing_TestDDPUD.html1}" id="html1">
    <f:loadBundle basename="UIResources" var="res"/>
    <afh:head title="SalesOrderTemplate" binding="#{backing_TestDDPUD.head1}"
    id="head1">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body binding="#{backing_TestDDPUD.body1}" id="body1">
    <af:messages binding="#{backing_TestDDPUD.messages1}" id="messages1"/>
    <h:form binding="#{backing_TestDDPUD.form1}" id="form1">
    <af:panelPage title="Change Me"
    binding="#{backing_TestDDPUD.panelPage1}"
    id="panelPage1">
    <f:facet name="menu1"/>
    <f:facet name="menuGlobal"/>
    <f:facet name="branding"/>
    <f:facet name="brandingApp"/>
    <f:facet name="appCopyright"/>
    <f:facet name="appPrivacy"/>
    <f:facet name="appAbout"/>
    <af:panelForm binding="#{backing_TestDDPUD.panelForm1}"
    id="panelForm1">
    <af:inputText value="#{bindings.OrderNumber.inputValue}"
    label="#{bindings.OrderNumber.label}"
    columns="#{bindings.OrderNumber.displayWidth}"
    binding="#{backing_TestDDPUD.inputText8}"
    id="inputText8"/>
    <af:inputText value="#{bindings.SoldToOrgId.inputValue}"
    label="#{bindings.SoldToOrgId.label}"
    columns="#{bindings.SoldToOrgId.displayWidth}"
    binding="#{backing_TestDDPUD.inputText39}"
    id="inputText39"/>
    <f:facet name="footer">
    <af:panelGroup layout="vertical"
    binding="#{backing_TestDDPUD.panelGroup1}"
    id="panelGroup1">
    <af:panelButtonBar binding="#{backing_TestDDPUD.panelButtonBar2}"
    id="panelButtonBar2">
    <af:commandButton actionListener="#{bindings.Execute.execute}"
    text="Search"
    disabled="#{!bindings.Execute.enabled}"
    binding="#{backing_TestDDPUD.commandButton2}"
    id="commandButton2">
    <af:setActionListener from="#{false}"
    to="#{UserState.searchFirstTime}"/>
    </af:commandButton>
    </af:panelButtonBar>
    </af:panelGroup>
    </f:facet>
    </af:panelForm>
    <af:table value="#{bindings.OeOrderHeadersView.collectionModel}"
    var="row"
    rows="#{bindings.OeOrderHeadersView.rangeSize}"
    first="#{bindings.OeOrderHeadersView.rangeStart}"
    emptyText="#{bindings.OeOrderHeadersView.viewable ? 'No rows yet.' : 'Access Denied.'}"
    binding="#{backing_TestDDPUD.table1}" id="table1"
    rendered="#{UserState.searchFirstTime == false}">
    <af:column sortProperty="OrderNumber" sortable="false"
    headerText="#{bindings.OeOrderHeadersView.labels.OrderNumber}"
    binding="#{backing_TestDDPUD.column1}" id="column1">
    <af:commandLink text="#{row.OrderNumber}"
    binding="#{backing_TestDDPUD.commandLink1}"
    action="#{backing_TestDDPUD.commandLink1_action}"
    useWindow="true" partialSubmit="true"
    windowHeight="200" windowWidth="500"
    id="commandLink1"/>
    </af:column>
    <af:column sortProperty="SoldToOrgId" sortable="false"
    headerText="#{bindings.OeOrderHeadersView.labels.SoldToOrgId}"
    binding="#{backing_TestDDPUD.column2}" id="column2">
    <af:inputText value="#{row.SoldToOrgId}"
    required="#{bindings.OeOrderHeadersView.attrDefs.SoldToOrgId.mandatory}"
    columns="#{bindings.OeOrderHeadersView.attrHints.SoldToOrgId.displayWidth}"
    binding="#{backing_TestDDPUD.inputText2}"
    id="inputText2">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.OeOrderHeadersView.formats.SoldToOrgId}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="OrderTypeId" sortable="false"
    headerText="#{bindings.OeOrderHeadersView.labels.OrderTypeId}"
    binding="#{backing_TestDDPUD.column3}" id="column3">
    <af:inputText value="#{row.OrderTypeId}"
    required="#{bindings.OeOrderHeadersView.attrDefs.OrderTypeId.mandatory}"
    columns="#{bindings.OeOrderHeadersView.attrHints.OrderTypeId.displayWidth}"
    binding="#{backing_TestDDPUD.inputText3}"
    id="inputText3">
    <f:convertNumber groupingUsed="false"
    pattern="#{bindings.OeOrderHeadersView.formats.OrderTypeId}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="RequestDate" sortable="false"
    headerText="#{bindings.OeOrderHeadersView.labels.RequestDate}"
    binding="#{backing_TestDDPUD.column4}" id="column4">
    <af:inputText value="#{row.RequestDate}"
    required="#{bindings.OeOrderHeadersView.attrDefs.RequestDate.mandatory}"
    columns="#{bindings.OeOrderHeadersView.attrHints.RequestDate.displayWidth}"
    binding="#{backing_TestDDPUD.inputText5}"
    id="inputText5">
    <f:convertDateTime pattern="#{bindings.OeOrderHeadersView.formats.RequestDate}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="OrderedDate" sortable="false"
    headerText="#{bindings.OeOrderHeadersView.labels.OrderedDate}"
    binding="#{backing_TestDDPUD.column5}" id="column5">
    <af:inputText value="#{row.OrderedDate}"
    required="#{bindings.OeOrderHeadersView.attrDefs.OrderedDate.mandatory}"
    columns="#{bindings.OeOrderHeadersView.attrHints.OrderedDate.displayWidth}"
    binding="#{backing_TestDDPUD.inputText6}"
    id="inputText6">
    <f:convertDateTime pattern="#{bindings.OeOrderHeadersView.formats.OrderedDate}"/>
    </af:inputText>
    </af:column>
    </af:table>
    </af:panelPage>
    </h:form>
    </afh:body>
    </afh:html>
    </f:view>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_TestDDPUD-->
    </jsp:root>
    thanks,
    lavanya

  • Call appModule function inside a managed bean?

    How can I call an Application Module public function from a managed bean?

    FacesContext ctx = FacesContext.getCurrentInstance();
    ectx = ctx.getExternalContext();
    //Ask the container who the user logged in as
    _userName = ectx.getRemoteUser();
    // 1. Access the FacesContext
    FacesContext fc = FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context, here you must change to name of your AppModule name
    DCDataControl dc = bc.findDataControl("AppModuleDataControl");
    // 5. Access the application module data provider
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    // 6. Cast the ApplicationModule to its client interface
    appModule = (AppModuleImpl)am;
    // 7. Call a method on the client interface
    appModule.myMetod();

  • Filter data in function of the logged user

    Hi,
    I don't and I can't use ADF security for my current project but I need an authentication system.
    So I created a simple managed bean (session scope) with current user information (username, roles, ...).
    The problem is that displayed data must be filtered in function of the user (and his roles).
    How can I do to access my user information in my application module?
    I think that the easiest solution would be to access directly my managed bean in my application module but I don't know how to do that.
    As I said I can't use ADF security so I don't have access to getUserData() & getUserRoles()...
    Do you have any idea?
    Thanks in advance!

    There is one possibility of which I can think of.
    1 Create a package in your database: e.g.
    create or replace package PCK_LOGIN
    as
    c_user_id varchar2(50);
    procedure set_user_id(pi_user_id in varchar2(50)
    as
    begin
    c_user_id := pi_user_id;
    end;
    function get_user_id
    as
    begin
    return c_user_id;
    end;
    end;Then create a method in your application module to call set_user_id.
    After you have the user id in your bean you need to call this method.
    Now the user id is known in the database (this is session dependent!)
    and you can user M_LOGIN.get_user_id in your views and view objects.
    To access the application module in your bean you can use the code
        private AppModule getAppModule(String dataControl) {
            // 1. Access the FacesContext
            FacesContext fc = FacesContext.getCurrentInstance();
            // 2. Create value binding for the #{data} EL expression
            ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
            // 3. Evaluate the value binding, casting the result to BindingContext
            BindingContext bc = (BindingContext)vb.getValue(fc);
            // 4. Find the data control by name from the binding context
            DCDataControl dc = bc.findDataControl(dataControl);
            // 5. Access the application module data provider
            ApplicationModule am = (ApplicationModule)dc.getDataProvider();
            // 6. Cast the ApplicationModule to its client interface
            AppModule appMod = (AppModule)am;
            return appMod;
        }You can also do a variation without the database. You can also just set a private variable in your application module in the same way as described above.

  • Nested object property in a form?

    Hi,
    I have a problem with nested object property in a form; the nested property could be business.address.zipcode, however, the Flex data binding doesn't support the "." operator. Any advice/hint/code sample will be greatly appreciated.

    It does support the dot operator, there are several examples below:
    http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_4.html
    Have you tried? What problems did you have?

  • Execute application module method automatically from uix page

    Hi,
    We are developping an application using Jheadstart 10.1.2.2 (build 32) with UIX pages as a view.
    We have build a custom method on our application module class that creates and saves in a directory a chart in function of a parameter we pass to this method.
    We would like to execute this method every time we acces a form page since this pages has to show the chart that our method creates. We would like to know if it is possible to execute this method automatically every time we acces this form page without having to press a button each time.
    Thanks in advanced.
    Xavier

    Xavier,
    I am not sure UIX works as JSPX and JHS 10.1.2 as 10.1.3, but that is what I would do if I wanted to execute a method on page load:
    1. Create a new managed bean(MyBean) in your faces-config which implements oracle.adf.controller.v2.PagePhaseListener interface
    2. Go to the pagedef file of your page, right click it in structure pane and set the controller class to 'MyBean'
    3. in MyBean and in beforePhase() method access App Module and call your function [see 4]. I quote this from ADF Dev.Guide 10.1.3 for how you can get App Module and call your function on it:
    // 1. Access the FacesContext
    FacesContext fc = FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context
    DCDataControl dc = bc.findDataControl("SRServiceDataControl");
    // 5. Access the application module data provider
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    // 6. Cast the ApplicationModule to its client interface
    SRService service = (SRService)am;
    // 7. Call a method on the client interface
    service.doSomethingInteresting();
    4. Check the phase and call your function in beforePhase method of your MyBean (implementing PagePhaseListener)
    public void beforePhase(PagePhaseEvent event) {
    FacesPageLifecycleContext ctx =(FacesPageLifecycleContext)event.getLifecycleContext();
    if (event.getPhaseId() == MY_DESIRED_PHASE) service.doSomethingInteresting();
    Probably, there is a shortcut to all these, or an alternative approach, which I myself will be happy to know about.

  • AM Pooling Problem

    Hi ,
    I want to test how the pooling and session management works .So for that, i am setting the AM pooling to false so that i get only one instance my application module class.
    //Setting of ampooling for my application module :
    jbo.ampool.doampooling     false
    My application module class :
    public class AbstractServiceImpl extends ApplicationModuleImpl {
    * This is the default constructor (do not remove).
    static int idProducer = 0;
    private int amId;
    public AbstractServiceImpl() {
    amId = ++idProducer;
    System.out.println("AM with ID " + amId + " is being created");
    public AuthorRegistrationViewImpl getAuthorRegistrationView() {
    return (AuthorRegistrationViewImpl)findViewObject("AuthorRegistrationView");
    I am calling the above getAuthorRegistrationView() in backing bean from my jsp page.My submit button on the jsp page is binded to checkIfUserExists() method on my backing bean . Each time i refresh the jsp page i get a new instance of my application module class :
    In this test case i refreshed my page 8 times. I got 8 instances of my application module class.
    Below is my backing bean :
    public class RegistrationBean {
    public boolean newUserFlag=false;
    public boolean registeredUserFlag=false;
    public RegistrationBean() {
    public void checkIfUserExists(ActionEvent ae){
    String emailValue=(String)ADFUtils.getBoundAttributeValue(EMAIL_ATRIBUTE_NAME);
    newUserFlag=true;
    FacesContext fc = FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context
    DCDataControl dc = bc.findDataControl("AbstractServiceDataControl");
    // 5. Access the application module data provider
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    // 6. Cast the ApplicationModule to its client interface
    AbstractServiceImpl service = (AbstractServiceImpl)am;
    System.out.println("Message from client: The AM with id "+
    service.getAmId() + " is in use");
    Below are my debug messages:
    AM with ID 1 is being created
    AM with ID 2 is being created
    Message from client: The AM with id 2 is in use
    AM with ID 3 is being created
    Message from client: The AM with id 3 is in use
    AM with ID 4 is being created
    Message from client: The AM with id 4 is in use
    AM with ID 5 is being created
    Message from client: The AM with id 5 is in use
    AM with ID 6 is being created
    Message from client: The AM with id 6 is in use
    AM with ID 7 is being created
    Message from client: The AM with id 7 is in use
    AM with ID 8 is being created
    Message from client: The AM with id 8 is in use
    How do i set the ampooling to use only one instance of my am ?

    My understanding is, when you set doampooling to false, you're not only telling the ADF engine to not use AM pooling, you're also turning off "session affinity" which implies an AM is created for every request. To take a quote from the Fusion 11g guide:
    The application module pool makes a best effort to keep an application module
    instance "sticky" to the current data control whose pending state it is managing. This is
    known as maintaining user session affinity. The best performance is achieved if a data
    control continues to use exactly the same application module instance on each request,
    since this avoids any overhead involved in reactivating the pending state from a
    persisted snapshot.
    Take a look at the following section 37 in the Fusion 11g guide:
    http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/toc.htm
    However please note I'm not an expert on the state management functionality, so hopefully others will be able to verify what I've said here.
    Hope this helps.
    CM.

  • Best way to lay this out?

    I have a component that will hold a Tree. In that tree are
    certain types of Objects, called 'JReport' objects. Whenever a
    JReport Object is clicked, i want to notify a bunch of different
    components. Some of these have the same parent as the Tree, but
    most do not.
    What is the best way to design this? I want it to be as
    'black-box' as possible, so no passing objects around if i can help
    it. Any suggestions? thanks!

    "peteandrus" <[email protected]> wrote in
    message
    news:ggfvkj$sje$[email protected]..
    >I have a component that will hold a Tree. In that tree
    are certain types of
    > Objects, called 'JReport' objects. Whenever a JReport
    Object is clicked, i
    > want
    > to notify a bunch of different components. Some of these
    have the same
    > parent
    > as the Tree, but most do not.
    >
    > What is the best way to design this? I want it to be as
    'black-box' as
    > possible, so no passing objects around if i can help it.
    Any suggestions?
    > thanks!
    The Observer pattern is a good one for this. Luckily, Flex's
    binding
    architecture already implements this pattern. Create a model
    object that
    you change a property of based on what object has been
    clicked, then bind
    all the views to that property.
    HTH;
    Amy

  • Can't find javax.faces.context.FacesContext

    Hi,
    I have strange problem since morning. I am using Jdeveloper 10.1.3 ADF BC
    I have been using the below code successfully. But today all of a sudden everything is pointing to the wrong import
    // 1. Access the FacesContext
    FacesContext fc = javax.faces.context.FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context
    DCDataControl dc = bc.findDataControl("AppModuleDataControl");
    For eg: FacesContext instead of fetching from javax.faces.context is getting FacesContext from com.sun.Faces
    DCIteratorBinding is going to oracle.jbo.uicli.binding.JUIteratorBinding instead of oracle.adf.model.binding even if i have imported it in the class. Should i start all over again.
    Please Help.
    Thanks in advance

    ADF BC isn't relevant here. However JSF is. What JSF component set are you using? Pure JSF components or ADF Faces?
    I suggest (or guess) what's happened is at some point you were using JSF only components, and the project was configured to use the pure JSF classes. However at some point you've brought in an ADF Faces component as well, and now its switched over to using the super ADF Faces classes instead.
    Does this make sense?
    Regards,
    CM.

  • SelectInputText With AutoSubmit, does not submit when used with LOV.

    Hi,
    I am using ADF with ADFBC (Jdeveloper 10.1.3.3). I have a selectinputText (With AutoSubmit = true and immediate = true) component that links to a LOV dialog. When I enter values by hand and navigate out of SelectInputText, it submits the form and everything works well. But When I choose to use LOV, although its value is changed, it does not submit the form. I tried on Return Listener to set its value with no avail. I tried field.setSubmittedValue(null) and field.setValue, field.resetValue, But I couldn't get the same behaviour when I enter values by hand. So my problem is When return from LOV selectinputText does not submit the form. How can I have the form submitted when returned from LOV? Any help is appreciated.
    Best Regards,
    Salim

    Well I was a bit to impatient to create a test case and wait what might come out. So I investigated a bit and found out:
    The code in my managed bean for the value change listener is executed, when I change the field content directly. There is code placed like this:
    public void invoiceAddressPartnerNrChange(ValueChangeEvent valueChangeEvent) {
    int no = (Integer)this.getEditInvoiceAddressPartnerNo().getValue();
    //valueChangeEvent.getNewValue() maybe use this in future...
    this.getEditInvoiceAddressPartnerId().resetValue();
    AttributeBinding ab =
    (AttributeBinding)getBindings().getControlBinding("AllPartnersInvoiceAddressId");
    int id;
    // 1. Access the FacesContext
    FacesContext fc = FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context
    DCDataControl dc = bc.findDataControl("HdsServiceDataControl");
    // 5. Access the application module data provider
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    // 6. Cast the ApplicationModule to its client interface
    HdsServiceImpl service = (HdsServiceImpl)am;
    // 7. Call a method on the client interface
    id = service.getPartnerId(no);
    //return "SomeNavigationRule";
    ab.setInputValue(id);
    this.getEditInvoiceAddressPartnerId().setValue(id);
    But this method will NOT be executed when the field content is changed by the LOV's returning value.
    So I searched for another method and found the return listener of the field to be adequate. There I placed similar code by use of the return value:
    public void test(ReturnEvent returnEvent) {
    Object o = returnEvent.getReturnValue();
    int no = Integer.parseInt(o.toString());
    this.getEditInvoiceAddressPartnerId().resetValue();
    this.getEditInvoiceAddressPartnerNo().resetValue();
    AttributeBinding ab = (AttributeBinding)getBindings().getControlBinding("AllPartnersInvoiceAddressId");
    int id;
    // 1. Access the FacesContext
    FacesContext fc = FacesContext.getCurrentInstance();
    // 2. Create value binding for the #{data} EL expression
    ValueBinding vb = fc.getApplication().createValueBinding("#{data}");
    // 3. Evaluate the value binding, casting the result to BindingContext
    BindingContext bc = (BindingContext)vb.getValue(fc);
    // 4. Find the data control by name from the binding context
    DCDataControl dc = bc.findDataControl("HdsServiceDataControl");
    // 5. Access the application module data provider
    ApplicationModule am = (ApplicationModule)dc.getDataProvider();
    // 6. Cast the ApplicationModule to its client interface
    HdsServiceImpl service = (HdsServiceImpl)am;
    // 7. Call a method on the client interface
    id = service.getPartnerId(no);
    //return "SomeNavigationRule";
    ab.setInputValue(id);
    this.getEditInvoiceAddressPartnerId().setValue(id);
    Since this method is executed, my calulation works both ways: Directly entered values and values coming back from the LOV.
    Maybe this is kind of trivial and my code is a bit crappy, but it is a solution.
    What I don't like is the redundance in the code I needed to implement twice..

  • Cast error trying to access tree binding

    JDeveloper version 11.1.2.1.0
    java.util.ArrayList cannot be cast to oracle.jbo.uicli.binding.JUCtrlHierBinding
    Hi All
    I'm using code from ADF Code Corner (http://www.oracle.com/technetwork/developer-tools/adf/learnmore/78-man-expanding-trees-treetables-354775.pdf) to try and programmatically set the tree node disclosure level when the page is initially rendered. The tree's DisclosedRowKeys property is set to #{viewScope.FieldPickerHandler.newDisclosedTreeKeys}. The code for the handler method that's causing the problem is below. First you can see that I have commented out Frank's original code on lines 5, 6 & 8 because for some reason this did not find the tree component (always returned null). So instead I have set the tree component's Binding property to #{viewScope.FieldPickerHandler.jsfTree} to make the component instance available in the handler and this seems to work. However when the code hits line 16 I get the class cast exception at the head of this post.
    One significant variation from the Code Corner example is that my tree is based on a POJO model that is populated programmatically from a VO (as posted by Lucas Jellema http://technology.amis.nl/blog/2116/much-faster-adf-faces-tree-using-a-pojo-as-cache-based-on-read-only-view-object-showing-proper-leaf-nodes-again) hence my root node set, and each node's child set, is declared as "List<FieldPickerNode> nodes = new ArrayList<FieldPickerNode>();".
    Does the way the POJO tree is constructed make it incompatible with the Code Corner node expansion approach? Can anyone suggest how I can modify my handler bean code to work with the POJO tree?
    Thanks
    Adrian
    PS The tree's Value property is set to #{viewScope.FieldPickerHandler.treemodel} where treemodel is a managed property of the bean - I guess this mean my tree is not ADF-bound?
    1 public RowKeySetImpl getNewDisclosedTreeKeys() {
    2 if (newDisclosedTreeKeys == null) {
    3 newDisclosedTreeKeys = new RowKeySetImpl();
    4
    5// FacesContext fctx = FacesContext.getCurrentInstance();
    6// UIViewRoot root = fctx.getViewRoot();
    7 //lookup thetree component by its component ID
    8// RichTree tree = (RichTree)root.findComponent("t1");
    9 //if tree is found ....
    10 if (jsfTree != null) {
    11 //get the collection model to access the ADF binding layer for
    12 //the tree binding used. Note that for this sample the bindings
    13 //used by the tree is different from the binding used for the tree
    14 //table
    15 CollectionModel model = (CollectionModel)jsfTree.getValue();
    16 JUCtrlHierBinding treeBinding = (JUCtrlHierBinding)model.getWrappedData();
    Edited by: blackadr on 03-Nov-2011 17:56

    Hello Frank et al
    Still struggling valiantly to create a POJO tree that uses the ADF binding layer. Rather than referencing the treemodel directly from the component I have now added a method to my model class that returns the set of root nodes as an ArrayList:
    public List<FieldPickerNode> getRootNodes() {
    if (treemodel == null) {
    treemodel = initializeTreeModel();
    return rootNodes;
    and my FieldPickerNode class also now has a method to return its children as an ArrayList. The model class is managed in view scope. So I drag the rootNodes collection from the Data Controls panel into my panel collection and get the option to create it as an ADF tree. Great. I add the method to get the children as an accessor and the bindings end up looking like this:
    <iterator Binds="root" RangeSize="25" DataControl="FieldPickerModel" id="FieldPickerModelIterator"/>
    <accessorIterator MasterBinding="FieldPickerModelIterator" Binds="rootNodes" RangeSize="25"
    DataControl="FieldPickerModel" BeanClass="view.picker.FieldPickerNode" id="rootNodesIterator"/>
    <tree IterBinding="rootNodesIterator" id="rootNodes">
    <nodeDefinition DefName="view.picker.FieldPickerNode" Name="rootNodes0">
    <AttrNames>
    <Item Value="nodeID"/>
    </AttrNames>
    <Accessors>
    <Item Value="children"/>
    </Accessors>
    </nodeDefinition>
    </tree>
    The tree component looks like this:
    <af:tree value="#{bindings.rootNodes.treeModel}" var="node"
    selectionListener="#{bindings.rootNodes.treeModel.makeCurrent}"
    rowSelection="single" id="t1">
    <f:facet name="nodeStamp">
    <af:outputText value="#{node}" id="ot1"/>
    </f:facet>
    </af:tree>
    To my untrained eye this all seems to look ok but when I run the page I get two null pointer errors in the browser and a couple thousand lines of repeated stack in the log viewer. In the early stages of the log there's a message "<BeanHandler> <getStructure> Failed to build StructureDefinition for : view.picker.FieldPickerModel" which I feel can't be good but is in the depths of the framework so difficult for me to debug (am in the process of requesting the ADF source). I've shown the message below with a few lines of context either side.
    Can you think of any other lines of enquiry I can follow to progress this? For example are there other attributes or methods that I need to add to my tree model classes in order to support the ADF binding?
    For background, the reason I started pursuing the POJO tree in the first place was because for large hierarchies the VO driven tree is unacceptably slow given that it fires SQL for each individual node disclosure. Linking the tree model directly to the component demonstrates just how quick the POJO approach is but I would like to have it go through the ADF bindings so I have more scope to customise the tree behaviour.
    Any pointers or help you (or anyone) can give would be very much appreciated.
    Adrian
    <ADFLogger> <end> Refreshing binding container
    <DCExecutableBinding> <refreshIfNeeded> [40] DCExecutableBinding.refreshIfNeeded(338) Invoke refresh for :rootNodesIterator
    <DCIteratorBinding> <refresh> [41] DCIteratorBinding.refresh(4438) Executing and syncing on IteratorBinding.refresh from :rootNodesIterator
    <ADFLogger> <begin> Instantiate Data Control
    <BeanHandler> <getStructure> Failed to build StructureDefinition for : view.picker.FieldPickerModel
    <MOMParserMDS> <parse> [42] MOMParserMDS.parse(226) No XML file /view/picker/picker.xml for metaobject view.picker.picker
    <MOMParserMDS> <parse> [43] MOMParserMDS.parse(228) MDS error (MetadataNotFoundException): MDS-00013: no metadata found for metadata object "/view/picker/picker.xml"
    <DefinitionManager> <loadParent> [44] DefinitionManager.loadParent(1508) Cannot Load parent Package : view.picker.picker
    <DefinitionManager> <loadParent> [45] DefinitionManager.loadParent(1509) Business Object Browsing may be unavailable

  • Flex SDK error - ImportRecord cannot be cast to DefineFont

    Hello, I'm using the FlexSDK, tried both stable and latest version from svn.
    Trying to Embed a source file into actionscript that is a swf containing an ImportRecord2 field that
    pulls in a font from an external swf to it.
    Gives this error message, works fine if the font is included manually.
    Error: Unable to create source hmt_test_asset.: flash.swf.types.ImportRecord cannot be cast to flash.swf.tags.DefineFont
    [Embed(source='../resources/test.swf')]
    Is this documented and intended behavior?  What could be some possible workarounds for this?
    If this is a bug, do I need to get the smallest possible swf reproducing the error?
    Thanks,
    Robert Peters

    Please file a bug with a small test case.
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui

  • Flex spark dataGrid gridColumn itemrenderer binding bug

    I hava a TextInput within mx DataGrid gridColumn itemrenderer and binding its text to {data.f1} ,
    when I set DataGrid dataProvider column (0,0) to "value1" by actionsript code,
    it will update "value1" to TextInput field.
    But if I change to spark DataGrid, TextInput Text won't be changed.
    Please see below two samples, when user click "set var" button, it set dataProvider column (0,0) to "value1",
    sample1 is in mx comopent, it works fine and will update "value1" to TextInput Text.
    sample2 is in spark component, it did not work.
    anyone can help for spark component ?
    many thanks.
    *** sample1 (mx componet): ***
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    minWidth="955" minHeight="600"
      layout="absolute">
    <mx:Button x="235" y="52" label="set var" click="setVar()"/>
    <mx:DataGrid id="grid_1" dataProvider="{ia_row}" x="25" y="52">
      <mx:columns>
       <mx:DataGridColumn dataField="f1" headerText="Column 1">
        <mx:itemRenderer>
         <fx:Component>
          <mx:TextInput text="{data.f1}" width="95%"/>
            </fx:Component>
        </mx:itemRenderer>    
       </mx:DataGridColumn>
       <mx:DataGridColumn dataField="f2" headerText="Column 2"></mx:DataGridColumn>
      </mx:columns>
    </mx:DataGrid>
    <fx:Script>
      <![CDATA[
       import mx.collections.ArrayCollection;
       import mx.events.FlexEvent;
       [Bindable]
       private var ia_row:ArrayCollection = new ArrayCollection([
        {f1:"a1", f2:"b1"},
        {f1:"a2", f2:"b2"}
       private function setVar():void{
        var t_row:Object = ia_row.getItemAt(0);
        t_row.f1 = "value1";
        ia_row.setItemAt(t_row, 0);
      ]]>
    </fx:Script>
    </mx:Application>
    *** sample2 (spark componet): ***
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    minWidth="955" minHeight="600"     
    >
    <s:Button x="267" y="94" label="set var" click="setVar()"/>
    <s:DataGrid id="grid_1" x="55" y="94" width="204" height="139" dataProvider="{ia_row}">
      <s:columns>
       <s:ArrayList>
        <s:GridColumn dataField="f1" headerText="Column 1" width="120">
         <s:itemRenderer>
          <fx:Component>
           <s:GridItemRenderer>       
            <s:TextInput text="{data.f1}" width="95%"/>
             </s:GridItemRenderer>
          </fx:Component>
         </s:itemRenderer>    
        </s:GridColumn>
        <s:GridColumn dataField="f2" headerText="Column 2"></s:GridColumn>
       </s:ArrayList>
      </s:columns>
    </s:DataGrid>
    <fx:Script>
      <![CDATA[
       import mx.collections.ArrayCollection;
       import mx.events.FlexEvent;
       [Bindable]
       private var ia_row:ArrayCollection = new ArrayCollection([
        {f1:"a1", f2:"b1"},
        {f1:"a2", f2:"b2"}
       private function setVar():void{
        var t_row:Object = ia_row.getItemAt(0);
        t_row.f1 = "value1";
        ia_row.setItemAt(t_row, 0);
      ]]>
    </fx:Script>
    </s:Application>

    sir, I think it does not send CHANGE event to dataGrid, so my suggestion is following:
    private function setVar():void{
        var t_row:Object = ia_row.getItemAt(0);
        Alert.show(t_row.f1);
        t_row.f1 = "value1";
        ia_row.setItemAt(t_row, 0);
        ia_row.refresh();//it is used to dispatch Event if dataprovider was changed.

  • Oracle.jbo.uicli.binding.JUIteratorBinding cannot be cast to oracle.adf.

    HI ,
    I'm using ADF 11g,
    I'm working on individual work space. i have used oracle.adf.model.binding.DCControlBinding in my bean class and working fine .Now one day before i have taken svn version repository project and started working .I made simple jspx with adf table and tool bar button such as Add. When i fire add button i'm calling a method in bean class.
    public String createRecord() {
    // Add event code here... bank_add
    System.out.println("-- create record --");
    BindingContainer bindings2 = ADFUtils.getBindingContainer();
    DCControlBinding dcc = (DCControlBinding)bindings2.get("XbtBankSettlementVOIterator");
    return "banksettlement_add";
    surprisingly i got this error.when my fellow colleague is using same svn repository project and using oracle.adf.model.binding.DCControlBinding it is working fine.
    but why i'm getting this error below.i have followed the same steps to create View Object and Entity Object as previous .
    <ActionListenerImpl><processAction> java.lang.ClassCastException: oracle.jbo.uicli.binding.JUIteratorBinding cannot be cast to oracle.adf.model.binding.DCControlBinding
    javax.faces.el.EvaluationException: java.lang.ClassCastException: oracle.jbo.uicli.binding.JUIteratorBinding cannot be cast to oracle.adf.model.binding.DCControlBinding
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.ClassCastException: oracle.jbo.uicli.binding.JUIteratorBinding cannot be cast to oracle.adf.model.binding.DCControlBinding
         at com.agile.xb.view.managed.BankSettlementDtlBean.createRecord(BankSettlementDtlBean.java:32)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
         ... 51 more
    thanks in advance

    Hi Frank,
    I know that JUIteratorBinding is taking ,but how can i change and where could i find . I have import operation binding in my bean and creation of VO and EO object time as i did noraml way .
    sorry can i get some more information.
    thanks in advance .

Maybe you are looking for