Delay in partial trigger invocation

HI
I am facing an interesting issue. I have a table and some commandtoolbar buttons for add and delete functionality. So the scenario is whenever a user selects a row in a table, buttons are enabled and he/she can perform add or delete.I have some entries in table for which add/delete shouldn't be supported.
So how i approached this issue is i have selection handler which gets the data for the selected row and checks whether the buttons should be enabled or not. It sets disabled property as true/false for buttons on the basis of row data. In buttons component i have partial trigger for this table.
Now For Example in table i have entries
Row A
Row B
say for row A add/delete buttons should be enabled, and, for row B they shouldn't.
Now, So when i select row A and then quickly switch tot row B, it takes time to refresh the button components from enabled to disabled, and for very short duration of time they are still enabled. so in that time if i click on delete. it deletes row B.
So what i get is selection handler sets the row selected as row B, but it takes time for ppr to occur. and if in that time we perform any operation, it occurs on B.
Any solutions for this??
PS: i am using 11g and backing bean scope, if these information helps.

Hi Timo,
Thanks for reply. I am actually disabling the button in selection handler.  If i have a method to first disable and then select row, still it would have same issue as partial refresh won't occur. Also i need selected row data to check whether to disable or not. I think the issue is in delay of PPR. is there any way by which we can force partial page refresh in a method??

