[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614099#action_12614099 ]
Kito D. Mann commented on PORTLETBRIDGE-31: ------------------------------------------- Yeah, the attribute _is_ an eXo attribute, so I'm talking to the eXo portlet container team about it. I think it might have gotten into the map when the portlet environment is being setup (when the code is working directly with the HttpServletRequest), but I'm not sure. I'll let you know what I find out after they've looked into it more. > 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 2.patch, 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.