ADF UIX - programmatically deleting rows

Hi gang
I'm attempting to programmatically delete rows from an exposed VO client-method as follows:
public void deleteRecord(String cesId) {
  ApplicationModule am = this.getApplicationModule();
  ViewObject voCes = am.findViewObject("ClinicalDataElementSetsView1");
  ViewObject voDcv = am.findViewObject("DacCesView1");
  Object [] keyValues = new Object[1];
  keyValues[0] = cesId;
  Row[] rowsCes = voCes.findByKey(new Key(keyValues), 1);
  Row deleteRowCes = rowsCes[0];
  voCes.setCurrentRow(deleteRowCes);
  voCes.removeCurrentRow();
  Row currentRowDcv = voDcv.getCurrentRow();
  voDcv.removeCurrentRow();  
  am.getTransaction().commit();
}However when requerying the UIX screen that shows the relating data, the records are still there? What am I doing wrong? Should I be calling voCes.removeCurrentRowFromCollection() instead?
Any help appreciated.
Cheers,
CM.
PS. JDev 10.1.2

I got around this by retreiving the DBTransaction and executing a SQL Delete statement on the data.

Similar Messages

  • ADF UIX - confirm delete via javascript

    Hi <once again>
    I have an UIX web page with a delete button as follows:
    <submitButton text="Delete" model="${bindings.Delete}" id="Delete1" event="action" onClick="javascript:confirmDelete()"/>
    When the user clicks the button the following javaScript fires:
    <script>
    <contents>
    function confirmDelete()
    return confirm("Okay to delete record?");
    </contents>
    </script>
    It's my understanding if the user clicks the delete button, then clicks the "cancel" button in the javascript confirmation, the function should return false and the delete operation will not occur.
    However in testing this, clicking on either option in the javascript confirmation results in the delete executing.
    What am I doing wrong?
    My environment is JDev 9.0.5.2.
    Cheers,
    CM.

    Hi Rade,
    just extend your event handler for the "Delete" event:
        <event name="action" source="Delete0">
          <compound>
            <invoke method="doIt" javaType="oracle.jbo.uicli.binding.JUCtrlActionBinding" instance="${bindings.Delete}"/>
            <invoke method="doIt" javaType="oracle.jbo.uicli.binding.JUCtrlActionBinding" instance="${bindings.Commit}"/>
          </compound>
        </event>Regards,
    Georg

  • Display CLOB value in multiple rows in ADF UIX

    Hi,
    I have an ADF UIX application that uses data that are stored in a CLOB column in an Oracle Database.
    The table data is presented in a simple table in page1.uix, I use BC4J for accessing the Database and Oracle JDeveloper 9.0.5.2.
    The problem is that the CLOB data appear properly (meaning the rows appear OK) only in a frame (messageTextInput element) of a predefined size and if I change the element into a styledText or a formattedText the frame will not appear, but all the CLOB characters appear in a single row.
    Does anyone know how I can present the CLOB text data in a UIX page, without having a frame around the text, and at the same time keep the CLOB text in multiple rows?

    There's no completely trivial way. You'd have to do a bit of extra processing of your CLOB data. The most straightforward work to do is to convert "\n" into "<br>", and then pass that into a <formattedText>.

  • Making a delete commit automatically with ADF BC, Struts and ADF UIX

    I'm trying to create a delete action that commits to the database automatically using ADF Business Components, Struts and ADF UIX.
    I have a browse page from which the user can view all records in the table, and perform edit, create and delete actions on the data.
    When the user selects a record and clicks edit they are taken to a screen where they can amend the details of that record. Create works in a similar way, but the create action on the view object is invoked before taking the user to the edit page (this is done by linking the browse page to an ADF DataAction (bound to Create) on the Struts page flow diagram, and then linking the ADF DataAction to the edit page).
    When the user clicks submit on the edit page, the container follows a forward from the edit page to an ADF DataAction bound to the Commit method, and then from there a forward back to the browse page.
    This seems to work fine for edit and create, but when I try to do something similar for delete, it behaves unpredictably - sometimes the delete is committed to the database, sometimes not.
    To be more specific, the way I have tried to implement the auto commit delete is as follows:
    There is a UIX submitButton on the browse page called Delete. When clicked, this button triggers an event, which is caught by an event handler inside the page. The event handler causes the UIX servlet to take a forward to an ADF DataAction bound to the Delete method on the relevant view object. It thens follows a forward from the previously mentioned DataAction to another ADF DataAction bound to the Commit method for the application module. There is then a forward leading back to the browse page.
    Has anyone else encountered similar problems?

    did you figure this out?

  • Reset of current row after commit in ADF-UIX

    Dear experts,
    I have developed an application with Oracle JDeveloper 10g and ADF-UIX using BC4J. The problem is that wherenever a commit is performed the current row for the master table is reset which causes confusion for the end user.
    Do you know how can I solve that problem?
    Thank you in advance,
    Constantine

    ... I forgot to mention that I use JDeveloper 3.1 on Windows NT4.
    About my problem, it seems that a "key" does not exist in the record (Row object) i'm using for.
    So, what really is a "key"? Is this an internal complicated number or just the values of some data fields, indicated as "Primary Key" in the table?
    If the answer is the second one, I have to say that at the really before commit of the record, the value of my primary key fields is NULL, because they are filled up by a "sequence object" created in the database (triggered by a "TRIGGER BEFORE INSERT", which calls the "sequence.nextval" SQL command).
    So, I really have the value of my primary key fields just after committing the record in the database, and would explain everything.
    But is really this the "key"?
    Thanks

  • ADF UIX doSelect override with PL/SQL fails to allow insert

    I've been trying to create an ADF-UIX web app for simple insert/update/delete of records to a table.
    The schema simply has 2 tables - master and detail where the detail pk is made up of the master id and a start date:
    CREATE TABLE master (
    id NUMBER NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    CONSTRAINT pk_master
    PRIMARY KEY ( id ));
    CREATE TABLE detail (
    id NUMBER NOT NULL,
    start_date DATE NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    description VARCHAR2 (100),
    CONSTRAINT pk_detail
    PRIMARY KEY ( id, start_date ));
    ALTER TABLE detail ADD CONSTRAINT d_m_fk FOREIGN KEY (id) REFERENCES master(id)
    This works fine when I create it in a similar manner to that described in the "Complete ADF UIX Application ..." tutorial doc.
    http://www.oracle.com/technology/products/jdev/collateral/tutorials/9050/adfuix_tut.html
    I then tried to override the ADF doSelect and doDML methods as outlined in ADF_BC_StoredProcedures.zip example app allowing me to use PL/SQL stored pkg for dml.
    http://www.oracle.com/technology/sample_code/products/jdev/10g/ADF_BC_StoredProcedures.zip
    On trying to insert a new row my web app now fails with a null pointer exception when I press the Submit button. The app calls doSelect->handleStoredProcSelect which fails to get the value of a column.
    void handleStoredProcSelect() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN test_api.do_select(?,?,?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    ## This line works, I'm guessing because the value is populated from the master record I've selected in the form ...
    st.setLong(1,getTestId().longValue());
    ##FAILS HERE st.setDate(2,getStartDate().dateValue());
    Update,delete still work ok. And if I run the test app (right click on AppModule and select Test) all works ok.
    I'm not sure why doSelect is called on an insert so I commented out:
    doSelect
    handleStoredProcSelect
    handleStoredProcLock
    compareOldAttrTo
    Web App now lets me insert as expected.
    So finally ....my question is:
    Whilst the app now works does commenting out the doSelect leave me open to problems I haven't thought off
    and if not if you did want to use it how can you allow inserts?
    Any thoughts or similar experiences appreciated ...
    Cheers
    Ian

    I've been trying to create an ADF-UIX web app for simple insert/update/delete of records to a table.
    The schema simply has 2 tables - master and detail where the detail pk is made up of the master id and a start date:
    CREATE TABLE master (
    id NUMBER NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    CONSTRAINT pk_master
    PRIMARY KEY ( id ));
    CREATE TABLE detail (
    id NUMBER NOT NULL,
    start_date DATE NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    description VARCHAR2 (100),
    CONSTRAINT pk_detail
    PRIMARY KEY ( id, start_date ));
    ALTER TABLE detail ADD CONSTRAINT d_m_fk FOREIGN KEY (id) REFERENCES master(id)
    This works fine when I create it in a similar manner to that described in the "Complete ADF UIX Application ..." tutorial doc.
    http://www.oracle.com/technology/products/jdev/collateral/tutorials/9050/adfuix_tut.html
    I then tried to override the ADF doSelect and doDML methods as outlined in ADF_BC_StoredProcedures.zip example app allowing me to use PL/SQL stored pkg for dml.
    http://www.oracle.com/technology/sample_code/products/jdev/10g/ADF_BC_StoredProcedures.zip
    On trying to insert a new row my web app now fails with a null pointer exception when I press the Submit button. The app calls doSelect->handleStoredProcSelect which fails to get the value of a column.
    void handleStoredProcSelect() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN test_api.do_select(?,?,?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    ## This line works, I'm guessing because the value is populated from the master record I've selected in the form ...
    st.setLong(1,getTestId().longValue());
    ##FAILS HERE st.setDate(2,getStartDate().dateValue());
    Update,delete still work ok. And if I run the test app (right click on AppModule and select Test) all works ok.
    I'm not sure why doSelect is called on an insert so I commented out:
    doSelect
    handleStoredProcSelect
    handleStoredProcLock
    compareOldAttrTo
    Web App now lets me insert as expected.
    So finally ....my question is:
    Whilst the app now works does commenting out the doSelect leave me open to problems I haven't thought off
    and if not if you did want to use it how can you allow inserts?
    Any thoughts or similar experiences appreciated ...
    Cheers
    Ian

  • ADF UIX Search Form - Is this a bug?

    I created a JDev 9.0.5.2 ADF UIX Search form from the component palette. I ran the page without making any changes. I chose the Find button which displayed the search criteria. I selected the delete button and then the create button, which created 2 blank records (possible bug?) in the search criteria table at the top. I selected one of the blank records and entered search criteria. I chose the submit button which changed the data in the search criteria table as it is supposed to do. I selected the other blank record, entered search criteria and submitted it. Again the data in the search criteria table was changed appropriately. I selected the delete button and the wrong record was deleted (bug?).
    Are these bugs?

    Hello,
    a similar sort of situation is created if you have a Read-only table on a page which drills down to an edit/create input form page. If you enable a create functionality you need to enable some way for the user to back out of the created record and clean up the newly created row. On the detail page (JobsEdit.do) i created a link to a custom event on the master page action (JobsView.do) like this:
    <button text="Cancel" destination="JobsView.do?event=cancelinput"/> In the Data Action class for the JobsView page i have a method defined as follows:
    public void onCancelinput(DataActionContext ctx)
        Row row = ctx.getBindingContainer().getApplicationModule().findViewObject("JobsView1").getCurrentRow();
        row.refresh(row.REFRESH_REMOVE_NEW_ROWS );
    }as a workaround, it sounds like you may need put some manual controls in place to tightly control any newly created rows which have/will not been used. I don't know if this will resolve the deleting wrong record problem...
    regards,
    Brenden

  • ADF UIX programatic data binding

    Oracle ADF UIX Developer's Guide mentions the possibility to use the UIX framework in Java, to create new objects or alter the existing ones.
    E.g. we can create a table using a construct like:
    TableLayoutBean tlb = new TableLayoutBean();
    The same document demonstrates the data binding:
    BoundValue rows = new DataBoundValue(_YOUR_NAMESPACE, YOURNAME, "rows");
    tlb.setIndexedNodeList(new DataObjectListNodeList(rows));
    For "simple" attributes using DataObject DataObjectList, etc. the procedure is clear. But what about creating a data bound table or input text:
    <table model="${bindings.EmpView1}" ... >
    <messageTextInput model="${bindings.DeptCode}"/>
    It’s easy to understand that model="${bindings.EmpView1}" or model="${bindings.DeptCode}" are equivalent to multiple attribute bindings (data, validation, read-only, etc.), but it looks that the classes/methods resolving these equivalences and linking the bean to the corresponding DCControlBinding, are not public (or maybe I was not able to find them).
    How can we obtain programmatically, in Java, the same structure as described above (in XML)? The best would be to use the same classes used when the UIX XML document is parsed to create the page description.
    It would be very nice to be able to use a structure like
    tbl.setModel( new JUCtrlRangeBinding(...) );
    txt.setModel( new JUCtrlValueBinding(...) );
    or maybe
    txt.setAttribute( "model", new TextInputModelBoundValue(...) ) etc.
    In JSF we can do something like:
    ValueBinding vb = application.createValueBinding(value);
    component.setValueBinding(attributeName, vb);
    Can we do something similar in UIX?
    Any help will be appreciated,
    thanks,
    Mircea Ionita

    Since the code is already written, it's a pity that we can't use/extend it. I don't like to say it (sorry) but I find this design choice (implement the "model" only into the XML parsing layer) a little bit strange (or maybe I don't understand... ;-) ). We should (or we are supposed to) be able to do in java everything that we can do in XML.
    I would like to find more support/help for the programmatic approach. I have the feeling that you are too focalised on "use-our-state-of-the-art-tools/wizards-to-write-the-code-for-you" and you forgot that this is not suitable for all projects. E.g. our application creates the user interface according to a layout defined by each user. To generate it, we need to use at maximum the extension mechanism and we can't simply relay on "rendered" attribute etc.
    -When should we expect this new UIX release?
    -What about the UIX controller? The Struts controller will replace it?
    -What about the source code of uixexp2-demo.jar (distributed with ADF_UIX_component_guide)?
    -Why while debugging we can't set a method/class breakpoint on UIX classes (to understand the data flow) - the stack is secret?
    Thanks

  • ADF UIX page displays data which is not in database

    Using JDeveloper 10.1.2, I created an ADF UIX browse page. It worked correctly, showing all 200 rows that were in the database table. I then used JDev SQLWorksheet to delete 190 rows, so 10 rows remain. Now when I test the browse page, it still shows all 200 rows rather than the 10 rows which are in the table. I exited and restarted the application but the problem persists. Help.

    Did you perform commit command from SQLWorksheet?
    If not, perform it!

  • Demo: From ADF UIX to JSF

    Hello,
    I am new to most of this. I am running jdev 10.1.3 preview with EA12.
    While trying to run the demo described in the article "From ADF UIX to JSF"
    found at http://www.oracle.com/technology/oramag/oracle/04-nov/o64jsf.html I got the following errors.
    Project: C:\data\sample_home\MyADFFaces\ADFFacesView\ADFFacesView.jpr
    C:\data\sample_home\MyADFFaces\ADFFacesView\public_html\empTable.jspx
    Error: Internal error, ClassNotFound creating tag parser for afh:head, class: oracle.adfimpl.view.faces.taglib.html.HtmlHeadTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.html.HtmlHeadTag
    Error: head must be terminated with /> or %> not >
    Error: Internal error, ClassNotFound creating tag parser for af:form, class: oracle.adfimpl.view.faces.taglib.core.CoreFormTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.CoreFormTag
    Error: Internal error, ClassNotFound creating tag parser for af:table, class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableTag
    Error: Internal error, ClassNotFound creating tag parser for af:tableSelectOne, class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableSelectOneTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableSelectOneTag
    Error: Internal error, ClassNotFound creating tag parser for af:commandButton, class: oracle.adfimpl.view.faces.taglib.core.nav.CoreCommandButtonTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.nav.CoreCommandButtonTag
    Here is a copy of the JSP page source that I created as I was following the text in the article
    Source starts
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/EA6/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/EA6">
    <jsp:text>
    <![CDATA[ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ]]>
    </jsp:text>
    <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <f:view>
    <html>
    <afh:head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <title>
    empTable
    </title>
    </afh:head>
    <body>
    <af:form>
    <af:table value="#{myEmployees.employees}" var="row" rows="10">
    <f:facet name="selection">
    <af:tableSelectOne text="Select Employee and click ...">
    <af:commandButton text="Show" action="showDetails"/>
    </af:tableSelectOne>
    </f:facet>
    <af:column>
    <af:outputText value="#{row.first_name}"/>
    <f:facet name="header">
    <af:outputText value="Firstname"/>
    </f:facet>
    </af:column>
    <af:column>
    <af:outputText value="#{row.last_name}"/>
    <f:facet name="header">
    <af:outputText value="Lastname"/>
    </f:facet>
    </af:column>
    <af:column>
    <af:outputText value="#{row.email}"/>
    <f:facet name="header">
    <af:outputText value="Email"/>
    </f:facet>
    </af:column>
    </af:table>
    </af:form>
    </body>
    </html>
    </f:view>
    </jsp:root>
    ---source ends ---
    Can anyone tell me how to get past this? Thank you.
    -- Jack Condon

    One immediate thing: "EA6" is in the tag library namespaces, but you're using EA12.
    In general, there've been a lot of changes between EA6 and EA12, but the changed namespace is one simple thing.

  • Populate Primary Key with DBSequence in ADF UIX page

    I have a table with a trigger, so that the primary key is populated by DBSequence. My problem is, I open a ADF UIX Input Page to create a row for my table. The field of the primary key is populated by any number but not with the logical sequence number. This number appears later, when I look at a row list. So the correct number is in the database but how can this already appear on my input page???

    You have to drop the trigger.
    Then make sure you have the Id field of your entity of type Sequence.
    Then go to your entity class and override the Create method.
      protected void create(AttributeList attributeList)
        super.create(attributeList);
        SequenceImpl s = new SequenceImpl("YOUR_DB_SEQUENCE_NAME", getDBTransaction());
        Number sVal = s.getSequenceNumber(); 
        setId(new DBSequence(sVal));

  • ADF UIX cancel/rollback button?

    Hi
    We're having a fair amount of trouble implementing a "cancel" button in our ADF UIX application (JDev 10.1.2). Apologies to those who read this same post on the ODTUG mailing list..... I'm hunting for even a hint of an answer before I approach Oracle Support.
    To set the scene, we have a parent VO "Departments" with child VOs "Dispatch" and "Agency". Dispatch also has a FK to Agency.
    We have a UIX view-screen that displays in a master-detail relationship Departments and Dispatch. From this screen the user can select the edit button, which navigates to an input-form screen to edit the currently selected Dispatch record.
    The Dispatch record has effective_from and effective_to dates. The underlying EO has a MethodValidator that ensures the from date <= the to date.
    On the edit screen we currently provide 2 buttons, Ok and Cancel. The Ok submitButton is bound to the commit binding, and navigates back to the view page via a struts link on completion.
    If the user selects the ok button and MethodValidator returns an error, the edit page's MessageBox displays the error and the user remains at the edit page until they resolve the issue.
    Our problems start with the cancel button.
    Originally we implemented the Cancel button as a simply "button" that navigated back to the view page. This worked well as the changes are never submitted, and on returning to the view page the record is presented in it's original state before being edited, thus the user's changes have been "cancelled".
    However if the user was editing an existing record, entered invalid dates that violated the MethodValidator, clicked ok and saw the MethodValidator error, then clicked cancel, on returning to the view page, any changes to the underlying record are visible including the invalid dates. I believe this occurs because the record has been submitted to the mid-tier by the ok button, and as such the changes now lies in the mid-tier.
    Given that a cancel "button" which simply navigates back to the view page is not a viable solution, we decided to investigate using a rollback button on our edit page, which then navigated back to the view page.
    There is a nasty side affect in using the rollback functionality, and has been a continuous frustration mentioned on OTN. When rollback is issued, it appears all iterators in the running application have their current row reset to the first element.
    This is a pain as in our example this results in not only the Dispatch iterator being reset to the first element, but also the parent Departments iterator, and presumably all other iterators in the application too. This would be an extreme annoyance to the user in every time they selected cancel, they would then need to navigate back to the correct Departments and Dispatch record if they wanted to make a different change.
    As such it is necessary to write some code to store the iterator positions before issuing the rollback, rolling-back, then restoring the iterator positions from the saved states.
    Luckily we found some code on OTN to do this:
    ADF - cancel button not working in input form(add new row)?
    This mechanism appeared to work, but, then, we did find one problem.
    I described at the beginning that our Dispatch VO is not only related to Departments but also Agency. To cater for this in our edit screen by including a LOV bound <messageList>, which displayed the relating Agencies for the user to select from.
    In using the pinched OTN rollback code, in the same scenario as previously, when the user edits a record, invalidates the MethodValidator after clicking ok, then clicks cancel, on returning to the view page, the field in Dispatch that represents the Agency is incorrectly showing a numeric result such as 0, 1, 2 etc. We realised that the value being shown is the previous edit screen's <messageList> internal index number representing the value selected in the list, and not the actual value itself.
    We're note sure why the OTN rollback code is causing this to occur. Though it restores the Agency iterator's position, it shouldn't result in the <messageList> index being written to the underlying Dispatch agency field, but rather the value the <messageList> index represents.
    It appears to me we're caught between a "rock and a hard-place" here. The simple solution of using a cancel "button" doesn't work when errors are raised. The complex case of using a "rollback" button doesn't work due to the problem with the <messageLists>.
    My research on OTN shows the "cancel vs rollback" button is a common frustration. Can somebody help me in providing a satisfactory "cancel" button that I can use throughout my app please?
    Many thanks in advance.
    Chris Muir

    The stack:
    Class                     Method
    UsrEcvAmpdsViewRowImpl    setAgency
    UsrEcvAmpdsViewRowImpl    setAttrInvokeAccessor
    ViewRowImpl               setAttribute
    DCDataControl             setAttributeInRow
    DCJboDataControl          setAttributeInRow
    JUCtrlValueBinding        setAttributeInRow
    JUCtrlValueBinding        setInputValue
    JUCtrlValueBinding        setInputValue
    InitModelListener         _setInputValue
    InitModelListener         _doModelUpdate
    InitModelListener         eventStarted
    AbstractPageBroker        _fireUIXRequestEvent
    AbstractPageBroker        handleRequest
    BaseUIPageBroker          handleRequest
    PageBrokerHandler         handleRequest
    UIXServlet                doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    ServletRequestDispatcher  forward
    RequestProcessor          doForward
    RequestProcessor          processForwardConfig
    RequestProcessor          process
    ActionServlet             process
    ActionServlet             doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    ServletRequestDispatcher  forward
    RequestProcessor          doForward
    RequestProcessor          processForwardConfig
    RequestProcessor          process
    ActionServlet             process
    ActionServlet             doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    EvermindFilterChain       doFilter
    ADFBindingFilter          doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    HttpRequestHandler        processRequest
    HttpRequestHandler        run
    HttpRequestHandler        run
    ReleasableResourcePooledExecutor$MyWorker run
    Thread  runAt a wild guess, InitModelListener is causing the issue, because it's the first place where we can see a setInputValue occuring?
    To make this official I've raised a TAR (4613003.992) with Oracle Support with a cut down version of our app to work through the issue.

  • BC4J delete row in a different VO

    Hi,
    I have a UIX/BC4J browse form with an "expert SQL" VO which joins several tables together, with one of the tables being the primary or driving table (ie a list of agreements which also displays customer data and personnel data from different tables). I want to have a "delete" button to delete the selected row. I understand that I can't use my custom VO, I have to have another VO based on the base entity of the table I want to delete from. I just don't have the nouse right now to understand how to take the "key" of the selected row in my custom VO and then direct the entity-based VO to delete the selected row. Am I on the right track or should I be writing a Java class to achieve what I want? (I would prefer to have a UIXML solution).
    Thanks,
    Steve

    Hey, I think I am getting the hang of this now. I managed to fix it by adding the entity to my custom VO (it was originally based only on a query) then including the primary key attribute in the VO. The UIX form was then able to delete rows from the VO, no additional coding necessary. Nice!
    Steve

  • Binding Editors not present in ADF UIX

    Hi
    I have been having some trouble with accessing both the Boolean Binding Editor and the LOV Editor from the structure window, when in design mode of an ADF UIX page.
    My bindings are present, but when I 'Edit' the binding, the only option available to me is to select the Iterator and the attribute.
    The documentation keeps telling me to select different tabs, but there aren't any!
    Anyone had this problem????
    I'm on;
    Oracle IDE     9.0.5.16.27
    Business Components Version     9.0.5.16.0
    UML Modelers Version     9.0.5.14.78
    Versioning Support     9.0.5.14.78
    WebDAV Support Version     9.0.5.14.78
    Struts Modeler Version     9.0.5.4.22
    Designer Generators Framework     9.0.5.5.71
    ADF UIX     2.2.8
    java.version     1.4.2
    java.home     C:\j2sdk1.4.2_04\jre
    java.vm.name     Java HotSpot(TM) Client VM
    java.vm.vendor     Sun Microsystems Inc.
    java.vm.version     1.4.2-b28
    user.language     en
    user.region     <no value assigned>
    user.name     chris.bell
    user.home     C:\Documents and Settings\chris.bell
    user.dir     C:\Software\Oracle\jdev9052\jdev\bin
    os.name     Windows XP
    os.version     5.1
    os.arch     x86
    http.proxyHost     <no value assigned>
    http.proxyPort     <no value assigned>
    http.nonProxyHosts     <no value assigned>
    ide.patches     
    Thanks in advance
    Chris

    the primaryclient action should pass the rowkey of the current row (${uix.current.rowKeyStr}) as a parameter. This way the server can find the corresponding row on the server in an event handler.
    see
    http://www.oracle.com/technology/products/jdev/tips/jacobi/edittable/tip_adfuixtable_edit.html

  • ADF UIX Role Based Access Control Implementation

    Hi,
    Can anybody suggest a detailed example or tutorials of how to implement a role based access control for my ADF UIX application.
    The application users can be dymanically added to specific roles (admin, Secretary, Guest). Based on the roles, they should be allowed to access only certain links or ADF entity/view operations. Can this be implemented in a centralized way.
    Can this be done using JAZN or JAAS. If so, Please provide me references to simple tutorial on how to do this.
    Thanks a lot.
    Sathya

    Brenden,
    I think you are following a valid approach. The default security in J2EE and JAAS (JAZN) is to configure roles and users in either static files (jazn-data.xml) or the Oracle Internet Directory and then use either jazn admin APIs or the OID APIs to programmatically access users, groups and Permissions (your role_functions are Permissions in a JAAS context).
    If you modelled your security infrastructure in OID than the database, an administrator would be able to use the Delegated Administration Service (DAS), as web based console in Oracle Application Server. To configure security this way, you would have two options:
    1. Use J2EE declarative security and configure all you .do access points in web.xml and constrain it by a role name (which is a user group name in OID). The benefit of this approach is that you can get Struts actions working dirctly with it because Struts actions have a roles attribute.
    The disadvantage is that you can't dynamically create new roles because they have to be mapped in web.xml
    2. Use JAAS and check Permissions on individual URLs. This allows you to perform finer grained and flexible access control, but also requires changes to Struts. Unlike the approach of subclassing the DataActionForward class, I would subclass the Struts RequestProcessor and change the processRoles method to evaluate JAAS permissions.
    The disadvantage of this approach is that it requires coding that should be done carefully not to lock you in to your own implementation of Struts so that you couldn't easily upgrade to newer versions.
    1 - 2 have the benefit of that the policies can be used by all applications in an enterprise that use Oracle Application Server and e.g. SSO.
    Your approach - as said - is valid and I think many customers will look for the database first when looking at implementing security (so would I).
    Two links that you might be interested in to read are:
    http://sourceforge.net/projects/jguard/ --> an open source JAAS based security framework that stores the user, roles and permissions in database tables similar to your approach
    http://www.oracle.com/technology/products/jdev/collateral/papers/10g/adfstrutsj2eesec.pdf --> a whitepaper I've written about J2EE security for Web applications written with Struts and JavaServer pages. You may not be able to use all of it, but its a good source of information.
    Frank

Maybe you are looking for

  • Can I use air play to mirror anything that's on the screen of my iPad

    I have the nfl gamerewind app on my iPad. I'd like to use air play to mirror the games from my iPad to my TV screen.  Is this possible? Or, is it possible to mirror the screen of my Windows 7 laptop to my TV using Apple TV? Thanks for any help, I am

  • Original filename for Smart Objects in CS6

    After processing a camera raw image in ACR, I want to open the image in CS6 as a Smart Object. Then I want to run a java script that depends on the original filename.  Where in the metadata can I find the original filename? Background:  I have a scri

  • ISE 1.2 removing stale/ all sessions

    Hi all, does somebody have an idea how to remove stale all sessions from ISE (all nodes)? I have tried to follow the document , but when logging to primary admin node (HA setup,its has all 3 functions: ADM (pri), MNT (pri), PSN) commends recommended

  • What is the best way to wrap macbook charger cable?

    I already broke one charger cord, and just got a new one, how do I keep it safe?

  • Tax Total

    Hi All, We have found three sales orders created through SB1 Interface, where we define tax (12%) for every item at row level, but when we see at the end of the document, it does not show any amount on Tax (VatSum), where that tax field at the end of