I have different error but the component is the same aswell as configuration.

from: http://jboss.com/index.html?module=bb&op=viewtopic&t=104440

"kot.filemon" wrote : Anyone knows what am I doing wrong?
  | 
  | I have one simple stateful bean which passes root node to tree component. 
When i try to display the page i'm redirected to seam debug page and get 
following exception
  | 
  | 
  |   | 20:01:59,011 ERROR [STDERR] Mar 19, 2007 8:01:59 PM 
com.sun.facelets.FaceletViewHandler handleRenderException
  |   | SEVERE: Error Rendering View[/tree.xhtml]
  |   | java.lang.ClassCastException: richtest.tree.TreeNodeExample
  |   |         at 
org.richfaces.component.AbstractTreeDataModel.setWrappedData(AbstractTreeDataModel.java:63)
  |   |         at 
org.richfaces.component.UITree.createDataModel(UITree.java:477)
  |   |         at 
org.ajax4jsf.ajax.repeat.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:464)
  |   |         at 
org.ajax4jsf.ajax.repeat.UIDataAdaptor.setRowKey(UIDataAdaptor.java:280)
  |   |         at 
org.ajax4jsf.ajax.repeat.UIDataAdaptor.setRowKey(UIDataAdaptor.java:265)
  |   |         at 
org.richfaces.renderkit.TreeRendererBase.writeContent(TreeRendererBase.java:395)
  |   |         at 
org.richfaces.renderkit.TreeRendererBase.encodeChildren(TreeRendererBase.java:299)
  |   |         at 
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
  |   |         at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
  |   |         at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
  |   |         at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
  |   |         at 
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
  |   |         at 
org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
  |   |         at 
org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:229)
  |   |         at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
  |   |         at 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
  |   |         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |   |         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |   |         at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:234)
  |   |         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |   |         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |   |         at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
  |   |         at 
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
  |   |         at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |   |         at 
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
  |   |         at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |   |         at 
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
  |   |         at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |   |         at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
  |   |         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |   |         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |   |         at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
  |   |         at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
  |   |         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:96)
  |   |         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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |   |         at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |   |         at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |   |         at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |   |         at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  |   |         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:869)
  |   |         at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  |   |         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(Thread.java:595)
  |   | 
  | 
  | I checked what is AbstractTreeDataModel.setWrappedData responsilble for:
  | 
  | 
  |   |        public final void setWrappedData(Object data) {
  |   |                 wrappedData = (TreeNode) data;
  |   |         }
  |   | 
  | 
  | so, I have put a breakpoint there and checked what Object data appear to 
be. As expected it was my implementation of TreeNode.
  | 
  | 
  |   | package richtest.tree;
  |   | 
  |   | import java.util.HashMap;
  |   | import java.util.Iterator;
  |   | import java.util.Map;
  |   | 
  |   | import org.richfaces.component.TreeNode;
  |   | 
  |   | public class TreeNodeExample implements TreeNode {
  |   | 
  |   |         /**
  |   |          * 
  |   |          */
  |   |         private static final long serialVersionUID = 1L;
  |   | 
  |   |         private Map<Object, TreeNode> childs;
  |   | 
  |   |         private TreeNode parent;
  |   | 
  |   |         private String name;
  |   | 
  |   |         public TreeNodeExample() {
  |   |                 childs = new HashMap<Object, TreeNode>();
  |   | 
  |   |         }
  |   | 
  |   |         public TreeNodeExample(String name) {
  |   |                 this();
  |   |                 this.name = name;
  |   | 
  |   |         }
  |   | 
  |   |         public TreeNodeExample(String name, TreeNode parent) {
  |   |                 this(name);
  |   |                 setParent(parent);
  |   | 
  |   |         }
  |   | 
  |   |         public void addChild(Object id, TreeNode child) {
  |   |                 getChilds().put(id, child);
  |   | 
  |   |         }
  |   | 
  |   |         public int getChildsSize() {
  |   |                 return getChilds().size();
  |   |         }
  |   | 
  |   |         private Map<Object, TreeNode> getChilds() {
  |   |                 return this.childs;
  |   |         }
  |   | 
  |   |         public TreeNode getChild(Object id) {
  |   |                 return (TreeNode) getChilds().get(id);
  |   |         }
  |   | 
  |   |         public Iterator getChildren() {
  |   |                 return getChilds().entrySet().iterator();
  |   |         }
  |   | 
  |   |         public Object getData() {
  |   | 
  |   |                 return this;
  |   |         }
  |   | 
  |   |         public TreeNode getParent() {
  |   |                 return parent;
  |   |         }
  |   | 
  |   |         public boolean isLeaf() {
  |   |                 return getChilds().isEmpty();
  |   |         }
  |   | 
  |   |         public void removeChild(Object id) {
  |   |                 TreeNode tmp = getChild(id);
  |   |                 tmp.setParent(null);
  |   |                 getChilds().remove(id);
  |   | 
  |   |         }
  |   | 
  |   |         public void setData(Object arg0) {
  |   |                 // not used
  |   | 
  |   |         }
  |   | 
  |   |         public void setParent(TreeNode parent) {
  |   |                 if (parent != null) {
  |   |                         TreeNodeExample ex = (TreeNodeExample) parent;
  |   |                         parent.addChild(ex.getChildsSize(), this);
  |   |                 }
  |   |                 this.parent = parent;
  |   | 
  |   |         }
  |   | 
  |   |         public String getName() {
  |   |                 return name;
  |   |         }
  |   | 
  |   |         public void setName(String name) {
  |   |                 this.name = name;
  |   |         }
  |   | 
  |   |         public String toString() {
  |   |                 return name;
  |   |         }
  |   | 
  |   | }
  |   | 
  | 
  | my page:
  | 
  |   | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  |   |                       
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  |   | <div xmlns="http://www.w3.org/1999/xhtml";
  |   |         xmlns:s="http://jboss.com/products/seam/taglib";
  |   |         xmlns:ui="http://java.sun.com/jsf/facelets";
  |   |         xmlns:f="http://java.sun.com/jsf/core";
  |   |         xmlns:h="http://java.sun.com/jsf/html";
  |   |         xmlns:rich="http://richfaces.ajax4jsf.org/rich";
  |   |         xmlns:a4j="https://ajax4jsf.dev.java.net/ajax";>
  |   | 
  |   | 
  |   |         <ui:composition template="/template.xhtml">
  |   | 
  |   |                 <ui:define name="body">
  |   |                         <f:view>
  |   |                                 <h:form>
  |   |                                         <div>
  |   | 
  |   |                                                 <rich:tree width="300" 
