1 2 Previous Next 15 Replies Latest reply on Jan 17, 2007 11:03 AM by fcorneli

    Using SEAM with Apache Tree2

      I'd like to use SEAM together with Apach Tree2 component. Is it possible? If someone have experience in such task please share :-)

      Thanks

      --Andrew

        • 1. Re: Using SEAM with Apache Tree2

          has any one tried this and has some example code?
          I would really appreciate some help :-)

          • 2. Re: Using SEAM with Apache Tree2

            When i tried to start examples from MyFaces examples in my application i faced with problem

            17:02:30,671 INFO [STDOUT] 20.10.2005 17:02:30 com.sun.facelets.FaceletViewHandler handleRenderException
            SEVERE: Error Rendering View
            java.lang.IllegalArgumentException: Value must be a TreeModel or TreeNode
             at org.apache.myfaces.custom.tree2.UITreeData.getDataModel(UITreeData.java:398)
             at org.apache.myfaces.custom.tree2.UITreeData.saveState(UITreeData.java:91)
             at org.apache.myfaces.custom.tree2.HtmlTree.saveState(HtmlTree.java:60)
             at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:462)
             at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
             at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
             at org.apache.myfaces.application.jsp.JspStateManagerImpl.getComponentStateToSave(JspStateManagerImpl.java:70)
             at org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:215)
             at com.sun.facelets.FaceletViewHandler.writeState(FaceletViewHandler.java:589)
             at org.apache.myfaces.renderkit.html.HtmlFormRendererBase.encodeBegin(HtmlFormRendererBase.java:74)
             at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:307)
             at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:511)
             at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:518)
             at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:447)
             at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:95)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
             at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
             at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
             at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
             at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
             at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
             at java.lang.Thread.run(Unknown Source)
            17:02:30,687 INFO [STDOUT] 20.10.2005 17:02:30 com.sun.facelets.FaceletViewHandler handleRenderException
            SEVERE: Took Type: java.io.PrintWriter


            Here is my class

            @Stateful
            @Name("classifierManagement")
            @Interceptor(SeamInterceptor.class)
            public class ClassifierManagementAction implements ClassifierManagement
            {
             private static final Logger log = Logger.getLogger(ClassifierManagement.class);
             @In
             private transient FacesContext facesContext;
            
            
             @Begin
             public TreeNode getTreeData() throws Exception {
             try{
             TreeNode treeData = new TreeNodeBase("foo-folder", "Inbox", true);
             TreeNodeBase t = null;
            
             // construct a set of fake data (normally your data would come from a database)
            
             // populate Frank's portion of the tree
             TreeNodeBase personNode = new TreeNodeBase("person", "Frank Foo", true);
             personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo", true));
             TreeNodeBase folderNode = new TreeNodeBase("foo-folder", "Requires Foo Reviewer", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "X050001", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "X050002", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "X050003", false));
             personNode.getChildren().add(folderNode);
             personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo Recommendation", true));
             folderNode = new TreeNodeBase("foo-folder", "Requires Foo Approval", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "J050001", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "J050002", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "J050003", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "E050011", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "R050002", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "C050003", false));
             personNode.getChildren().add(folderNode);
             folderNode = new TreeNodeBase("bar-folder", "Requires Bar Processing", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "X050003", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "X050011", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "F050002", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "G050003", false));
             personNode.getChildren().add(folderNode);
             folderNode = new TreeNodeBase("bar-folder", "Requires Bar Approval", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "J050006", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "J050007", false));
             personNode.getChildren().add(folderNode);
            
             treeData.getChildren().add(personNode);
            
             // populate Betty's portion of the tree
             personNode = new TreeNodeBase("person", "Betty Bar", true);
             personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo", true));
             folderNode = new TreeNodeBase("foo-folder", "Requires Foo Reviewer", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "X012000", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "X013000", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "X014000", false));
             personNode.getChildren().add(folderNode);
             folderNode = new TreeNodeBase("foo-folder", "Requires Foo Recommendation", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "J010026", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "J020002", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "J030103", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "E030214", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "R020444", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "C010000", false));
             personNode.getChildren().add(folderNode);
             personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo Approval", true));
             folderNode = new TreeNodeBase("bar-folder", "Requires Bar Processing", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "T052003", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "T020011", false));
             personNode.getChildren().add(folderNode);
             folderNode = new TreeNodeBase("bar-folder", "Requires Bar Approval", true);
             folderNode.getChildren().add(new TreeNodeBase("document", "J010002", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "J030047", false));
             folderNode.getChildren().add(new TreeNodeBase("document", "F030112", false));
             personNode.getChildren().add(folderNode);
            
             treeData.getChildren().add(personNode);
            
            
            
             return treeData;
             }
             catch (Exception e){
             System.err.println(e);
             return null;
             }
             }
             /**
             * ??????? ?????????
             */
             @Destroy @Remove
             public void destroy()
             {
             log.info("destroyed");
             }


            and .xhtml

            <div class="section">
            <h:form id="foo">
             <t:tree2 id="clientTree" value="#{classifierManagement.treeData}" var="node" varNodeToggler="t">
             <f:facet name="person">
             <h:panelGroup>
             <f:facet name="expand">
             <t:graphicImage value="images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
             </f:facet>
             <f:facet name="collapse">
             <t:graphicImage value="images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
             </f:facet>
             <h:outputText value="#{node.description}" styleClass="nodeFolder"/>
             </h:panelGroup>
             </f:facet>
             <f:facet name="foo-folder">
             <h:panelGroup>
             <f:facet name="expand">
             <t:graphicImage value="images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
             </f:facet>
             <f:facet name="collapse">
             <t:graphicImage value="images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
             </f:facet>
             <h:outputText value="#{node.description}" styleClass="nodeFolder"/>
             <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
             </h:panelGroup>
             </f:facet>
             <f:facet name="bar-folder">
             <h:panelGroup>
             <f:facet name="expand">
             <t:graphicImage value="images/blue-folder-open.gif" rendered="#{t.nodeExpanded}" border="0"/>
             </f:facet>
             <f:facet name="collapse">
             <t:graphicImage value="images/blue-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
             </f:facet>
             <h:outputText value="#{node.description}" styleClass="nodeFolder"/>
             <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
             </h:panelGroup>
             </f:facet>
             <f:facet name="document">
             <h:panelGroup>
             <h:commandLink immediate="true" styleClass="#{t.nodeSelected ? 'documentSelected':'document'}" actionListener="#{t.setNodeSelected}">
             <t:graphicImage value="images/document.png" border="0"/>
             <h:outputText value="#{node.description}"/>
             <f:param name="docNum" value="#{node.identifier}"/>
             </h:commandLink>
             </h:panelGroup>
             </f:facet>
             </t:tree2>
            
             <br/>
             <span style="font-family:verdana">
             <b>Tree2 w/server-side toggle</b><br/>
             </span>
             <br/>
            
             <!-- Expand/Collapse Handled By Server -->
             <t:tree2 id="serverTree" value="#{classifierManagement.treeData}" var="node" varNodeToggler="t" clientSideToggle="false">
             <f:facet name="person">
             <h:panelGroup>
             <t:graphicImage value="/images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
             <t:graphicImage value="/images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
             <h:outputText value="#{node.description}" styleClass="nodeFolder"/>
             </h:panelGroup>
             </f:facet>
             <f:facet name="foo-folder">
             <h:panelGroup>
             <t:graphicImage value="/images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
             <t:graphicImage value="/images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
             <h:outputText value="#{node.description}" styleClass="nodeFolder"/>
             <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
             </h:panelGroup>
             </f:facet>
             <f:facet name="bar-folder">
             <h:panelGroup>
             <t:graphicImage value="/images/blue-folder-open.gif" rendered="#{t.nodeExpanded}" border="0"/>
             <t:graphicImage value="/images/blue-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
            
             <h:outputText value="#{node.description}" styleClass="nodeFolder"/>
             <h:outputText value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
             </h:panelGroup>
             </f:facet>
             <f:facet name="document">
             <h:panelGroup>
             <h:commandLink immediate="true" styleClass="#{t.nodeSelected ? 'documentSelected':'document'}" actionListener="#{t.setNodeSelected}">
             <t:graphicImage value="/images/document.png" border="0"/>
             <h:outputText value="#{node.description}"/>
             <f:param name="docNum" value="#{node.identifier}"/>
             </h:commandLink>
             </h:panelGroup>
             </f:facet>
             </t:tree2>
            </h:form>
            </div>


            Some help needed. Thanks

            --Andrew

            • 3. Re: Using SEAM with Apache Tree2

              your stateful session bean must extend/implement the TreeModelBase class in the myfaces tomahawk class.

              Hope this helps, take a look at the exampl and all the other private member variables and functions.

              You need to implement all of these.

              Hope this helps,

              James

              • 4. Re: Using SEAM with Apache Tree2

                Sorry, may be i didn't understand you but it not working :-(

                10:15:09,546 INFO [NamingHelper] JNDI InitialContext properties:{}
                10:15:09,828 INFO [STDOUT] java.lang.IllegalArgumentException: wrong number of arguments
                10:15:09,828 INFO [STDOUT] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                10:15:09,828 INFO [STDOUT] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                10:15:09,828 INFO [STDOUT] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                10:15:09,828 INFO [STDOUT] at java.lang.reflect.Constructor.newInstance(Unknown Source)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.EJBContainer.construct(EJBContainer.java:242)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:42)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:33)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.cache.simple.SimpleStatefulCache.create(SimpleStatefulCache.java:152)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:224)
                10:15:09,828 INFO [STDOUT] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:107)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:37)
                10:15:09,828 INFO [STDOUT] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
                10:15:09,828 INFO [STDOUT] at org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:119)
                10:15:09,828 INFO [STDOUT] at $Proxy256.getTreeModel(Unknown Source)
                10:15:09,828 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                10:15:09,828 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                10:15:09,828 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                10:15:09,828 INFO [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
                10:15:09,828 INFO [STDOUT] at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:400)
                10:15:09,828 INFO [STDOUT] at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:71)
                10:15:09,828 INFO [STDOUT] at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:137)
                10:15:09,828 INFO [STDOUT] at com.sun.el.parser.AstValue.getValue(AstValue.java:96)
                10:15:09,843 INFO [STDOUT] at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:183)
                10:15:09,843 INFO [STDOUT] at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                10:15:09,843 INFO [STDOUT] at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.custom.tree2.UITreeData.getValue(UITreeData.java:248)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.custom.tree2.UITreeData.getDataModel(UITreeData.java:386)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.custom.tree2.UITreeData.saveState(UITreeData.java:91)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.custom.tree2.HtmlTree.saveState(HtmlTree.java:60)
                10:15:09,843 INFO [STDOUT] at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:462)
                10:15:09,843 INFO [STDOUT] at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
                10:15:09,843 INFO [STDOUT] at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.application.jsp.JspStateManagerImpl.getComponentStateToSave(JspStateManagerImpl.java:70)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:215)
                10:15:09,843 INFO [STDOUT] at com.sun.facelets.FaceletViewHandler.writeState(FaceletViewHandler.java:589)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.renderkit.html.HtmlFormRendererBase.encodeBegin(HtmlFormRendererBase.java:74)
                10:15:09,843 INFO [STDOUT] at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:307)
                10:15:09,843 INFO [STDOUT] at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:511)
                10:15:09,843 INFO [STDOUT] at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:518)
                10:15:09,843 INFO [STDOUT] at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:447)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
                10:15:09,843 INFO [STDOUT] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:95)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                10:15:09,843 INFO [STDOUT] at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                10:15:09,843 INFO [STDOUT] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                10:15:09,843 INFO [STDOUT] at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
                10:15:09,843 INFO [STDOUT] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
                10:15:09,843 INFO [STDOUT] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                10:15:09,843 INFO [STDOUT] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                10:15:09,843 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
                10:15:09,843 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
                10:15:09,843 INFO [STDOUT] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                10:15:09,843 INFO [STDOUT] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                10:15:09,843 INFO [STDOUT] at java.lang.Thread.run(Unknown Source)
                10:15:09,843 INFO [STDOUT] 21.10.2005 10:15:09 com.sun.facelets.FaceletViewHandler handleRenderException
                SEVERE: Error Rendering View
                javax.faces.el.EvaluationException: /main.xhtml @135,102 value="#{classifierManagement.treeModel}": $Proxy256
                 at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:60)
                 at org.apache.myfaces.custom.tree2.UITreeData.getValue(UITreeData.java:248)
                 at org.apache.myfaces.custom.tree2.UITreeData.getDataModel(UITreeData.java:386)
                 at org.apache.myfaces.custom.tree2.UITreeData.saveState(UITreeData.java:91)
                 at org.apache.myfaces.custom.tree2.HtmlTree.saveState(HtmlTree.java:60)
                 at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:462)
                 at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
                 at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
                 at org.apache.myfaces.application.jsp.JspStateManagerImpl.getComponentStateToSave(JspStateManagerImpl.java:70)
                 at org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:215)
                 at com.sun.facelets.FaceletViewHandler.writeState(FaceletViewHandler.java:589)
                 at org.apache.myfaces.renderkit.html.HtmlFormRendererBase.encodeBegin(HtmlFormRendererBase.java:74)
                 at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:307)
                 at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:511)
                 at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:518)
                 at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:447)
                 at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:95)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                 at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                 at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                 at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
                 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
                 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
                 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
                 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                 at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                 at java.lang.Thread.run(Unknown Source)
                Caused by: javax.faces.el.EvaluationException: Bean: $Proxy256, property: treeModel
                 at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:404)
                 at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:71)
                 at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:137)
                 at com.sun.el.parser.AstValue.getValue(AstValue.java:96)
                 at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:183)
                 at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                 at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
                 ... 39 more
                Caused by: java.lang.reflect.InvocationTargetException
                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                 at java.lang.reflect.Method.invoke(Unknown Source)
                 at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:400)
                 ... 45 more
                Caused by: javax.ejb.EJBException: null; CausedByException is:
                 wrong number of arguments
                 at org.jboss.ejb3.cache.simple.SimpleStatefulCache.create(SimpleStatefulCache.java:162)
                 at org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:224)
                 at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:107)
                 at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:37)
                 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
                 at org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:119)
                 at $Proxy256.getTreeModel(Unknown Source)


                I've change my source :

                @Stateful
                @Name("classifierManagement")
                @Interceptor(SeamInterceptor.class)
                public class ClassifierManagementAction extends TreeModelBase implements ClassifierManagement
                {
                 private static final Logger log = Logger.getLogger(ClassifierManagement.class);
                 @In
                 private transient FacesContext facesContext;
                
                 public ClassifierManagementAction(TreeNode arg0) {
                 super(arg0);
                 // TODO Auto-generated constructor stub
                 }
                 @Begin
                 public TreeModel getTreeModel() {
                
                 //@Begin
                 //public TreeNode getTreeData() throws Exception {
                 try{
                 TreeNode treeData = new TreeNodeBase("foo-folder", "Inbox", true);
                 TreeNodeBase t = null;
                
                 // construct a set of fake data (normally your data would come from a database)
                
                 // populate Frank's portion of the tree
                 TreeNodeBase personNode = new TreeNodeBase("person", "Frank Foo", true);
                 personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo", true));
                 TreeNodeBase folderNode = new TreeNodeBase("foo-folder", "Requires Foo Reviewer", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "X050001", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "X050002", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "X050003", false));
                 personNode.getChildren().add(folderNode);
                 personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo Recommendation", true));
                 folderNode = new TreeNodeBase("foo-folder", "Requires Foo Approval", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "J050001", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "J050002", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "J050003", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "E050011", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "R050002", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "C050003", false));
                 personNode.getChildren().add(folderNode);
                 folderNode = new TreeNodeBase("bar-folder", "Requires Bar Processing", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "X050003", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "X050011", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "F050002", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "G050003", false));
                 personNode.getChildren().add(folderNode);
                 folderNode = new TreeNodeBase("bar-folder", "Requires Bar Approval", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "J050006", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "J050007", false));
                 personNode.getChildren().add(folderNode);
                
                 treeData.getChildren().add(personNode);
                
                 // populate Betty's portion of the tree
                 personNode = new TreeNodeBase("person", "Betty Bar", true);
                 personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo", true));
                 folderNode = new TreeNodeBase("foo-folder", "Requires Foo Reviewer", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "X012000", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "X013000", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "X014000", false));
                 personNode.getChildren().add(folderNode);
                 folderNode = new TreeNodeBase("foo-folder", "Requires Foo Recommendation", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "J010026", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "J020002", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "J030103", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "E030214", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "R020444", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "C010000", false));
                 personNode.getChildren().add(folderNode);
                 personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo Approval", true));
                 folderNode = new TreeNodeBase("bar-folder", "Requires Bar Processing", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "T052003", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "T020011", false));
                 personNode.getChildren().add(folderNode);
                 folderNode = new TreeNodeBase("bar-folder", "Requires Bar Approval", true);
                 folderNode.getChildren().add(new TreeNodeBase("document", "J010002", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "J030047", false));
                 folderNode.getChildren().add(new TreeNodeBase("document", "F030112", false));
                 personNode.getChildren().add(folderNode);
                
                 treeData.getChildren().add(personNode);
                
                
                
                 return new TreeModelBase(treeData);
                 }
                 catch (Exception e){
                 System.err.println(e);
                 return null;
                 }
                 }
                 /**
                 * ??????? ?????????
                 */
                 @Destroy @Remove
                 public void destroy()
                 {
                 log.info("destroyed");
                 }



                @Remote
                public interface ClassifierManagement {
                 public TreeModel getTreeModel();
                 /**
                 * ??????? ?????????
                 */
                 public void destroy();
                 //public TreeNode getNode();
                }
                


                I'm still having problem ....

                --Andrew

                • 5. Re: Using SEAM with Apache Tree2

                  js8523 can you post some examples. It is very important for me.

                  Thanks

                  • 6. Re: Using SEAM with Apache Tree2
                    marius.oancea

                    Nobody had success with implementing that until now? Tree is a very important comonent. What could be the problem?

                    • 7. Re: Using SEAM with Apache Tree2

                      Hi Zealot

                      Sorry for the slow reply. Rather than making your stateful session bean an extension of TreeNodeBase, place a private member variable within the stateful session bean that extends the TreeNodeBase class, and reference it from your jsf page through the stateful session bean (that way your not relying on remote/local interfaces of the stateful session bean to represent the extension of the TreeNodeBase.

                      Try this

                      class TreeClass extends TreeNodeBase{
                      /* implement the treenode base class */
                      }

                      @Local
                      interface booking {
                      TreeClass getTree();
                      }

                      @stateful
                      @name("bookingActions")
                      class bookingActions extends booking {

                      private TreeClass tree;

                      TreeClass getTree(){
                      return tree;
                      }
                      }


                      in jsf reference like this

                      "#{bookingActions.tree}"

                      Hope this helps.

                      James

                      • 8. Re: Using SEAM with Apache Tree2
                        marius.oancea

                        Yes. But TreeClass tree is not initialised anywhere. And is also not injected by enybody. Am I wrong? Or you have to explicitely initialise it somewhere ?

                        • 9. Re: Using SEAM with Apache Tree2

                          js8523 thanks for your reply :-)

                          It seems i did as you say:

                          @Stateful
                          @Name("classifierManagement")
                          @Interceptor(SeamInterceptor.class)
                          public class ClassifierManagementAction implements ClassifierManagement
                          {
                           private static final Logger log = Logger.getLogger(ClassifierManagement.class);
                           @In
                           private transient FacesContext facesContext;
                          
                           private ClassifierTree classifierTree;
                          
                           public ClassifierManagementAction() {
                           try{
                           TreeNode treeData = new TreeNodeBase("foo-folder", "Inbox", true);
                           TreeNodeBase t = null;
                          
                           // construct a set of fake data (normally your data would come from a database)
                          
                           // populate Frank's portion of the tree
                           TreeNodeBase personNode = new TreeNodeBase("person", "Frank Foo", true);
                           personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo", true));
                           TreeNodeBase folderNode = new TreeNodeBase("foo-folder", "Requires Foo Reviewer", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "X050001", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "X050002", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "X050003", false));
                           personNode.getChildren().add(folderNode);
                           personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo Recommendation", true));
                           folderNode = new TreeNodeBase("foo-folder", "Requires Foo Approval", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "J050001", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "J050002", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "J050003", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "E050011", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "R050002", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "C050003", false));
                           personNode.getChildren().add(folderNode);
                           folderNode = new TreeNodeBase("bar-folder", "Requires Bar Processing", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "X050003", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "X050011", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "F050002", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "G050003", false));
                           personNode.getChildren().add(folderNode);
                           folderNode = new TreeNodeBase("bar-folder", "Requires Bar Approval", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "J050006", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "J050007", false));
                           personNode.getChildren().add(folderNode);
                          
                           treeData.getChildren().add(personNode);
                          
                           // populate Betty's portion of the tree
                           personNode = new TreeNodeBase("person", "Betty Bar", true);
                           personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo", true));
                           folderNode = new TreeNodeBase("foo-folder", "Requires Foo Reviewer", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "X012000", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "X013000", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "X014000", false));
                           personNode.getChildren().add(folderNode);
                           folderNode = new TreeNodeBase("foo-folder", "Requires Foo Recommendation", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "J010026", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "J020002", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "J030103", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "E030214", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "R020444", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "C010000", false));
                           personNode.getChildren().add(folderNode);
                           personNode.getChildren().add(new TreeNodeBase("foo-folder", "Requires Foo Approval", true));
                           folderNode = new TreeNodeBase("bar-folder", "Requires Bar Processing", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "T052003", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "T020011", false));
                           personNode.getChildren().add(folderNode);
                           folderNode = new TreeNodeBase("bar-folder", "Requires Bar Approval", true);
                           folderNode.getChildren().add(new TreeNodeBase("document", "J010002", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "J030047", false));
                           folderNode.getChildren().add(new TreeNodeBase("document", "F030112", false));
                           personNode.getChildren().add(folderNode);
                          
                           treeData.getChildren().add(personNode);
                          
                          
                           TreeModelBase a = new TreeModelBase(treeData);
                           //this.treeModel = a;
                          
                           //return new TreeModelBase(treeData);
                          
                           classifierTree = new ClassifierTree("foo-folder", "Inbox", true);
                           }
                           catch (Exception e){
                           System.err.println(e);
                           //return null;
                           }
                           }
                           @Begin
                           public ClassifierTree getClassifierTree() {
                           return classifierTree;
                           }
                           /**
                           * ??????? ?????????
                           */
                           @Destroy @Remove
                           public void destroy()
                           {
                           log.info("destroyed");
                           }
                          }


                          Interface
                          @Remote
                          public interface ClassifierManagement {
                           public ClassifierTree getClassifierTree();
                           /**
                           * ??????? ?????????
                           */
                           public void destroy();
                          }


                          And class
                          public class ClassifierTree extends TreeNodeBase {
                           public ClassifierTree() {
                           super();
                           // TODO Auto-generated constructor stub
                           }
                          
                           public ClassifierTree(String arg0, String arg1, boolean arg2) {
                           super(arg0, arg1, arg2);
                           // TODO Auto-generated constructor stub
                           }
                          
                           public ClassifierTree(String arg0, String arg1, String arg2, boolean arg3) {
                           super(arg0, arg1, arg2, arg3);
                           // TODO Auto-generated constructor stub
                           }
                          
                          }
                          


                          But i have error again :-(
                          11:14:35,687 INFO [NamingHelper] JNDI InitialContext properties:{}
                          11:14:35,890 INFO [STDOUT] 25.10.2005 11:14:35 com.sun.facelets.FaceletViewHandler handleRenderException
                          SEVERE: Error Rendering View
                          java.lang.IllegalArgumentException: Value must be a TreeModel or TreeNode
                           at org.apache.myfaces.custom.tree2.UITreeData.getDataModel(UITreeData.java:398)
                           at org.apache.myfaces.custom.tree2.UITreeData.saveState(UITreeData.java:91)
                           at org.apache.myfaces.custom.tree2.HtmlTree.saveState(HtmlTree.java:60)
                           at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:462)
                           at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
                           at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:456)
                           at org.apache.myfaces.application.jsp.JspStateManagerImpl.getComponentStateToSave(JspStateManagerImpl.java:70)
                           at org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:215)
                           at com.sun.facelets.FaceletViewHandler.writeState(FaceletViewHandler.java:589)
                           at org.apache.myfaces.renderkit.html.HtmlFormRendererBase.encodeBegin(HtmlFormRendererBase.java:74)
                           at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:307)
                           at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:511)
                           at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:518)
                           at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:447)
                           at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
                           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:95)
                           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                           at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
                           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                           at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
                           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
                           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
                           at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
                           at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
                           at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
                           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
                           at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
                           at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                           at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                           at java.lang.Thread.run(Unknown Source)
                          11:14:35,890 INFO [STDOUT] 25.10.2005 11:14:35 com.sun.facelets.FaceletViewHandler handleRenderException
                          SEVERE: Took Type: java.io.PrintWriter



                          Seems like a Tree is doomed component :-)

                          • 10. Re: Using SEAM with Apache Tree2

                            Finally I beat!!! :-) I put tomahawk.jar into server\default\deploy\jbossweb-tomcat55.sar\jsf-libs and
                            remove it from project package. Everything working :-)
                            But it strange for me, why i can't have this library in my WEB-INF/lib??????

                            Thanks all

                            -Andrew

                            • 11. Re: Using SEAM with Apache Tree2
                              edgar.silva

                              Tchê, também estou com um problema parecido... Olha só a mensagem:

                              javax.servlet.ServletException: Encountered a node [0] + with an illogical state. Node is expanded but it is also considered a leaf (a leaf cannot be considered expanded.
                              javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
                              org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
                              org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)


                              Alguém aí saberia me explicar qual é o problema?

                              • 12. Re: Using SEAM with Apache Tree2
                                marius.oancea

                                You cannot expand a leaf node node. Try to look in your checkPath method

                                • 13. Re: Using SEAM with Apache Tree2
                                  paper

                                  In wich pacage can i find TreeNodeBase?
                                  Or ist this the org.apache.myfaces.custom.tree.TreeNode now?

                                  shouldn't it work to implement the TreeNode in entity-beans?

                                  Greets
                                  Dennis

                                  • 14. Re: Using SEAM with Apache Tree2

                                    I'm also on the problem now.
                                    My SB ClassifierManagement.treeData is populated by an entitybean. However my deployment fails because the tomahawk classes cant be found. The removal of the backingbean the view logic is partly going to the sessionbean, putting the tomahawk jar inside the web-inf/lib/ making it invisible for the SB.

                                    So I'm thinking right now that for this kind of "advanced" mixtture of appdata an ui-logic the backing bean will be back? Or should tomahawk.jar be globalized as topic origator stated?

                                    any thoughts welcome.
                                    regards,
                                    Jeroen.

                                    1 2 Previous Next