JSF Dynamic Tabs

Hello ,
I am working on a project where I want to generate tabs based on contents of a list. So if my class contain 3 objects the UI should contain 3 tabs if it contains 5 objects it should display 5 tabs in UI.
I tried jsf forEach, jsp for loop one way or other it gives duplicate id error.
I am lost now. If any one has encountered/solved similar problem above please help me.
Thanks in advance.
Priyanka

Thanks BalusC . Let me re iterate my question. I am new to JSF to pardon me if my terminology is not correct.
I have a list which contains object .I have to generate tabs based on contents on list. So if list contain 3 objects I have to generate 3 tabs . Each page inside tab will have same layout but will be populated with different content.
With that said. I used jsf pane_tab and I tried different ways to iterate over the list and include the jsp which will contain the layout. More specifically I tried something like below with different variations .
<%
     for (int i = 0 ; i< list.size() ; i++)
          String abc = "name"+ i;
          %>
<d:pane_tab id="<%= abc %>" >
<f:facet name="label">
<d:pane_tablabel label="test" commandName="third"/>
</f:facet>
<jsp:include page="addMaintenence.jsp"/>
</d:pane_tab>
          <%
%>
It gives duplicate id error. Now I am not sure if my approach is right or not. Also if it not correct what should I try ??
Any pointers would be helpful.
Thanks in advance.
Priyanka

