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

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

Hello Brian,

Well, agree with your request - We understand your needs. For this bug, we have 
cancelled the migration to MyFaces/CDI because under WAS we are not able to 
upgrade to the latest version of 2.1.6. We learnt that WAS 8 is using MyFaces 
2.0.2.... We got also some other problems as explained below:

After we changed the code to use the c:if and the subView (see forum: 
https://community.jboss.org/message/721147), the modifications made to the code 
does not allow the application to perform well under MyFaces. We got some error 
messages about duplicate Ids even if the application does not have any 
duplicate Ids and even if the application is running perfectly under Mojarra. 
Another problem we found is about the id syntax. Under RAD/MyFaces, having an 
id like #{tab.id}-blabla is not correct but with Mojarra, it is. We absolutely 
need to have a calculated Id as we create dynamically some tabs and as we 
include several occurrences of the same physical fragment.

Actually, the status is: under Mojorra, the application performs well. Under 
MyFaces 2.0.2 the application is not compatible. (sounds strange...)

If time permit, we will try to test the application under another application 
server with the latest implementation of MyFaces and with the latest 
implementation of CDI (OWB). I will return back to you if we got some 
interesting results for you.

Sincerely - Jean.
                
> 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

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to