Bug 832089

Summary: WSRP: getPortletProperties doesn't behave properly when en empty set of property names is passed
Product: [JBoss] JBoss Enterprise Portal Platform 5 Reporter: claprun <claprun>
Component: PortalAssignee: Thomas Heute <theute>
Status: VERIFIED --- QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 5.2.1.GACC: epp-bugs, mvecera, theute
Target Milestone: ---   
Target Release: 5.2.2.ER01   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
A problem detected with reading preferences from WLP 10.0.1 through a WSRP V1 endpoint caused the portlet properties to raise a NPE as a result of the interaction. This issue has been fixed in the affected WSRP component, and the component updated for this release. Reading the portlet properties via WSRP V1 now works as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description claprun@redhat.com 2012-06-14 13:37:35 UTC
Hello,
During our migration project we face a critical issue while trying to read the preferences from WLP 10.0.1 via WSRP V1 endpoint. 
Our setup is:
Producer - JBoss EPP 5.2.1
Consumer - Weblogic 10.0.1

Actions:
- We deployed remotable portlets in JBoss EPP 5.2.1
- We are trying to read the portlet properties via WSRP V1 interaction

Error Result:
2012-06-12 18:28:21,594 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] (http-0.0.0.0-8080-1) SOAP request exception
java.lang.NullPointerException: No null input accepted
        at org.gatein.common.util.AbstractTypedMap$Converter$2.transform(AbstractTypedMap.java:93)
        at org.gatein.common.util.AbstractTypedMap$TypedCollection.retainAll(AbstractTypedMap.java:527)
        at org.gatein.pc.portlet.state.producer.ProducerPortletInvoker.getProperties(ProducerPortletInvoker.java:501)
        at org.gatein.pc.portlet.PortletInvokerInterceptor.getProperties(PortletInvokerInterceptor.java:108)
        at org.gatein.wsrp.producer.invoker.RegistrationCheckingPortletInvoker.getProperties(RegistrationCheckingPortletInvoker.java:263)
        at org.gatein.wsrp.producer.handlers.PortletManagementHandler.getPortletProperties(PortletManagementHandler.java:571)
        at org.gatein.wsrp.producer.WSRPProducerImpl.getPortletProperties(WSRPProducerImpl.java:295)
        at org.gatein.wsrp.endpoints.v1.PortletManagementEndpoint.getPortletProperties(PortletManagementEndpoint.java:380)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.wsf.container.jboss50.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:117)
        at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:241)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:470)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:294)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:203)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:129)
        at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:85)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.gatein.wsrp.servlet.ServletAccessFilter.doFilter(ServletAccessFilter.java:54)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        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:235)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
        at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
        at java.lang.Thread.run(Thread.java:662)

Comment 1 JBoss JIRA Server 2012-06-14 15:07:06 UTC
Chris Laprun <chris.laprun> updated the status of jira GTNWSRP-290 to Coding In Progress

Comment 2 Michal Vanco 2012-06-19 10:31:06 UTC
See comment at https://bugzilla.redhat.com/show_bug.cgi?id=832887#c6

Comment 3 hfnukal@redhat.com 2012-08-27 14:25:07 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Read the preferences from WLP 10.0.1 via WSRP V1 endpoint
Consequences: Reading the portlet properties via WSRP V1 interaction throws error - Null pointer exception
Fix: Fixed in WSRP component, component updated.
Result: Reading the portlet properties via WSRP V1 works as expected

Comment 4 Jared MORGAN 2012-08-27 23:09:27 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,4 +1 @@
-Cause: Read the preferences from WLP 10.0.1 via WSRP V1 endpoint
+A problem detected with reading preferences from WLP 10.0.1 through a WSRP V1 endpoint caused the portlet properties to raise a NPE as a result of the interaction. This issue has been fixed in the affected WSRP component, and the component updated for this release. Reading the portlet properties via WSRP V1 now works as expected.-Consequences: Reading the portlet properties via WSRP V1 interaction throws error - Null pointer exception
-Fix: Fixed in WSRP component, component updated.
-Result: Reading the portlet properties via WSRP V1 works as expected

Comment 5 Viliam Rockai 2012-08-28 11:21:21 UTC
Verified again at 5.2.2 CR01