-
1. Re: Using SEAM with Apache Tree2
zealot Oct 20, 2005 7:06 AM (in response to zealot)has any one tried this and has some example code?
I would really appreciate some help :-) -
2. Re: Using SEAM with Apache Tree2
zealot Oct 20, 2005 8:12 AM (in response to zealot)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
js8523 Oct 20, 2005 9:49 AM (in response to zealot)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
zealot Oct 21, 2005 1:38 AM (in response to zealot)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
zealot Oct 21, 2005 6:45 AM (in response to zealot)js8523 can you post some examples. It is very important for me.
Thanks -
6. Re: Using SEAM with Apache Tree2
marius.oancea Oct 22, 2005 7:45 PM (in response to zealot)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
js8523 Oct 24, 2005 5:08 PM (in response to zealot)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 Oct 25, 2005 2:35 AM (in response to zealot)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
zealot Oct 25, 2005 6:27 AM (in response to zealot)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 classpublic 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
zealot Oct 26, 2005 7:45 AM (in response to zealot)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 Nov 4, 2005 5:55 AM (in response to zealot)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 Nov 4, 2005 6:12 AM (in response to zealot)You cannot expand a leaf node node. Try to look in your checkPath method
-
13. Re: Using SEAM with Apache Tree2
paper Mar 24, 2006 8:49 PM (in response to zealot)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
jdijkmeijer Oct 17, 2006 3:00 AM (in response to zealot)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.