height="150" 
  |   |                                                         
value="#{treeExample.data}" var="item" nodeFace="test">
  |   |                                                         <rich:treeNode 
type="test">
  |   |                                                                 
<h:outputText value="#{item.name}" />
  |   |                                                         </rich:treeNode>
  |   |                                                 </rich:tree>
  |   | 
  |   |                                         </div>
  |   | 
  |   |                                 </h:form>
  |   |                         </f:view>
  |   |                 </ui:define>
  |   |         </ui:composition>
  |   | 
  |   | </div>
  |   | 
  | 
  | the template
  | 
  |   | <?xml version="1.0" encoding="utf-8"?>
  |   | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  |   |                       
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  |   | <html xmlns="http://www.w3.org/1999/xhtml";
  |   |         xmlns:ui="http://java.sun.com/jsf/facelets";
  |   |         xmlns:h="http://java.sun.com/jsf/html";
  |   |         xmlns:f="http://java.sun.com/jsf/core";
  |   |         xmlns:rich="http://richfaces.ajax4jsf.org/rich";>
  |   |         <head>
  |   |                 <meta http-equiv="Content-Type"
  |   |                         content="text/html; charset=iso-8859-1" />
  |   |                 <meta http-equiv="expires" content="0" />
  |   |                 <title>Test</title>
  |   | 
  |   |                 <style type="text/css">
  |   | /* a lot of classes */
  |   | </style>
  |   | 
  |   |         </head>
  |   | 
  |   |         <body>
  |   | 
  |   |                 <h:form>
  |   |                         <rich:toolBar itemSeparator="line">
  |   |                                 <rich:toolBarGroup itemSeparator="grid">
  |   | 
  |   |                                         <h:commandLink value="simple" 
action="/slider.seam" />
  |   |                                         <h:commandLink value="tree" 
action="/tree.seam" />
  |   |                                         <h:commandLink value="table" 
action="/table.seam" />
  |   |                                 </rich:toolBarGroup>
  |   | 
  |   |                         </rich:toolBar>
  |   |                 </h:form>
  |   |                 <ui:insert name="body">
  |   |                 TOPNAV
  |   |             </ui:insert>
  |   |         </body>
  |   | </html>
  |   | 
  |   | 
  | 
  | and the stateful bean
  | 
  | 
  |   | package richtest.tree;
  |   | 
  |   | import javax.ejb.Remove;
  |   | import javax.ejb.Stateful;
  |   | 
  |   | import org.jboss.seam.annotations.Destroy;
  |   | import org.jboss.seam.annotations.Name;
  |   | 
  |   | @Stateful
  |   | @Name("treeExample")
  |   | public class TreeManager implements ITreeManager {
  |   | 
  |   |         private TreeNodeExample root;
  |   | 
  |   |         @Remove
  |   |         @Destroy
  |   |         public void destroy() {
  |   | 
  |   |         }
  |   | 
  |   |         public Object getData() {
  |   |                 if (root == null)
  |   |                         init();
  |   |                 
  |   |                 return root;
  |   |         }
  |   | 
  |   |         private void init() {
  |   |                 
  |   |                 this.root = new TreeNodeExample("root");
  |   |                 for (int i = 0; i < 6; i++) {
  |   |                         TreeNodeExample item = new 
TreeNodeExample("item" + i, root);
  |   |                 }
  |   |                 
  |   | 
  |   |         }
  |   | }
  |   | 
  |   | 
  |   | 
  | 
  | with it's inteface
  | 
  | 
  |   | package richtest.tree;
  |   | 
  |   | import javax.ejb.Local;
  |   | 
  |   | 
  |   | @Local
  |   | public interface ITreeManager {
  |   | 
  |   |         public void destroy();
  |   | 
  |   |         
  |   |         
  |   |         public Object getData();
  |   | }
  |   | 
  |   | 
  | 
  | please, help ;)

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4029461#4029461

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4029461
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to