|
View:
New views
13 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map valuesBridgeImpl 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. |
|
|
[jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map values[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581531#action_12581531 ] Scott O'Bryan commented on PORTLETBRIDGE-31: -------------------------------------------- Not that I have any issues with putting this check in there, but is this an issue with the eXo portal. Typically one expects that a null value in a map will make that element NOT show up in the entry-set or the keys. Because of a contract in the map, returning null values has no real meaning and causes things to loop extra times. > 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. |
|
|
[jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map values[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581649#action_12581649 ] Kito D. Mann commented on PORTLETBRIDGE-31: ------------------------------------------- I don't see anything in the HashMap docs which say that the entrySet won't contain null values. How is this a contract? I'm thinking the code should for null keys, too, as there's nothing in the HashMap JavaDocs about that either. I'll check with the eXo folks to make sure this isn't a bug, though. > 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. |
|
|
[jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map values[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581651#action_12581651 ] Scott O'Bryan commented on PORTLETBRIDGE-31: -------------------------------------------- Looking at this again, your totally correct. Some maps treat setting the value to null as being the same as removing the value. This is in no way enforced by the contract though. :) In either case, let me take a look at the patch and I'll see about committing it. > 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. |
|
|
Re: [jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map valuesPatch looks good to me Kito, are you able to commit or do you want me to
do it? Scott Scott O'Bryan (JIRA) wrote: > [ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581651#action_12581651 ] > > Scott O'Bryan commented on PORTLETBRIDGE-31: > -------------------------------------------- > > Looking at this again, your totally correct. Some maps treat setting the value to null as being the same as removing the value. This is in no way enforced by the contract though. :) In either case, let me take a look at the patch and I'll see about committing it. > > >> 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. >> > > |
|
|
[jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map values[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581737#action_12581737 ] Scott O'Bryan commented on PORTLETBRIDGE-31: -------------------------------------------- Sorry to comment again on this. This patch won't quite work.. I think we only want the null value to effect whether or not we check for the annotation. The other logic still needs to hold true. For example, lets say we have a key of "mybean" configured in the face-config.xml to be excluded and that value is set to null on the map. With your logic the isExcludedFromBridgeRequestScope would return false, when in actuality it should return true. I think the net effect is trivial, but it may effect some usecases. Do you agree? Scott > 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. |
|
|
[jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map values[ 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. |
|
|
[jira] Commented: (PORTLETBRIDGE-31) BridgeImpl doesn't check for null Map values[ https://issues.apache.org/jira/browse/PORTLETBRIDGE-31?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12586913#action_12586913 ] Michael Freedman commented on PORTLETBRIDGE-31: ----------------------------------------------- The JSR 168/286 specs clearly state that request.setAttribute with a null value is equivalent to a request.removeAttribute. As this code is reading the requestMap which relies on these calls I think this is a eXo bug. What do folks think -- should the bridge include code to work around this bug or just ignore and leave it to eXo to fix? > 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 |