[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582125#action_12582125
 ] 

Kito D. Mann commented on PORTLETBRIDGE-31:
-------------------------------------------

I see what you're saying. Let me know what you think of this new patch.

> BridgeImpl doesn't check for null Map values
> --------------------------------------------
>
>                 Key: PORTLETBRIDGE-31
>                 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-31
>             Project: MyFaces Portlet Bridge
>          Issue Type: Bug
>          Components: Impl
>    Affects Versions: 1.0.0-alpha-2
>         Environment: Windows XP, Tomcat 6, eXo portal, JSF RI
>            Reporter: Kito D. Mann
>         Attachments: BridgeImpl.patch
>
>
> When copying request values, the Bridge doesn't check for null. Specifically, 
> the isExcludedFromBridgeRequestScope method doesn't check for null. This 
> causes a problem with eXo portal (I suppose it puts a null value in that 
> map). Here's the stack trace:
> java.lang.NullPointerException
>       at 
> org.apache.myfaces.portlet.faces.bridge.BridgeImpl.isExcludedFromBridgeRequestScope(BridgeImpl.java:893)
>       at 
> org.apache.myfaces.portlet.faces.bridge.BridgeImpl.copyRequestMap(BridgeImpl.java:877)
>       at 
> org.apache.myfaces.portlet.faces.bridge.BridgeImpl.saveBridgeRequestScopeData(BridgeImpl.java:837)
>       at 
> org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:267)
>       at 
> javax.portlet.faces.GenericFacesPortlet.doBridgeDispatch(GenericFacesPortlet.java:331)
>       at 
> javax.portlet.faces.GenericFacesPortlet.processAction(GenericFacesPortlet.java:189)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.PortletMethodCommand.processAction(PortletMethodCommand.java:67)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:45)
>       at 
> org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:38)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.processAction(BaseCommandUnit.java:61)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:45)
>       at 
> org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:38)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.PortletCacheCommand.processAction(PortletCacheCommand.java:220)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:45)
>       at 
> org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:38)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.PortletFilterCommand.processAction(PortletFilterCommand.java:71)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:45)
>       at 
> org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:38)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.PortletSecurityCommand.processAction(PortletSecurityCommand.java:52)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:45)
>       at 
> org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:38)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.processAction(BaseCommandUnit.java:61)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:45)
>       at 
> org.exoplatform.container.component.ExecutionContext.execute(ExecutionContext.java:32)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.aop.PortletCommandChain.doProcessAction(PortletCommandChain.java:52)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.PortletApplicationHandler.process(PortletApplicationHandler.java:241)
>       at 
> org.exoplatform.services.portletcontainer.impl.servlet.ServletWrapper.service(ServletWrapper.java:100)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.PortletContainerDispatcher.dispatch(PortletContainerDispatcher.java:537)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.PortletContainerDispatcher.process(PortletContainerDispatcher.java:472)
>       at 
> org.exoplatform.services.portletcontainer.plugins.pc.PortletContainerDispatcher.processAction(PortletContainerDispatcher.java:367)
>       at 
> org.exoplatform.services.portletcontainer.impl.PortletContainerServiceImpl.processAction(PortletContainerServiceImpl.java:205)
>       at 
> org.exoplatform.portal.webui.application.UIPortletActionListener$ProcessActionActionListener.execute(UIPortletActionListener.java:109)
>       at org.exoplatform.webui.event.Event.broadcast(Event.java:52)
>       at 
> org.exoplatform.portal.webui.application.UIPortletLifecycle.processAction(UIPortletLifecycle.java:116)
>       at 
> org.exoplatform.webui.core.UIComponent.processAction(UIComponent.java:90)
>       at 
> org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processAction(UIPortalApplicationLifecycle.java:56)
>       at 
> org.exoplatform.webui.core.UIComponent.processAction(UIComponent.java:90)
>       at 
> org.exoplatform.webui.core.UIApplication.processAction(UIApplication.java:80)
>       at 
> org.exoplatform.webui.application.WebuiApplication.processAction(WebuiApplication.java:105)
>       at 
> org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:87)
>       at 
> org.exoplatform.web.WebAppController.service(WebAppController.java:126)
>       at 
> org.exoplatform.portal.application.PortalController.service(PortalController.java:92)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.exoplatform.frameworks.jcr.web.SimpleSessionFactoryInitializedFilter.doFilter(SimpleSessionFactoryInitializedFilter.java:144)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at com.virtua.knowesis.portal.UrlFilter.doFilter(UrlFilter.java:204)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> com.virtua.knowesis.web.common.SessionInViewFilter.doFilter(SessionInViewFilter.java:32)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
>       at java.lang.Thread.run(Thread.java:595)
> The fix is just to check for null in this method. The patch is attached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to