[ 
https://issues.apache.org/jira/browse/MYFACES-3208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pablo Morales Mombiela updated MYFACES-3208:
--------------------------------------------

    Status: Open  (was: Patch Available)

> When searching tag handler names space is not checked in case of composite 
> library, incorrect detection on repeated tag name on different name spaces
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3208
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3208
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.6, 2.1.1
>         Environment: jboss 6
>            Reporter: Pablo Morales Mombiela
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> TagLibraryConfig.containsTagHandler search a composite component file like:
>                 ResourceHandler resourceHandler = 
>                     
> FacesContext.getCurrentInstance().getApplication().getResourceHandler();
>                 Resource compositeComponentResource = 
> resourceHandler.createResource(
>                         localName +".xhtml", _compositeLibraryName);
> But never check of name space is the same as requested, so method returns 
> 'true' if same tag name exist on different name space.
> Then null pointer is thrown when building component tree:
> 11:47:31,191 FATAL [org.apache.myfaces.renderkit.ErrorPageWriter] An 
> exception occurred: javax.faces.FacesException: java.lang.NullPointerException
>    at 
> org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
>  [:2.0.1]
>    at 
> org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
>  [:2.0.1]
>    at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:258) 
> [:2.0.1]
>    at 
> org.springframework.faces.mvc.JsfView.renderMergedOutputModel(JsfView.java:85)
>  [:2.3.0.RELEASE]
>    at 
> org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
>  [:3.0.5.RELEASE]
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) 
> [:1.0.0.Final]
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
> [:1.0.0.Final]
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>  [:6.0.0.Final]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>  [:3.0.5.RELEASE]
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>  [:6.0.0.Final]
>    at 
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
>  [:3.0.5.RELEASE]
>    at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>  [:3.0.5.RELEASE]
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  [:6.0.0.Final]
>    at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
>  [:6.0.0.Final]
>    at 
> org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
>  [:1.1.0.Final]
>    at 
> org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
>  [:1.1.0.Final]
>    at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
>  [:6.0.0.Final]
>    at 
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
> [:6.0.0.Final]
>    at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
> [:6.0.0.Final]
>    at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  [:6.0.0.Final]
>    at 
> org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
>  [:6.0.0.Final]
>    at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) 
> [:6.0.0.Final]
>    at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) 
> [:6.0.0.Final]
>    at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
>  [:6.0.0.Final]
>    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) 
> [:6.0.0.Final]
>    at java.lang.Thread.run(Thread.java:662) [:1.6.0_24]
> Caused by: java.lang.NullPointerException
>    at 
> javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:59)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:263)
>  [:2.0.1]
>    at 
> javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:54)
>  [:2.0.1]
>    at 
> javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:59)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:263)
>  [:2.0.1]
>    at 
> javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:54)
>  [:2.0.1]
>    at 
> javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:156)
>  [:2.0.1]
>    at 
> javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:57)
>  [:2.0.1]
>    at 
> javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:45)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:143)
>  [:2.0.1]
>    at 
> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView(FaceletViewDeclarationLanguage.java:310)
>  [:2.0.1]
>    at 
> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:66)
>  [:2.0.1]
>    at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239) 
> [:2.0.1]
>    ... 59 more
> A check like:
>     if ( ! _namespace.equals(ns) ) return false;
> Is not needed previous to facelet file search? 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to