[richfaces-issues] [JBoss JIRA] (RF-11985) rich:dataTable with MyFaces 2.x.x - Target Unreachable, identifier 'client' resolved to null

Brian Leathem (JIRA) jira-events at lists.jboss.org
Mon Mar 5 19:23:36 EST 2012


    [ https://issues.jboss.org/browse/RF-11985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12673815#comment-12673815 ] 

Brian Leathem commented on RF-11985:
------------------------------------

Jean ANDRE,

The attached java files here are not compilable; they reference classes that have not been provided.  There are 4 facelet files included, and 3 java files - is all this complexity required to reproduce this issue?  Have you tried reproducing it with simpler conditions? As it stand now, I have to disect the code samples you provided to discern your intent, and build a simple example that reproduces the issue.  Providing an EAR bundle is only goes so far, as one is not easily able to make and observe changes to the framework, nor the provided code.

I've written a wiki article that highlights some important aspects to keep in mind when submitting an issue report:
https://community.jboss.org/wiki/SubmittingEffectiveIssueReports

Please review the article, and consider any work you put into helping us isolate the issue as your "contribution" to the open-source process.  

Keep in mind that we are as interested in coming to a resolution with this issue as you are, but with many individuals reporting bugs in many different areas, we have to focus our attention on resolving issues that will have the biggest impact to our user-base.
                
> rich:dataTable with MyFaces 2.x.x - Target Unreachable, identifier 'client' resolved to null
> --------------------------------------------------------------------------------------------
>
>                 Key: RF-11985
>                 URL: https://issues.jboss.org/browse/RF-11985
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 4.2.0.CR1
>         Environment: MyFaces 2.0.x and 2.1.6 - RichFaces 4.2.0 CR1 - WAS 8.0.0.1 - Spring 3.0.6 - Hibernate Validator 4.2.0 Final
>            Reporter: Jean ANDRE
>            Priority: Critical
>              Labels: myfaces, waiting_on_user
>         Attachments: index.xhtml, listClient.xhtml, ResultClientController.java, searchClient.xhtml, SearchClientController.java, tabsClient.xhtml, TabsClientController.java
>
>
> We made a test under MyFaces implementation of JSF 2.0 and actually we got an error with the dataTable. At the first call of the web page, the dataTable performs well but once the dataTable is redisplayed, the dataTable is unable to reach an existing variable declared by the attribute var (ex.var="client").
> We made also the test by using the h:dataTable, the standard JSF tag and it is working perfectly - As you know we also use Mojarra as JSF implementation and it's working too. Then the problem seems to come from with rich:dataTable. Nothing very special here in using the tag.
> {code}
> 		<rich:dataTable id="resultListClient" var="client" value="#{tab.searchResult.data}" rendered="#{not tab.searchResult.isEmpty}" row="30" rowClasses="odd-row, even-row">
> 			<rich:column id="dejaVu" rendered="#{not resultClientController.isEmptyDejaVu()}">
> 				<!--            -->
> 				<!--  DEJA VU   -->
> 				<!--            -->
> 				<f:facet name="header">
> 					&#160;
> 				</f:facet>
> 				<h:graphicImage value="/images/checked.png"
> 							 rendered="#{resultClientController.isDejaVu(client.id)}"
> 							 alt="#{msg['common.dejaVu.alt']}"
> 							 title="#{msg['common.dejaVu.tooltip']}" />
> 			</rich:column>
> {code}
> {code}
>                                 javax.faces.FacesException: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable, identifier 'client' resolved to null
> 	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
> 	at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
> 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
> 	at com.intact.crm.web.filter.LoginFilter.doFilter(LoginFilter.java:56)
> 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
> 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
> 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
> 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:886)
> 	at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1655)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
> 	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
> 	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
> 	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
> 	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
> 	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
> 	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
> 	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1650)
> Caused by: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable, identifier 'client' resolved to null
> 	at org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:89)
> 	at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
> 	at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1007)
> 	at javax.faces.component.UIComponent.isVisitable(UIComponent.java:289)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:767)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
> 	at org.richfaces.component.UIDataAdaptor.visitComponents(UIDataAdaptor.java:1259)
> 	at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1286)
> 	at org.richfaces.component.UIDataTableBase.visitDataChildren(UIDataTableBase.java:359)
> 	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1360)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
> 	at javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:169)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
> 	at org.richfaces.component.AbstractTogglePanel.visitTree(AbstractTogglePanel.java:719)
> 	at javax.faces.component.UIForm.visitTree(UIForm.java:269)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
> 	at org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
> 	at org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)
> 	at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185)
> 	... 29 more
> {code}
> Please, not that the application is a single page application, everything appends inside a single page. Dynamic include is used to achieve this goal (see index.xhtml) - Tab is also dynamic except for the search. See screen shot.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the richfaces-issues mailing list