10 Replies Latest reply: May 15, 2012 12:48 PM by Sudipto Desmukh RSS

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

    427239
      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.
        • 1. Re: How to populate Dynamic tab page details depending upon tab details.
          Tulasi Kamodula
          Which Jdev version are you using?
          Seeing from your description there is nothing any one can help. Can you provide more details on the issue, sample code you were using etc?

          Thanks,
          TK
          • 2. Re: How to populate Dynamic tab page details depending upon tab details.
            427239
            J developer studio 11.1.1.5 , i used two tables department and employees, from department table i populated the tabs as different deaprtment name.(tab's name)
            and in the tab page want to display the employees data, so as user will click on different tab , related to that department employee will display in that tab page.
            • 3. Re: How to populate Dynamic tab page details depending upon tab details.
              Sudipto Desmukh
              As mentioned before paste relevant code - jspx code , bean code .. and the exception log ... NPE is a very generic exception how will someone be able to help you without a stack trace.
              Please read this before your post-
              https://forums.oracle.com/forums/ann.jspa?annID=56
              • 4. Re: How to populate Dynamic tab page details depending upon tab details.
                427239
                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
                • 5. Re: How to populate Dynamic tab page details depending upon tab details.
                  Sudipto Desmukh
                  Since you get a NPE on tab change its very obvious that the issue is in the disclosureListener code unless lazyLoading has been enabled in which case the jsff inside teh tab would get loaded too.
                  So please provide complete information ... from your stack @ line 40 of your bean
                  Caused by: java.lang.NullPointerException
                  at view.GraphBean.onTabDisclosure(GraphBean.java:40)
                  • 6. Re: How to populate Dynamic tab page details depending upon tab details.
                    SrinivasJilla
                    Can you also paste this related code.

                    "at view.GraphBean.onTabDisclosure(GraphBean.java:40)"
                    • 7. Re: How to populate Dynamic tab page details depending upon tab details.
                      427239
                      Please find below the code :

                      package view;

                      import java.util.ArrayList;
                      import java.util.List;

                      import javax.el.ELContext;
                      import javax.el.ExpressionFactory;

                      import javax.faces.context.FacesContext;

                      import oracle.adf.model.BindingContext;
                      import oracle.adf.model.binding.DCIteratorBinding;
                      import oracle.adf.view.rich.component.rich.layout.RichShowDetailItem;

                      import oracle.binding.BindingContainer;

                      import oracle.jbo.Key;
                      import oracle.jbo.Row;
                      import oracle.jbo.uicli.binding.JUCtrlHierBinding;
                      import oracle.jbo.uicli.binding.JUCtrlHierNodeBinding;

                      import org.apache.myfaces.trinidad.event.DisclosureEvent;

                      public class GraphBean {

                      FacesContext fctx = FacesContext.getCurrentInstance();
                      ELContext elctx = fctx.getELContext();
                      ExpressionFactory expressionFactory = fctx.getApplication().getExpressionFactory();


                      public GraphBean() {
                      super();
                      }

                      public void onTabDisclosure(DisclosureEvent disclosureEvent) {      
                      RichShowDetailItem tab = (RichShowDetailItem) disclosureEvent.getSource();
                      if (tab.isDisclosed()) {
                      List key = (List)tab.getAttributes().get("rowKey");
                      JUCtrlHierBinding treeBinding = this.getTreeBinding();
                      JUCtrlHierNodeBinding currentNode = treeBinding.findNodeByKeyPath(key);
                      makeCurrent(currentNode);
                      }
                      }

                      private void makeCurrent(JUCtrlHierNodeBinding node){
                      //get the key of the row represented
                      //by the node binding
                      Row rw = node.getRow();
                      Key key = rw.getKey();
                      //make this row the current row in the binding layer
                      //so master/detail behavior works correctly
                      JUCtrlHierBinding treeBinding = this.getTreeBinding();
                      DCIteratorBinding iterator = treeBinding.getDCIteratorBinding();
                      iterator.setCurrentRowWithKey(key.toStringFormat(true));
                      }
                      private JUCtrlHierBinding getTreeBinding(){
                      BindingContext bctx = BindingContext.getCurrent();
                      BindingContainer bindings = bctx.getCurrentBindingsEntry();
                      JUCtrlHierBinding treeBinding = (JUCtrlHierBinding) bindings.get("allDepartmentsWithEmployees");
                      return treeBinding;
                      }


                      }
                      • 8. Re: How to populate Dynamic tab page details depending upon tab details.
                        Sudipto Desmukh
                        We had just asked for line 40 :)
                        Anyways I guess line 40 is this -
                        JUCtrlHierNodeBinding currentNode = treeBinding.findNodeByKeyPath(key);
                        Your treeBinding is evaluating to null which means the below method returns null
                        private JUCtrlHierBinding getTreeBinding(){
                        BindingContext bctx = BindingContext.getCurrent();
                        BindingContainer bindings = bctx.getCurrentBindingsEntry();
                        JUCtrlHierBinding treeBinding = (JUCtrlHierBinding) bindings.get("allDepartmentsWithEmployees");
                        return treeBinding;
                        }
                        Please verify if allDepartmentsWithEmployees is the correct name of your treeBinding in the pageDef
                        • 9. Re: How to populate Dynamic tab page details depending upon tab details.
                          427239
                          line 40 is below mentioned :

                          JUCtrlHierNodeBinding currentNode = treeBinding.findNodeByKeyPath(key);
                          • 10. Re: How to populate Dynamic tab page details depending upon tab details.
                            Sudipto Desmukh
                            Please read my previous post again !