TreeNode Selection InvalidArgumentException

UI Components for JSF
Post Reply
dgbarber
Posts: 9
Joined: 19 Aug 2010, 01:03
Location: Northern Rockies, USA

19 Aug 2010, 01:26

I just upgraded to Primefaces 2.2. My p:tree now throws an InvalidArgumentException when a selection is made. It worked with V2.1.

Here is my test code:

<p:tree nodeSelectListener="#{treeBean.onNodeSelect}"
value="#{treeBean.model}"
var="node"
selectionMode="single"
selection="#{treeBean.selectedNodes}"
update="testTextPanel">
<p:treeNode>
<h:outputText value="#{node}"/>
</p:treeNode>
</p:tree>

The "selectedNodes" property in TreeBean.java is declared as:

private TreeNode[] selectedNodes;

The nodeSelectListener is never hit.

The traceback is:


[java] WARNING: /faces/TreeTest.xhtml;jsessionid=1hezj3y55r2pq
[java] java.lang.IllegalArgumentException: Cannot convert Node2 of type class org.primefaces.model.DefaultTreeNode to class [Lorg.primefaces.model.TreeNode;
[java] at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:381)
[java] at com.sun.el.parser.AstValue.setValue(AstValue.java:164)
[java] at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:273)
[java] at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:128)
[java] at org.primefaces.component.tree.Tree.processUpdates(Tree.java:308)
[java] at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1109)
[java] at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1218)
[java] at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:74)
[java] at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
[java] at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
[java] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
[java] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
[java] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
[java] at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)
[java] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[java] at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
[java] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[java] at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
[java] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
[java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
[java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
[java] at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
[java] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[java] at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349)
[java] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[java] at org.mortbay.jetty.Server.handle(Server.java:326)
[java] at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
[java] at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
[java] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
[java] at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
[java] at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
[java] at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
[java] at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
primefaces-3.0.RC1-SNAPSHOT, Mojarra 2.1.1, Glassfish 3.1.1, Tomcat 7, Netbeans 7.0.1

cagatay.civici
Prime
Posts: 18616
Joined: 05 Jan 2009, 00:21
Location: Cybertron
Contact:

19 Aug 2010, 13:33

Your selection should be a single TreeNode instance not an array.

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 12 guests