Similar Messages

  • How to make Partial Trigger work for a SelectManyShuttle

    Hi,
    I'm developing a page for user role management. For each role, one or more menus could be assigned to it. We have 3 db table, Role, Menu and RoleMenu. RoleMenu is the intersection table.
    At UI level, I placed one editable table on the top of a page, and put a SelectManyShuttle below the table.
    I developed a backing bean for the SelectManyShuttle to get all menus and selectedMenus for the current row in the table.
    The Shuttle can display selectedMenu for the first row of the Role table, but it can't update when I select another row. It seems the partial trigger is not working.
    Below are the codes:
      <af:selectManyShuttle value="#{ pageFlowScope.RoleManagementBean.selectedValues}"
                    leadingDescShown="true" size="8"
                                  trailingDescShown="true"
                                  inlineStyle="background-color:transparent; width:100%;"
                                          binding="#{pageFlowScope.RoleManagementBean.menuSelectShuttle}">
                      <f:selectItems value="#{ pageFlowScope.RoleManagementBean.allItems}"/>
      </af:selectManyShuttle>
    * Implements the basic backing-bean mechanics to handle page with shuttle.
    * By injecting managed properties into the properties of this bean
    * you can setup the shuttle data binding declaratively.
    public class RoleManagementBean {
        String beanName = "RoleManagementBean";
        String allItemsIteratorName;
        String allItemsValueAttrName;
        String allItemsDisplayAttrName;
        String allItemsDescriptionAttrName;
        String selectedValuesIteratorName;
        String selectedValuesValueAttrName;
        List selectedValues;
        List allItems;
        private boolean refreshSelectedList = false;
        private RichSelectManyShuttle menuSelectShuttle;
        public RoleManagementBean() {
        private OperationBinding findOperationBinding(String pOperationBindingName) {
            BindingContainer bindings = ADFUtils.getBindingContainer();
            OperationBinding operation =
                bindings.getOperationBinding(pOperationBindingName);
            return operation;
         * Setter for 'allItemsIteratorName' property.
         * @param allItemsIteratorName Name of the iterator for all items in the list
        public void setAllItemsIteratorName(String allItemsIteratorName) {
            this.allItemsIteratorName = allItemsIteratorName;
         * Getter for 'allItemsIteratorName' property.
         * @return Name of the iterator to use for all items in the list
        public String getAllItemsIteratorName() {
            return allItemsIteratorName;
         * Set allItems value attribute name.
         * @param allItemsValueAttrName name of attr to use as value of all items list
        public void setAllItemsValueAttrName(String allItemsValueAttrName) {
            this.allItemsValueAttrName = allItemsValueAttrName;
         * Get allItems value attribute name.
         * @return name of attr to use as value of all items list
        public String getAllItemsValueAttrName() {
            return allItemsValueAttrName;
         * Setter for 'allItemsDisplayAttrName' property.
         * @param allItemsDisplayAttrName attr to use for display in all items list
        public void setAllItemsDisplayAttrName(String allItemsDisplayAttrName) {
            this.allItemsDisplayAttrName = allItemsDisplayAttrName;
         * Getter for 'allItemsDisplayAttrName' property.
         * @return attr to use for display in all items list
        public String getAllItemsDisplayAttrName() {
            return allItemsDisplayAttrName;
         * Setter for 'allItemsDescriptionAttrName' property.
         * @param allItemsDescriptionAttrName attrib for description in all items list
        public void setAllItemsDescriptionAttrName(String allItemsDescriptionAttrName) {
            this.allItemsDescriptionAttrName = allItemsDescriptionAttrName;
         * Getter for 'allItemsDescriptionAttrName' property.
         * @return attrib for description in all items list
        public String getAllItemsDescriptionAttrName() {
            return allItemsDescriptionAttrName;
         * Setter for 'selectedValuesIteratorName' property.
         * @param selectedValuesIteratorName name of iterator for selected values
        public void setSelectedValuesIteratorName(String selectedValuesIteratorName) {
            this.selectedValuesIteratorName = selectedValuesIteratorName;
         * Getter for 'selectedValuesIteratorName' property.
         * @return name of iterator for selected values
        public String getSelectedValuesIteratorName() {
            return selectedValuesIteratorName;
         * Setter for 'selectedValuesValueAttrName' property.
         * @param selectedValuesValueAttrName name of attr to use for selected value
        public void setSelectedValuesValueAttrName(String selectedValuesValueAttrName) {
            this.selectedValuesValueAttrName = selectedValuesValueAttrName;
         * Getter for 'selectedValuesValueAttrName' property.
         * @return name of attr to use for selected value
        public String getSelectedValuesValueAttrName() {
            return selectedValuesValueAttrName;
         * Setter for 'selectedValues' property.
         * @param selectedValues List of selected values in shuttle
        public void setSelectedValues(List selectedValues) {
            this.selectedValues = selectedValues;
         * Event handler for shuttle value change event.
         * @param event value change event
        public void refreshSelectedList(ValueChangeEvent event) {
            refreshSelectedList = true;
         * Getter for 'selectedValues' property.
         * @return List of selected values in shuttle
        public List getSelectedValues() {
            if (selectedValues == null || refreshSelectedList) {
                System.out.println("here");
                selectedValues =
                        ADFUtils.attributeListForIterator(selectedValuesIteratorName,
                                                          selectedValuesValueAttrName);
            return selectedValues;
         * Setter for 'allItems' property.
         * @param allItems list of SelectItem representing all items in available list
        public void setAllItems(List allItems) {
            this.allItems = allItems;
         * Getter for 'allItems' property.
         * @return list of SelectItem representing all items in available list
        public List getAllItems() {
            if (allItems == null) {
                allItems =
                        ADFUtils.selectItemsForIterator(allItemsIteratorName, allItemsValueAttrName,
                                                        allItemsDisplayAttrName,
                                                        allItemsDescriptionAttrName);
            return allItems;
        public void setMenuSelectShuttle(RichSelectManyShuttle menuSelectShuttle) {
            this.menuSelectShuttle = menuSelectShuttle;
        public RichSelectManyShuttle getMenuSelectShuttle() {
            return menuSelectShuttle;
    }I guess the partial trigger is not working because the binding of the shuttle is not relative to the binding of the role table.
    any help will be appreciated!
    thanks!
    Gene

    My problem is solved, after I removed the if statement at the backing bean getSelectedValues() method
    public List getSelectedValues() {
        //    if (selectedValues == null || refreshSelectedList) {
       //         System.out.println("here");
                selectedValues =
                        ADFUtils.attributeListForIterator(selectedValuesIteratorName,
                                                          selectedValuesValueAttrName);
            return selectedValues;
        }

  • Partial Trigger is not working with Panel Group Layout using ADF 11g.

    Friends,
    I have a requirment , Based on the <af:selectBooleanCheckbox> value I have to render <af:panelGroupLayout> dynamically. If the check box is checked then I have to display panel group layout otherwise not. The problem what I am facing here is Partial Trigger is not working, If I Un check the boolean box and refresh the page then I see it is working. If I don't refresh the page I am not seeing this is working as expected.
    Below is the snippet
    <af:selectBooleanCheckbox value="#{bindings.ChkBoolean.inputValue}"
    shortDesc="#{bindings.OtherOptChk.hints.tooltip}"
    id="OtherOpt" immediate="true" autoSubmit="true"
    />
    <af:panelGroupLayout id="pgl11" partialTriggers="ChkBoolean"
    rendered="#{bindings.ChkBoolean.inputValue}"">
    Am I doing anything wrong here
    Thanks in Advance

    Hi,
    I started to document common pitfalls like this. The problem has been reported last month too and is documented in here: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/oct2010-otn-harvest-183714.pdf
    Frank

  • Detail table refreshing without partial trigger!!!

    Hi,
    my Jdeveloper version is 11.1.2.3.0
    I have a master detail structure on my page and i have two weird behaviors (that i guess are related).
    I created the master detail tables in the classic way:
    I dragged the master data control and doped it on the page as an ADF table (id t1)
    Then i dragged the detail data control (from inside the master data control) and drop it as an ADF table (id t2).
    I verified that the partial trigger property of the detail table does not contain the id of the master table (t1).
    however (the first weird behavior), at run time, the detail table shows always the right information of the selected master row.
    How can this happen?
    The second weird behavior is that i have createInsert button (created by drag and drop of the createInsert operation of the dataControl) in the toolbar of the master table.
    If i create a new row and fill the required data then navigate to another row, the detail table is refreshed correctly and shows the details of the newly selected row, but if i go back (re-select) the newly created row the detail table does not refresh and still shows the detail of the previous master row!!! (furthermore, i have input date in this newly create row, so if, at this stage, i click on the calendar icon to open it, the calendar doesn't open)
    I'm i doing something wrong? or should i change any property of the tables?
    Thanks for your help

    Hi Timo,
    Thank you for your reply.
    Actually no, i didn't commit the new record at this point and this is the problem.
    If i commit the new record (using the commit button created from the commit operation of the module), the page refreshes and works correctly.
    The problem occurs if i change the selected row (and then re-selected the newly created row) before committing the changes.
    Concerning the auto PPR, do you think that deactivating it may help? and if yes, how can i deactivated for this page only?
    I tried to change the "change event policy" property of both the master and the detail iterator in the page binding from ppr to "non" but nothing changed. The detail table still refreshes, and the problem with newly created master row still appears.
    One adiitinal note: i downloaded the sample from Andrejus Baranovskis's Blog
    http://andrejusb-samples.blogspot.com/2009/03/jdevadf-sample-create-operation-for.html
    and the page is working correctly. I also created a jsf page in this project with master detail using the same method i used in my project and this pages also works correctly.
    So this means that the problem is with the verision of jdev no? but what what is it???
    Thank you again
    Edited by: 997720 on Apr 5, 2013 8:48 AM

  • ADF BC: createInsert and partial trigger

    I notice when i add a createInsert operation to my page and then the corresponding table, JDev will add a partialTrigger to the button.
    I don't see why.
    When i press the createInsert, the table should have the partialTrigger, not the createInsert button because the table should be refreshed in order to show the new row. But when i add the partialTrigger to the table, than it like an infinite loop. Table refreshes button, button refreshed table,...
    It's resolved by removing the partialTrigger from the button but i am wondering why jdev does it?
    I think it has something to do with the disabled state of the button but that does not make sense. THe same for the commit button. If you want everything to work with partialTriggers, then you have lots of buttons/tables linking to each other causing loops or does ADF notices that and takes care of it?

    Hi,
    I reproduce your case and I do not see any loop,
    about your question that why the createInsert need the partialtrigger :
    1-first of all it is because of the the disabled attribute which depends on the table
    2- Second, the table row selection is automatically partial, I mean when you click on the row partially the selected row is determind as it is done partially there is not any way
    for depended components on the table to notify about the state of the tree(changes of row or anything) so the depended component such as CreateInsert need to set the partial trigger.
    3-why the table does not need the partialtrigger at the time of drag and drop, the answer is easy because the default button that you drop on the page is not partialSubmit, so why any other depended component like Table, must have the partialtrigger?? it is only needed when the button is partialSubmit,
    I hope my answer is clear enough.
    to conclude, there is not any mistake or bug from Oracle for sure.

  • Partial trigger and circilar depedency in J dev 11g R2 ADF BC ADFRC apps.

    We have a master detail forms. Master view objects is ADF forms . Detail is table.
    We tried to prevent refresh full page when a detail record added or deleted.
    We use partial triggers. But some PPR error occurs when we tried to add new record and some PPR in table columsn to implement cascade list is triggered.
    errro log and table details as follows.
    "Target unreacehbe. identifier return null, PPR7 . pleae see server error log ..."
    Server error log is.
    SEVERE: Server Exception during PPR, #1
    java.lang.NullPointerException
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:134)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:542)
    at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:423)
    at org.apache.myfaces.trinidad.component.UIXCollection.setClientRowKey(UIXCollection.java:653)
    at org.apache.myfaces.trinidad.component.UIXCollection.setCurrencyString(UIXCollection.java:570)
    at org.apache.myfaces.trinidad.component.UIXCollection.invokeOnComponent(UIXCollection.java:1058)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1312)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1362)
    at org.apache.myfaces.trinidad.component.UIXDecorateCollection.invokeOnComponent(UIXDecorateCollection.java:121)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1312)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:188)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1312)
    at oracle.adf.view.rich.component.fragment.UIXInclude.invokeOnComponent(UIXInclude.java:123)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1406)
    at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:159)
    at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
    at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._fixClientIds(LifecycleImpl.java:900)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:366)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:165)
    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:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:421)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:421)
    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:57)
    at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
    at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:160)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
    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:2200)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[null null 03090000 ].
    at oracle.jbo.server.EntityCache.throwTooManyObjectsException(EntityCache.java:435)
    at oracle.jbo.server.EntityCache.addForAltKey(EntityCache.java:822)
    at oracle.jbo.server.EntityImpl.setAttributeValueInternal(EntityImpl.java:3668)
    at oracle.jbo.server.EntityImpl.readAttrsFromXML(EntityImpl.java:9319)
    at oracle.jbo.server.Serializer.activateEntity(Serializer.java:661)
    at oracle.jbo.server.Serializer.activateTxn(Serializer.java:555)
    at oracle.jbo.server.Serializer.activate(Serializer.java:275)
    at oracle.jbo.server.FileSerializer.activateRootAM(FileSerializer.java:256)
    at oracle.jbo.server.ApplicationModuleImpl.activateState(ApplicationModuleImpl.java:5895)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:217)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:8470)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4389)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2385)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2201)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3085)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:460)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:234)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:431)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:426)
    at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:515)
    at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:858)
    at oracle.adf.model.binding.DCBindingContainer.findDataControl(DCBindingContainer.java:1537)
    at oracle.adf.model.binding.DCIteratorBinding.initDataControl(DCIteratorBinding.java:2403)
    at oracle.adf.model.binding.DCIteratorBinding.getDataControl(DCIteratorBinding.java:2348)
    at oracle.jbo.uicli.binding.JUCtrlActionBinding.getDataControl(JUCtrlActionBinding.java:581)
    at oracle.adf.model.binding.DCInvokeAction.refresh(DCInvokeAction.java:27)
    at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3107)
    at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2759)
    at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:112)
    at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:80)
    at oracle.adf.controller.v2.lifecycle.Lifecycle$2.execute(Lifecycle.java:137)
    at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:192)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:21)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.startPageLifecycle(ADFPhaseListener.java:231)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:267)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:71)
    at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:352)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:165)
    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 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:85)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
    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.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
    at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
    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:202)
    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:3588)
    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:2200)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    <af:table value="#{bindings.ViewMisdt626_1.collectionModel}"
    var="row"
    rows="#{bindings.ViewMisdt626_1.rangeSize}"
    emptyText="#{bindings.ViewMisdt626_1.viewable ? 'No rows yet.' : 'Access Denied.'}"
    fetchSize="#{bindings.ViewMisdt626_1.rangeSize}"
    binding="#{backingBeanScope.backing_app_yeniEvrak.table11}"
    selectedRowKeys="#{bindings.ViewMisdt626_1.collectionModel.selectedRow}"
    selectionListener="#{bindings.ViewMisdt626_1.collectionModel.makeCurrent}"
    id="table11"
    inlineStyle="height:250px; width:100%;"
    width="900"
    rowSelection="single"
    partialTriggers=":::commandButton11 :::commandButton21 :::commandButton8 ::commandButton18 ::commandToolbarButton3 :::table3 :::commandButton10">
    <af:column sortProperty="GidisTuru" sortable="false"
    width="100" id="c1" headerText="Gidiş Türü" minimumWidth="50">
    <af:selectOneChoice value="#{row.bindings.GidisTuru.inputValue}"
    label="#{row.bindings.GidisTuru.label}"
    required="#{bindings.ViewMisdt626_1.hints.GidisTuru.mandatory}"
    shortDesc="#{bindings.ViewMisdt626_1.hints.GidisTuru.tooltip}"
    id="selectGidisTuru"
    autoSubmit="true"
    showRequired="true"
    partialTriggers="selectGittigiYer"
    immediate="true">
    <f:selectItems value="#{row.bindings.GidisTuru.items}"
    id="si1"/>
    </af:selectOneChoice>
    </af:column>
    <af:column sortProperty="GittigiYer" sortable="false"
    width="200" id="c2" headerText="Gittiği Yer">
    <af:selectOneChoice value="#{row.bindings.GittigiYer.inputValue}"
    label="#{row.bindings.GittigiYer.label}"
    required="#{bindings.ViewMisdt626_1.hints.GittigiYer.mandatory}"
    shortDesc="#{bindings.ViewMisdt626_1.hints.GittigiYer.tooltip}"
    immediate="false"
    partialTriggers="selectGidisTuru"
    id="selectGittigiYer" inlineStyle="width:200.0px;">
    <f:selectItems value="#{row.bindings.GittigiYer.items}"
    id="si2"/>
    </af:selectOneChoice>
    </af:column>

    I have some question about PPR .
    In our case
    Our forms main commit button is full_submit = true
    We added create insert button of detail view to the partial trigger of table.
    1. do we need to add froms main commit button to the detail table's partial trigers.
    2. is there any circular dpendecy between PPR . if we add a partial target to the table do we need to add this trigger to the columns.
    in our case the question is
    do we need to add create insert button of detail view to the partial triiger of cascade list items' partail triggers.
    Thanks.

  • Af:query search button partial trigger

    Experts,
    Having an af:query with table in Jdev 11.1.1.5 page, how can we make the table visible/invisible if the table is empty. I can put
    #{bindings.Details.estimatedRowCount > 0 }  in my table visible property, but how to put a partial trigger from the default search button in the af:query to the table
    thnks

    I donot think you will need to add a partialTrigger separately. The resultComponentId attribute of the af:Query (which should reference the results table) should take care of this .
    From the documentation http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_query.html >
    resultComponentId : ....Product teams should ensure that this value is set correctly so that the search operation triggers a partial page refresh of the componenEdited by: Sudipto Desmukh on May 8, 2012 6:48 PM

  • Partial trigger and required field

    We developed an ADF JSF application which some of field has partial trigger .
    Then we add some required field.
    when runtime when we change any partial trigger target item all field validated and "required field missing message" occurs.
    How can we prevent this behaviour ?
    why all field controlled against partial triggered items?
    is it normal?
    How can we solve this ?
    Thanks.

    Hi,
    in JDeveloper 11 the implementation has changed and the issue wont be the same in most of the cases. There also is a notion of subform that allows you to only submit the field of interest - not affecting any other field.
    Frank

  • Partial trigger not woring on the Submit button of the application panel.

    Hi,
    I am facing an issue that I am not sure if it is a framework bug. I used Submit button on the app panel and would like to hide it in some cases. I used a partial trigger for this button. But it doesn't respond to the trigger at all!. I also tried the same trigger on other buttons on the app panel, such as Done, Save, etc.. they all work as expected. Does any one know if this is as designed or a frame work bug?
    Thanks,
    Chunyang

    Hi Frank,
    Thanks for the reply. Good news, I just found out this morning after I refreshed my view that the Submit button refresh issue is resolved. Looks like ADF team was working on that bug.
    I have another question on the app panel buttons.
    My use case for this button is to use this Submit button as a Save and Close drop down, with Save As under it. The object has versions with a version navigation pull down list. When navigate to a Pending version, the buttons are like:
    [Save] [Save and Close |\/] [Cancel]
    |Save As |
    when navigate to a submitted/released version the buttons should be like:
    [Save As] [Done]
    Could you advise how I can achieve this? Currently I make [Save] [Save and Close |\/] [Cancel] invisible and [Done] to be visible for non-pending versions. I also added an additional |Save As | from actionButtonBar facet to be visible in this case, because the original |Save As | is under [Save and Close |\/] , which is not visible in this case. Not sure if it is the right approach. Now the |Save As | is on the left side of the vertical separator, instead of on the right side, since all the buttons under actionButtonBar facet are on the left side of the vertical separator. So you see the buttons like this:
    [Save As] | [Done]
    Thanks,
    Chunyang

  • Can Partial Trigger Work between Two Components Which Are in Two Pages?

    Scenario: Some output text components in page one while a SelectOneChoice and a InlineFrame are in page two. At first the resource attribute of inlineFrame was set to point to page one. When changing the value of SelectOneChoice, the values of those output text will be expected to change accordingly. I tried to make SelectOneChoice to be the trigger of those output text components, but found that SelectOneChoice can't be seen when attempt to edit the value of PartialTrigger attribute of those output text components. Then I tried to set the ID of SelectOneChoice as the value of the InlineFrame component, but failed getting the wanted result again.
    Problem: How to get a partial refreshing effect between two components that are in two different pages? Can partial trigger work in this scenario?
    Thanks for your interest!

    Hi,
    Sorry, you can't achieve that the way you're doing it. If you're using 11g, however, you could do that using regions.
    Regards,
    ~ Simon

  • How to set af:column child element as partial trigger?

    Hi all...
    I have put a check box in side <af:column> tag inside <af:table> like below:
    <af:table id="applications" var="b" value="#{YourApplicationsandProgressMPB.productBasket}"
                                  rendered="#{!YourApplicationsandProgressMPB.productBasketEmpty}"
                                  width="100%" >
    <af:column gridVisible="false" width="20%">
                                            <af:selectBooleanCheckbox id="[b]checkBox" value="#{b.selected}" autoSubmit="true" />
                                       </af:column>
    </af:table>
    I required to enable a button when any of these check bobes is selected.
    I could do everything except refreshing the form button.
    I mentioned this check box name as partial trigger but it is not refreshing the form like other elements.
    <af:panelForm partialTriggers="[b]checkBox productSelection1 ">
    I think the problem occurs because the checkbox is inside a loop. So it is assigning its own names to each checkbox like formname:0:chceckBox
    Could anybody please help me out in this?
    How can I refresh the page when any check box is selected?
    Thanks in advance....

    You posted this in the wrong forum - this is the Designer forum. Try the JDeveloper forum at JDeveloper and ADF However, I happen to have seen a blog entry today that may help. Take a look at http://www.it-eye.nl/weblog/2007/08/02/jsf-partial-page-rendering-hell/

  • Partial Trigger  in af:panelGroupLayout doesn't work

    Hi,
    Partial Trigger for below code is not working -
    I want to refresh

    user12826227 wrote:
    Hi,
    Partial Trigger for below code is not working -
    I want to refreshMore information (JDev version, use case) and code could be useful.

  • Can I set autoSubmit="true" and partial trigger in Application Def. Editor?

    Hello Expert,
    Can I set autoSubmit="true" and partial trigger or other properties through JHeadstart Application Definition Editor?
    If I have changed the layout or add item though the Def. Editor, I have to regenerate and the manually modification
    on jsff will be overridden. Any suggestion to solve this problem?
    So far I know the page generation can be disabled, however, what if I have to regenerate the definition but want
    to remain the manual modification in Jsff?
    Thanks
    Neon

    Neon,
    You can use the "Depends on Item" property in the application definition editor. You can set this property on an item, or an item region, region container.
    The items that is specified as depends on item, will get autoSubmit="true" and the dependent items of region will get partial triggers that listen to the depends on item.
    Even if you need settings you can't generate, there is no need to switch off generation of the entire page.
    We never do this, we always specify custom templates for the bits and pieces of the page that we want to customize.
    Have you read section 4.7 "Customizing Using Generator Templates" in JHeadstart Developer's Guide?
    Steven Davelaar,
    JHeadstart team.

  • Partial Trigger Problem

    Hi All,
    Jdeveloper Version: 11.1.1.6.0
    ADF
    In JSFF page, components bind with bean. I am setting values for the bean through listener. And I added partial trigger to that component container.
    (i.e) AdfFacesContext.getCurrentInstance().addPartialTarget(a_component.findComponent("componentID"));
    Is any other way to add partial trigger to that componet? Can I set partial trigger in JSFF page itself?.
    Regards
    Mohanraj

    Thanks Timo
    This is my code:
    <af:panelGroupLayout layout="horizontal" id="changeAddress">
    </af:panelGroupLayout>
    Listener:
    public class PinCodeListener
    public static void execute(ActionEvent actionEvent)
    try
    UIComponent a_component = (UIComponent) actionEvent.getSource();
    AdfFacesContext.getCurrentInstance().addPartialTarget(*a_component*.findComponent("changeAddress"));
    catch(..)
    How can I get UIComponet? I am having only component ID.
    Am I need to get RichPanelGroupLayout?
    Like this way,
    RichPanelGroupLayout a_panelLayout = (RichPanelGroupLayout) a_component.findComponent("changeAddress");
    AdfFacesContext.getCurrentInstance().addPartialTarget(a_panelLayout);
    Mohanraj

  • Partial trigger for treetable

    I am using 11g. I have a adf treetable similar to the employees. The tree table is working fine.
    I have two panel accordian. The first accordian has the treetable.
    I want to display the salary and more information for the employee in the second panel accordion.
    The problem is the salary is not getting refreshed when I do the row selection in the tree table.
    I set the id of the treetable to the partial trigger of the Salary.
    Am I missing something in setting the properties?
    I really appreciate your help.
    Thanks

    <f:facet name="center">
    <af:treeTable value="#{bindings.EmpView1.treeModel}" var="node"
    selectionListener="#{bindings.EmpView1.treeModel.makeCurrent}"
    rowSelection="single" id="treetbl" immediate="true"
    columnSelection="single" initiallyExpanded="true">
    <f:facet name="nodeStamp">
    <af:column inlineStyle="width:500px;">
    <af:outputText value="#{node}"/>
    </af:column>
    </f:facet>
    <f:facet name="pathStamp">
    <af:outputText value="#{node}"/>
    </f:facet>
    </af:treeTable>
    </f:facet>
    <f:facet name="header"/>
    <f:facet name="end">
    <af:panelGroupLayout layout="vertical">
    <af:panelLabelAndMessage label="#{bindings.Sal.hints.label}"
    partialTriggers="treetbl">
    <af:outputText value="#{bindings.Sal.inputValue}">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Sal.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.Mgr.hints.label}"
    partialTriggers="treetbl">
    <af:outputText value="#{bindings.Mgr.inputValue}">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Mgr.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.Sal.hints.label}"
    partialTriggers="treetbl">
    <af:outputText value="#{bindings.Sal.inputValue}">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Sal.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    </af:panelGroupLayout>
    </f:facet>
    It works only for 1'st level. When I choose the child nodes the Job, Salary, mgr is not refreshing.
    Thanks

Maybe you are looking for