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

Jean ANDRE (JIRA) jira-events at lists.jboss.org
Mon Feb 27 07:48:36 EST 2012


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

Jean ANDRE commented on RF-11985:
---------------------------------

Hello Brian,

We understand your needs and we are agree about what you say, however we cannot spend to too much time for digging and the best we can do for you is to send the application. Deploying an EAR is pretty easy and you will be able to reproduce the bug. The UI is in english language, the application did not have any access to DB, it is pure UI (JSF, RichFaces), no business rules at this stage. The application is not complex at all but the particularity of the application, is that the application implements the concept of the Single Page Application (see Wiki for SPA). We probably need to work closer as we did with IBM. For example, recently with IBM we resolved a bug with CDI (OWB) and they collected specific traces (FFDC/LOG) and they also requested the EAR file). They have also a beautiful tool, and with this tool, IBM connects directly to my computer to assist me in collecting trace, configure Websphere, and see in real time the bug.

This application is a real opportunity for you do see and resolved many of your bugs. It is a real laboratory for you and also a real test case for tabPanel, nested tabPanel, dynamic tabs Panel, tabPanel isolation, tabPanel conversation, TabPanel event and etc... So, let me know your decision - Best regards.


                
> 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