Similar Messages

  • JSF Page Fragment based on Oracle Dynamic Tabs Shell Template

    Hi
    JDeveloper 11.1.1.6
    Can we create a JSF Page Fragment (jsff) based on an Oracle Dynamic Tabs Shell Template ?
    I tried to create this jsff page and added in a bounded taskflow.
    In the create jsff wizard, it will allow us to select the Oracle Dynamic Tabs Shell Template, but when trying to use this taskflow in the another page (jspx), it is giving the following exception.
    javax.faces.FacesException: javax.el.PropertyNotFoundException: Target Unreachable, 'tabContext' returned null
    at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:261)
    at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
    Basically the reason why I am trying to do like this is that I have to simply drop the taskflow in a page as a region.
    The ViewController project code will only be created as an ADF Library Jar File and be used in other projects
    (it will not be deployed as a web application (war))
    More about the requirement:
    I have a BPM Application in which I have 2 ADF ViewController projects, one for only BPM Human Task related UI and another for only ADF functionality.
    I am writing a custom BPM Workspace kind of ADF Application and want the UI to be based on the Oracle Dynamic Tab Shell Template.
    ADF ViewController project is deployed only as a ADF Library Jar file.
    Another advantage I can have is I can test my ADF code within JDeveloper.
    (If I create a jspx page based Oracle Dynamic Tab Shell Template in the BPM Human Task Related UI project, I will not be able to run it in JDeveloper and test it.
    Otherwise I have to deploy to the SOA environment each time I make a change)
    Thanks for any help.
    Sameer

    Hi,
    the dynamic tab shell template can only be used with top level (JSPX) pages (in 12c also with Facelet pages). There is no configuration for templates that would make the JDeveloper IDE to not show the template of the selected page is a fragment.
    Frank

  • How to populate Dynamic tab page details depending upon tab details.

    I have developed a dynamic tab, using two tables, Employees and Deaprtments. using the Department table i dynamically created tab based on Department Names, and in each tab want to
    display the relevent employees.
    I am able to even run the page when it opens it displays the first department tab as "Administrator" and also displays it's employees in that tab but when i click on other tab
    i get's error "
    java.lang.NullPointerException
    ADF_FACES-60097:For more information, please see the server's error log for an entry beginning with: ADF_FACES-60096:Server Exception during PPR, #1 "
    Can any one please tell me what to do. as i am am using af:iterator.
    Thanks.

    Below is the code :
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:dvt="http://xmlns.oracle.com/dss/adf/faces">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelStretchLayout topHeight="50px" id="psl1">
    <f:facet name="top"/>
    <f:facet name="center">
    <af:panelTabbed id="pt1">
    <af:iterator id="i1"
    value="#{bindings.Departments_Inst1.collectionModel}"
    var="deptrow">
    <af:showDetailItem text="#{deptrow.DepartmentName}" id="sdi1"
    disclosureListener="#{GraphBean.onTabDisclosure}">
    <f:attribute name="rowKey" value="#{deptrow.makeCurrent}"/>
    <af:table value="#{bindings.Employees_Inst.collectionModel}"
    var="row"
    rows="#{bindings.Employees_Inst.rangeSize}"
    emptyText="#{bindings.Employees_Inst.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.Employees_Inst.rangeSize}"
    rowBandingInterval="0" id="t1">
    <af:column sortProperty="EmployeeId" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.EmployeeId.label}"
    id="c2">
    <af:inputText value="#{row.bindings.EmployeeId.inputValue}"
    label="#{bindings.Employees_Inst.hints.EmployeeId.label}"
    required="#{bindings.Employees_Inst.hints.EmployeeId.mandatory}"
    columns="#{bindings.Employees_Inst.hints.EmployeeId.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.EmployeeId.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.EmployeeId.tooltip}"
    id="it1">
    <f:validator binding="#{row.bindings.EmployeeId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.EmployeeId.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="FirstName" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.FirstName.label}"
    id="c3">
    <af:inputText value="#{row.bindings.FirstName.inputValue}"
    label="#{bindings.Employees_Inst.hints.FirstName.label}"
    required="#{bindings.Employees_Inst.hints.FirstName.mandatory}"
    columns="#{bindings.Employees_Inst.hints.FirstName.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.FirstName.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.FirstName.tooltip}"
    id="it7">
    <f:validator binding="#{row.bindings.FirstName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="LastName" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.LastName.label}"
    id="c5">
    <af:inputText value="#{row.bindings.LastName.inputValue}"
    label="#{bindings.Employees_Inst.hints.LastName.label}"
    required="#{bindings.Employees_Inst.hints.LastName.mandatory}"
    columns="#{bindings.Employees_Inst.hints.LastName.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.LastName.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.LastName.tooltip}"
    id="it4">
    <f:validator binding="#{row.bindings.LastName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="Email" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.Email.label}"
    id="c1">
    <af:inputText value="#{row.bindings.Email.inputValue}"
    label="#{bindings.Employees_Inst.hints.Email.label}"
    required="#{bindings.Employees_Inst.hints.Email.mandatory}"
    columns="#{bindings.Employees_Inst.hints.Email.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.Email.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.Email.tooltip}"
    id="it5">
    <f:validator binding="#{row.bindings.Email.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="Salary" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.Salary.label}"
    id="c6">
    <af:inputText value="#{row.bindings.Salary.inputValue}"
    label="#{bindings.Employees_Inst.hints.Salary.label}"
    required="#{bindings.Employees_Inst.hints.Salary.mandatory}"
    columns="#{bindings.Employees_Inst.hints.Salary.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.Salary.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.Salary.tooltip}"
    id="it3">
    <f:validator binding="#{row.bindings.Salary.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.Salary.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="ManagerId" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.ManagerId.label}"
    id="c7">
    <af:inputText value="#{row.bindings.ManagerId.inputValue}"
    label="#{bindings.Employees_Inst.hints.ManagerId.label}"
    required="#{bindings.Employees_Inst.hints.ManagerId.mandatory}"
    columns="#{bindings.Employees_Inst.hints.ManagerId.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.ManagerId.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.ManagerId.tooltip}"
    id="it2">
    <f:validator binding="#{row.bindings.ManagerId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.ManagerId.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="DepartmentId" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.DepartmentId.label}"
    id="c4">
    <af:inputText value="#{row.bindings.DepartmentId.inputValue}"
    label="#{bindings.Employees_Inst.hints.DepartmentId.label}"
    required="#{bindings.Employees_Inst.hints.DepartmentId.mandatory}"
    columns="#{bindings.Employees_Inst.hints.DepartmentId.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.DepartmentId.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.DepartmentId.tooltip}"
    id="it6">
    <f:validator binding="#{row.bindings.DepartmentId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.DepartmentId.format}"/>
    </af:inputText>
    </af:column>
    </af:table>
    </af:showDetailItem>
    </af:iterator>
    </af:panelTabbed>
    <!-- id="af_one_column_header_stretched" -->
    </f:facet>
    </af:panelStretchLayout>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    -- Below is the log :
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
    javax.el.ELException: java.lang.NullPointerException
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
         at org.apache.myfaces.trinidad.component.UIXShowDetail.broadcast(UIXShowDetail.java:154)
         at oracle.adf.view.rich.component.rich.layout.RichShowDetailItem.broadcast(RichShowDetailItem.java:192)
         at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         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:300)
         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:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         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:111)
         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.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         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.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NullPointerException
         at view.GraphBean.onTabDisclosure(GraphBean.java:40)
         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)
         ... 46 more
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    javax.el.ELException: java.lang.NullPointerException
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
         at org.apache.myfaces.trinidad.component.UIXShowDetail.broadcast(UIXShowDetail.java:154)
         at oracle.adf.view.rich.component.rich.layout.RichShowDetailItem.broadcast(RichShowDetailItem.java:192)
         at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         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:300)
         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:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         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:111)
         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.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         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.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NullPointerException
         at view.GraphBean.onTabDisclosure(GraphBean.java:40)
         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)
         ... 46 more

  • Multiple TaskFlow instances in the UIShell - popup and dynamic tab

    Hi all,
    I have strange situation with JDev 11.1.1.6
    First, I run the one, fragment based, bounded TF (named TF_A) in the one dynamic tab.
    Also, run another TF (named TF_B) in the second dynamic tab.
    Then, from that second dyn tab, I run second instance of the first TF, so TF_A, this time as a static region in the af:popup.
    However, the instance in the popup does not show the jsf fragment at all.
    This occurs _only when another instance of the same TF is already running elsewhere (on the first dynamic tab)
    Otherwise, the TF_A in the popup behaves properly.
    The TF_A does not have Controller transaction, and this behavior does not depend on the Sharing Data Controll setting. Is the same in both cases.
    I am able to close the popup, and the application continues to behave normally.
    Of course, there is no stackTrace anywhere.
    Any advice ?
    Anyone ?
    Edited by: Cvele_new_account on Mar 1, 2013 4:08 AM

    Hi Frank, thanks for response.
    Do you think that somehow in my case there is only one instance of the TF_A ?
    Here is relevant settings for my popup containing static region with TF_A
              <af:popup id="pB55" contentDelivery="lazyUncached"
                        popupFetchListener="#{myBean.crudPopupFetchListener}"
                        autoCancel="disabled" childCreation="deferred">
                <af:panelWindow ...>
                  <af:region value="#{bindings.TF_A.regionModel}" id="r6"
                </af:panelWindow>
              </af:popup>myBean.crudPopupFetchListener :
       //Task flow activation code (for the TF binding 'active' property  bellow)
       pageFlowScope.put("pB55", "true);
       // code for setting the TF parameters:
       .....and here i setting for TF_A binding from the pageDef:
        <taskFlow id="TF_A"
                  taskFlowId="..."
                  activation="conditional"
                  xmlns="http://xmlns.oracle.com/adf/controller/binding"
                  Refresh="ifNeeded" active="#{pageFlowScope.pB55 eq true}">
          <parameters>
          </parameters>
        </taskFlow>

  • Error When Dismissing Many Dynamic Tabs

    Hi All,
    In the name of expanding knowledge, I bring another question.  We're using JDev/JHS 11.1.1.4 and our project is a migration from JHS 11.1.1.3.  This question relates to how JHeadStart deals with the open and close events associated with dynamic tabs.
    Our use case is that there are many top-level groups listed in a menu that can open as their own dynamic tab.  We support having multiple tabs open at once.  We're running into an issue where after closing multiple tabs quickly, we receive an error like the following:
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase APPLY_REQUEST_VALUES 2
    java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-1)
        at java.util.SubList.<init>(AbstractList.java:604)
        at java.util.RandomAccessSubList.<init>(AbstractList.java:758)
        at java.util.AbstractList.subList(AbstractList.java:468)
        at oracle.jheadstart.view.dyntab.DynTabTracker.getActiveTabList(DynTabTracker.java:158)
        at oracle.jheadstart.view.dyntab.DynTabContext.getMatchingTab(DynTabContext.java:354)
        at oracle.jheadstart.view.dyntab.DynTabContext.addOrSelectTab(DynTabContext.java:169)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchActivity(DynamicRegionManager.java:468)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchDynamicTabIfNeeded(DynamicRegionManager.java:505)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.setCurrentTaskFlowName(DynamicRegionManager.java:225)
        at oracle.jheadstart.controller.jsf.application.JhsNavigationHandlerImpl.handleNavigation(JhsNavigationHandlerImpl.java:142)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
        at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
        at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
        at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:232)
        at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:248)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:356)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
        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:300)
        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:205)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.jheadstart.controller.jsf.AuthenticationFilter.doFilter(AuthenticationFilter.java:282)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        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.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
        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.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-1)
        at java.util.SubList.<init>(AbstractList.java:604)
        at java.util.RandomAccessSubList.<init>(AbstractList.java:758)
        at java.util.AbstractList.subList(AbstractList.java:468)
        at oracle.jheadstart.view.dyntab.DynTabTracker.getActiveTabList(DynTabTracker.java:158)
        at oracle.jheadstart.view.dyntab.DynTabContext.getMatchingTab(DynTabContext.java:354)
        at oracle.jheadstart.view.dyntab.DynTabContext.addOrSelectTab(DynTabContext.java:169)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchActivity(DynamicRegionManager.java:468)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchDynamicTabIfNeeded(DynamicRegionManager.java:505)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.setCurrentTaskFlowName(DynamicRegionManager.java:225)
        at oracle.jheadstart.controller.jsf.application.JhsNavigationHandlerImpl.handleNavigation(JhsNavigationHandlerImpl.java:142)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
        at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
        at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
        at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:232)
        at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:248)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:356)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
        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:300)
        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:205)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.jheadstart.controller.jsf.AuthenticationFilter.doFilter(AuthenticationFilter.java:282)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        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.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
        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.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Based on what I've seen, the number of active tabs gets decremented before the tab is actually closed.  This sometimes requires closing a tab more than once (which decrements the number of active tabs to less than 0).  Then, when trying to open a new tab, the number of active tabs is passed as an argument to the subList mentioned in the above stack.  If the number is less than 0, the above exception occurs.
    The following is a variation on the above, the only difference is if you dismiss all but one tab, then attempt to open a new one, the following error is thrown.
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase APPLY_REQUEST_VALUES 2
    java.lang.IllegalStateException: TabList state is corrupted!
        at oracle.jheadstart.view.dyntab.DynTabContext.getFirstInactiveTabOrThrow(DynTabContext.java:252)
        at oracle.jheadstart.view.dyntab.DynTabContext.addTab(DynTabContext.java:221)
        at oracle.jheadstart.view.dyntab.DynTabContext.addOrSelectTab(DynTabContext.java:180)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchActivity(DynamicRegionManager.java:468)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchDynamicTabIfNeeded(DynamicRegionManager.java:505)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.setCurrentTaskFlowName(DynamicRegionManager.java:225)
        at oracle.jheadstart.controller.jsf.application.JhsNavigationHandlerImpl.handleNavigation(JhsNavigationHandlerImpl.java:142)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
        at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
        at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
        at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:232)
        at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:248)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:356)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
        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:300)
        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:205)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.jheadstart.controller.jsf.AuthenticationFilter.doFilter(AuthenticationFilter.java:282)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        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.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
        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.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    java.lang.IllegalStateException: TabList state is corrupted!
        at oracle.jheadstart.view.dyntab.DynTabContext.getFirstInactiveTabOrThrow(DynTabContext.java:252)
        at oracle.jheadstart.view.dyntab.DynTabContext.addTab(DynTabContext.java:221)
        at oracle.jheadstart.view.dyntab.DynTabContext.addOrSelectTab(DynTabContext.java:180)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchActivity(DynamicRegionManager.java:468)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.launchDynamicTabIfNeeded(DynamicRegionManager.java:505)
        at oracle.jheadstart.controller.jsf.bean.DynamicRegionManager.setCurrentTaskFlowName(DynamicRegionManager.java:225)
        at oracle.jheadstart.controller.jsf.application.JhsNavigationHandlerImpl.handleNavigation(JhsNavigationHandlerImpl.java:142)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
        at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
        at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
        at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:232)
        at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:248)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
        at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
        at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:356)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
        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:300)
        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:205)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.jheadstart.controller.jsf.AuthenticationFilter.doFilter(AuthenticationFilter.java:282)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        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.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
        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.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    There's not much info on this out there and it seems to pertain to internal libraries so I thought I'd ask for guidance here.  My first thought was to override the method that passes the number of active tabs to catch if the value is less than zero, but that doesn't account for the second instance.  Has anyone run into this before?
    Many thanks,

    Hi Steven,
    I can only take credit for your suspicion :)
    Your concern was raised on our end as well.  The tab unique identifier is cleared in the base class from which our override stems...
        tab.setTaskflowId(getEmptyTaskFlowId());
        tab.setParameters(null);
        tab.setUniqueIdentifier(null);
        tab.setTitle("");
        tab.setActive(false);
        tab.setActivated(false);
    From my observations, it seemed that the Tab Unique Identifier inherited its value from the group name if one was not present (which is why I felt the fix worked).  Is this not so?  In either case, we saw that the error was preceded by null tabs being passed into the method, which would decrement numActive but leave the same tabs open in the UI.  Hence when finally closing all the tabs, index would be an undesirable value like -1, -2, etc..
    Thanks,

  • Switching dynamic tabs causes loss of entered values

    I am running into a fundamental issue with dynamic tabs.
    When the user has multiple tabs open, and he is busy entering values in one tab, and then switches to another tab without saving the values in the first tab, the entered values in the first tab are lost when the user triggers at least one http request in the new tab. If the user switches to the new tab, does not do anything and returns immediately to the first tab, the entered values are still there. I understand that the JSF model update phase is skipped when switching tabs because immediate="true". But the apply request values phase is still performed, so the UI components should still have the submitted value. Somehow, these values get lost when a subsequent request is send while those UI components are no longer visible. I tried changing the rendered property of the regions in the page template to "visible" so the UI components are kept in the component tree, but that didn't help.
    Th idea of temporarily switching to another task, similar to switching browser tabs, is undermined with this behavior because end users don't like it when some of their work is lost.
    Does anybody know a solution for this problem?
    Thanks,
    Steven.

    I think you need to use static instead of dynamic regions that way you can keep the region modification across all the tabs. The visible property on the regions some how its not working for me so I am surronding each region with PageGroupLayout and setting the visible property to it and set rendered property to region. The visible property and rendered property condition can be controlled by the tab action.

  • Spry Dynamic Tabs - reCAPTCHA is missing when loading external php file

    Hello,
    I have solved all my problems lately on this forum.
    But now im converting my site to use Dynamic tabs, and something goes wrong.
    The dynamic tabs load content from external files. It loads html but i think something goes wrong with php and my buttons.
    You need to know ALL is working perfect on the old site.
    2 problems;
    I dont know how to convert my buttons to this new style.
    I dont know why the reCAP suddently is missing.
    Why is reCAPTCHA missing?
    SOURCE HTML (index.html);
    <?php include("PHP/form.php"); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
         <title>Wientjes Voegwerk &amp; Renovatie - Home</title>
        <meta http-equiv="Content-Language" content="NL" />
         <meta http-equiv="imagetoolbar" content="no" />
         <meta name="MSSmartTagsPreventParsing" content="true" />
        <meta name="description" content="Wientjes Voegwerk en Renovatie is een voeg- en renovatiebedrijf gespecialiseerd in gevelrenovatie. Dagelijkse werkzaamheden zijn het voegen van nieuwbouwwerk, en alle voorkomende vormen van gevelrenovatie. Ik geef uw woning, garage of schoorsteen de aandacht die het verdient en ben trots op het resultaat van mijn werk!"/>
        <meta name="keywords" content="Voegwerk, Renovatie, Reinigen, Impregneren, Muur, Voegen, Steen, Woning, Garage, Schoorsteen, Bedrijf, Gevel, Wientjes, Uitslijten, Kappen, Fundering, Vorstschade, Metselen, Metselwerk, Vocht" />
        <meta name="author" content="Rob Nijlaan" />
        <link href="CSS/Style2.css" rel="stylesheet" type="text/css" />
        <script src="JAVASCRIPT/SpryTabbedPanels.js" type="text/javascript"></script>
        <script src="JAVASCRIPT/SpryEffects.js" type="text/javascript"></script>
         <script src="JAVASCRIPT/SpryData.js" type="text/javascript"></script>
        <script src="JAVASCRIPT/xpath.js" type="text/javascript"></script>
         <script type="text/javascript">
         <!--
         function FadeAndUpdateContent(ele, url){
              try {
                   Spry.Effect.DoFade(ele,{
                        duration: 500, from: 100, to: 0, finish: function() {
                             Spry.Utils.updateContent(ele, url, function() {
                                  Spry.Effect.DoFade(ele,{ duration: 500, from: 0, to: 100 });
              catch(e){ alert(e); }
         -->
         </script>
    </head>
    <body>
    <div id="WContainer">
      <div id="WHeader" align="center"> <img src="Art/VoegenRenLos.png" width="540" height="58" alt="Voeg en Renovatiebedrijf" /><br />
        <img src="Art/WientLogo.png" width="600" height="136" alt="Wientjes Voegwerk &amp; Renovatie" /> </div>
      <script type="text/javascript">
         var dsTabs = new Spry.Data.XMLDataSet("data/data.xml", "tabs/tab");
         function loadContent(panel,url){
              Spry.Utils.updateContent(panel,url);
         Spry.Data.Region.addObserver("example1Region",dateLoadedCallback);
         function dateLoadedCallback(notificationType, notifier, data){
              if (notificationType =="onPostUpdate"){    
                   row= dsTabs.getRowByRowNumber(0)
                   if(row){
                        loadContent('0',row.url)
         </script>
      <div id="example1Region" spry:region="dsTabs">
        <div id="dynamicTabs" class="TabbedPanels">
          <ul class="TabbedPanelsTabGroup" >
            <li spry:repeat="dsTabs" class="TabbedPanelsTab" onclick="loadContent('{ds_RowID}','{url}');" tabindex="0">{title}</li>
          </ul>
          <div class="TabbedPanelsContentGroup">
            <div spry:repeat="dsTabs" id="{ds_RowID}" class="TabbedPanelsContent"></div>
          </div>
        </div>
        <script type="text/javascript">
                var t1 = new Spry.Widget.TabbedPanels("dynamicTabs");
                 </script>
      </div>
      <div id="WFooter" align="center">
        <p class="footer">Wientjes Voegwerk &amp; Renovatie     ,    03- '02       »      Site by ;    <b>Rob Nijlaan</b></p>
      </div>
    </div>
    </body>
    </html>
    Dont mind the extra javascripts they are not used for now (like SpryEffects.js) its for future use.
    SOURCE XML (data.xml);
    <?xml version="1.0" encoding="UTF-8"?>
    <tabs>
        <tab>
            <title>
              tab 1
              </title>
            <url>../data/HOME.html</url>
        </tab>
        <tab>
            <title>Tab2</title>
            <url>examples/tab2.html</url>
        </tab>
         <tab>
            <title>Tab3</title>
            <url>examples/tab2.html</url>
        </tab>
         <tab>
            <title>Tab4</title>
            <url>../PHP/form.php</url>
        </tab>
    </tabs>
    The html file loads like it should be, but the php form has problems.
    See it yourself: http://www.wientjesvoegwerk.nl/index2.html
    The tab 1 displays a html file like it should.
    The tab 4 displays the contact form but you will see the reCAPTHCA is missing.
    I have really no clue why it happens, exept maybe its a PHP issue.
    Maybe the script isnt compatible with non-html documents...
    Can someone please tell me whats the problem and if there is a solution????
    How do i change this button?
    I used this in my previous site:
    <table class="Button"  >
         <tr>
         <td style="padding-right:0px" title ="Home">
         <a href="#" title="Home" style="background-image:url(/Buttons/Home.png);width:172px;height:75px;display:block;"><br/>
         </a></td>
         </tr>
    </table>
    But the dynamic script uses {title} to get the <title> out of the xml.
    I tryd to put this straight into the title tags in the xml but obviously it wont work.
    And i really dont have a clue how to change this.
    My button has a mouseover img. Basicly its 2 buttons in 1 img stacked on top of each other.
    Like this: http://www.wientjesvoegwerk.nl/Buttons/contact.png
    Because of the CSS script it hovers to the right position.
    Part of SOURCE CSS (Style.css)
    .Button a{display:block;}
    .Button a:hover{background-position:left bottom;}
    a.Button {display:none}
    How can i change the xml and the script so "title" can be replaced with the button.
    Or how can i change the button so the mouseover works and the script still takes the button-img from the xml???
    Any help would be nice, because im finnaly in a postition to finish this site, and this is the only blockade left to conquer...

    Maybe it is not liking that the index page is an HTML page and not a PHP page. Try this way:
    In your form.php, remove the following code:
    <?php
    require_once('recaptchalib.php');
    $publickey = "6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm"; // you got this from the signup page
    echo recaptcha_get_html($publickey);
    ?>
    Replace it with:
    <script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm"></script>
        <noscript>
              <iframe src="http://api.recaptcha.net/noscript?k=6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm" height="300" width="500" frameborder="0"></iframe><br/>
              <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
              <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
        </noscript>
    The replacement code is the same code that is outputted from the recaptchalib.php file.

  • Using Dynamic Tabs in 11gR2 doesn't seem to work.

    Hi there,
    I'm trying to use the Dynamic Tabs Template in an ADF 11.1.2.3 application using JHeadstart 11.1.2.1.28.
    According to the developerguide section 9.3.1. (Enabling Dynamic Tabs) it should be rather easy to do this.
    Set PageTemplate to : /common/pageTemplates/JhsDynamicTabsPageTemplate
    Set datacontrolscope to : Isolated
    Set Default group Usage to : Region with Page Fragments.
    Set Default group Region Access to : Common UI Shell Page.
    I use facelets as viewtechnology.
    Generating the application works fine.
    Running the application results in an error at startup :
    Error 500--Internal Server Error
    java.io.FileNotFoundException: /common/regions/DynamicTabs.jsff Not Found in ExternalContext as a Resource
    The pagetemplate can't find the reference. The file is nowhere near /common/regions/DynamicTabs.jsff. I actually cannot find it at all.
    I can reproduce this behavior on two different workstations.
    All of the above works smoothly in 11gR1.
    I think it's a bug, at least it looks like it.
    What do you think ?
    Regards Luc

    Hi Steven,
    it is time for "Ripley's believe it or not" I guess....
    I am definitely able to reproduce the behavior.
    1) Create new ADF fusion webapp
    2) Create new ADF BC.
    2a) Connection = HR.
    2b) create EO, VO for Employees and Departments and also create default AM.
    No adjustments, everything default.
    3) Refresh Datacontrol palette to have new DC available
    4) Enable JHeadstart on ViewController project
    5) Create new Service Definition. Accept all the defaults.
    6) Go to application Definition and make the following adjustments
    6a) Set PageTemplate to : /common/pageTemplates/JhsDynamicTabsPageTemplate
    6b) Set datacontrolscope to : Isolated
    7) Apply, Save all and generate.
    During generation the /common/regions/DynamicTabs.jsff is not added to the project.
    Running the new application results in
    Error 500--Internal Server Error
    java.io.FileNotFoundException: /common/regions/DynamicTabs.jsff Not Found in ExternalContext as a Resource
    Versions :
    ADF 11.1.2.3
    JHeadstart 11.1.2.1.28
    Windows 7 64bit
    And I also have the OraFormsFaces extension installed. Could that be causing the problem ??
    I do not use it in this project, but the fact that it is there and that it is available as in the New gallery ....--> JHeadstart --> JHeadstart OFF Generator indicates that OFF does influence JHS in some way ?
    Regards
    Luc
    Edited by: lucbors on Jan 18, 2013 7:17 PM

  • Dynamic tabs in a DeskI report

    Does anyone have experience dynamically creating tabs in a Deski report?  For example, we would like to show sales by store where each store has its own tab.  We would like a tab to be created and visible only when the store has data that is returned from the query.  We are trying to accomplish this via VBA.  We have successfully done this in Excel using VBA but can't seem to find the matching tab.visible property in BO Deski VBA.  We would rather not hard-code filters for each tab as the list of stores changes as the criteria for the query (ie. year/quarter) changes.
    Thanks for any help you can provide.

    Hi Guillermo,
    Welcome to SDN.
    You can have dynamic tabs by placing the <htmlb:tabStripItem> in a loop in the layout:
    <% loop at tabstrip_tab. %>
      <htmlb:tabStripItem index="<%=tabstrip_tab-index%>" etc. />
    <% endloop. %>
    Where tabstrip_tab contains the details of the tabstrip items.
    Regards,
    Patrick.

  • Dynamic tabs in the tabstrip

    Hello All,
    I am trying to populate dynamic tabs using the function module
    TAXI_INITIALIZE_CARRIERSCREEN. Using this FM we can populate at the max 32 tabs.
    My requirement is to place more than 32 tabs in the tabstrip.
    Is there any other function module which is used to populate tabs.
    Or any other solution for this.
    Thanks in Advance.
    Regards,
    Suganya.

    hi,
    i need help on TAXI_INITIALIZE_CARRIERSCREEN. i want to know how to use this
    say, i have created a tabcontrol in the screen painter with function code and reference field. i want to change the text dynamically during runtime.
    can i use this function.
    Moreover , say,
    tabcap-TAB01 = 'TOTAL'.
    tabcap-TAB02 = 'SIZEE'.
    *TABSTRIP_NAME
    CALL FUNCTION 'TAXI_INITIALIZE_CARRIERSCREEN'
      EXPORTING
        tabstrip_captions       = tabcap
      GUI_PROGRAM             =
      GUI_STATUS              =
      GUI_TITLE               =
      GUI_TITLE_PARAM         =
    In the above where do i specify the TAB Strip control Name.
    i dont know how to pass on the export details for GUI_PROGRAM and rest of it. kindly help me
    regs,
    raja

  • Dynamic TABS in a Tabstrip

    Hi all.
    First all sorry by my poor english i will try to explain my problem.
    I'm developing a Web Site with BSP and it const of 2 frames obviusly with 2 web pages Menu.htm and Content.htm
    what i need is: if I press a link in menu.htm, in content.htm appears a Tabstrip, (that's easy) now if I press again the link in menu.htm, in content.htm must appears other Tabstripitem at rigth side of the first Tab created..
    it's understand??
    how can I do that?? OO? i saw somes examples in PORTAL so this is possible to do. help?
    Thanks all is my first post here

    Hi Guillermo,
    Welcome to SDN.
    You can have dynamic tabs by placing the <htmlb:tabStripItem> in a loop in the layout:
    <% loop at tabstrip_tab. %>
      <htmlb:tabStripItem index="<%=tabstrip_tab-index%>" etc. />
    <% endloop. %>
    Where tabstrip_tab contains the details of the tabstrip items.
    Regards,
    Patrick.

  • Is dynamic tab possible ?

    Hi Experts,
    I have got a requirment where I am designing screen in module pool purpose of this program is to take input from user and save in table.
    Based on the functional location(FL)  there can be different no of Equipment if for a FL there is 3 eqipment then 3 tabs should appear if there is 4 then 4 and so on.
    So basically my requirment is to create dynamic tabs is it possible ?
    As of now I am solving it like this - I am taking 10 tabs (as I know there can not be more then 10 equipment for a FL) and activating only those tabs where there is data rest will just appear but will not be active is there any way to hide tabs like parameters ?
    Any help in this regard will be highly appreciated.
    Regards
    Bikas

    If you are not aware about how many tabs you want to keep active until runtime, u can use the concept of field symbols...it will help you to get the required tabs and then you have to program it in PBO by doing loop at screen and then accordingly you can activate tabs.

  • Dynamic Tabs & PDF form display cause IE CPU up and PC hang

    Hi Experts,
    I create dynamic tabs and inside each tab I create interactive form with PDF data inside to display PDF. After running for a while,  the CPU goes up and PC hang. What could be the problem for this? (I'm  using IE7)
    Thanks,
    - Anthony -

    Hi Thomas,
    Thank you for your reply!
    I've re-designed it in a way that only one instance of Adobe Reader in the current selected tab. Whenever user choose another tab, I remove Adobe Reader from that tab and create in the new selected tab. The problem still exists. I don't know what and where exactly problem is. This is excerpt code in WDDOMODIFYVIEW to remove interactive form first and all tabs later. Do you see any problem with this piece of code?
    Be noted that the IE get hang only (CPU 100%) when I run it for a while, meanings select selecte items in view1 and pdf preview in view2, back to view 1 to select other items go to view2 to preview pdf....
    data: lo_f             type ref to cl_wd_interactive_form,
             lo_tabstrip  type ref to cl_wd_tabstrip,
             lo_tab        type ref to cl_wd_tab,
            ls_pdftab    type wd_this->element_pdftab.
    if lo_tabstrip->has_tabs( ) = 'X'.
        " Remove adobe reader in the old tab
        if ls_pdftab-old_tab is not initial.
          lo_tab  = lo_tabstrip->get_tab( id = ls_pdftab-old_tab ).
          if lo_tab is not initial.
            lo_f ?= lo_tab->get_content( ).
            if lo_f is not initial.
              lo_f->unset__parent( ).
              lo_f->unregister_from_view( ).
              free lo_f.
            endif.
          endif.
        endif.
        " Remove all tabs
        lo_tabstrip->remove_all_tabs( ).
      endif.
    Thanks,
    - Anthony -

  • UIShell Dynamic tabs vs multiple Browser tabs ?

    Hi all,
    Can someone explain what is exactly benefits we have by using dynamic tabs, compare to multiple browser tabs ?
    Can anyone give an example of the problems encountered when using multiple browser tabs ?

    ADF does support multiple browser tabs but you must design your application carefully. See: http://one-size-doesnt-fit-all.blogspot.com.au/2011/10/pageflowscope-with-unbounded-task-flows.html
    As for the UIShell vs multi browser tabs, it's a UI design question. Once upon a time Mozilla Thunderbird used to open emails in separate windows (= multi browser tabs) and now uses inline tabs (= UI Shell). Which is the right way? Neither, depends on your user requirements.
    CM.

  • UI Dynamic Tabs Shell - Child Taskflow not rendering / instantiated

    Hi All,
    I have had this problem, ever since rebuilding my application using Jdev 11.1.2, although I am not convinced this is a problem with Jdveloper verison.
    Basically, I have developed the UI to open new task flows as dynamic tabs, making use of the tab context API as published. The application works perfectly and I can create new dynamic tabs and close them fine.
    Once I add a data control af:table to the child taskflow however and display this, the taskflow opens fine. The weird behavior begins, after I close this, using the standard UI removecurrent tab icon (the little x to the far right of the form), I cannot re-open another task flow. A new tab is created, however the taskflow within this (one being called) does not render or instantiate.
    If I remove the table from the page fragment, normal behavior resumes.
    I am at a complete loss as to why this is occurring.
    Any insights would be great.
    I would also like to point out... no errors are written to the log, even at the Finest level. The launch method also completes successfully. If I don't close, I am only able to open a maximum of 3 tabs before the render issue occurs.
    Cheers,
    Simo
    Edited by: Simo on Oct 30, 2011 10:38 PM

    Hi Frank,
    Well you were right, this was an implementation issue, but one being caused by some different behaviour in 11.1.2. I was actually setting the tab_id dynamically after the user has selected a row, via clicking a link. The ID was returning null hence the weird tab behaviour.
    Ironically, it was actually another recent note that you have posted http://blogs.oracle.com/jdevotnharvest/entry/jdeveloper_11_1_2_command that led me to the solution!!
    So thanks inadvertently !!
    Cheers,
    Simo

Maybe you are looking for