Uploaded image for project: 'JBoss Portal'
  1. JBoss Portal
  2. JBPORTAL-2424

Exception while calling removePublicRenderParameter on javax.portlet.actionResponse

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.7.2 Final
    • Fix Version/s: 2.7.3 Final
    • Component/s: None
    • Labels:
      None

      Description

      Calling of method removePublicRenderParameter on javax.portlet.ActionResponse doesn't work correctly if you try to call method on some previously saved parameter. Problem can be easily simulated by trying this scenario (portal-coordination-samples should be deployed):

      1) Go to http://localhost:8080/portal/portal/default/Coordination+Samples/Parameters+-+Implicit

      2) Add value "Some value" to parameter "daa1" in PublicParametersPortletWindow1. Click to "Update" button.

      3) Click to the text field "daa1" and delete the value "Some value" (not click to "Remove" link but delete the value directly in text field). Click to "Update" button.

      4) You can see Tomcat page with 500 code. Screenshot with exception attached. This exception on it:

      java.lang.IllegalArgumentException: Array must not be zero length
      org.jboss.portal.common.util.ParameterMap$ValueConverter.getInternal(ParameterMap.java:431)
      org.jboss.portal.common.util.ParameterMap$ValueConverter.getInternal(ParameterMap.java:406)
      org.jboss.portal.common.util.AbstractTypedMap$Converter$4.transform(AbstractTypedMap.java:137)
      org.jboss.portal.common.util.AbstractTypedMap.put(AbstractTypedMap.java:239)
      org.jboss.portal.common.util.ParameterMap.setValues(ParameterMap.java:245)
      org.jboss.portal.core.portlet.PortletRequestEncoder.configure(PortletRequestEncoder.java:208)
      org.jboss.portal.core.portlet.PortletRequestEncoder.encodeRender(PortletRequestEncoder.java:169)
      org.jboss.portal.core.model.portal.PortalObjectURLFactory.doMapping(PortalObjectURLFactory.java:168)
      org.jboss.portal.core.controller.command.mapper.DelegatingURLFactoryService.doMapping(DelegatingURLFactoryService.java:68)
      org.jboss.portal.core.controller.ControllerContext.renderURL(ControllerContext.java:171)
      org.jboss.portal.core.controller.classic.ClassicResponseHandler.processCommandResponse(ClassicResponseHandler.java:62)
      org.jboss.portal.core.controller.handler.ResponseHandlerSelector.processCommandResponse(ResponseHandlerSelector.java:70)
      org.jboss.portal.core.controller.Controller.processCommandResponse(Controller.java:315)
      org.jboss.portal.core.controller.Controller.processCommand(Controller.java:303)
      org.jboss.portal.core.controller.Controller.handle(Controller.java:261)
      org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestControllerDispatcher.java:51)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
      org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(ContentTypeInterceptor.java:68)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.cms.aspect.IdentityBindingInterceptor.invoke(IdentityBindingInterceptor.java:47)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.aspects.server.PortalContextPathInterceptor.invoke(PortalContextPathInterceptor.java:45)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInterceptor.java:96)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterceptor.java:196)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.server.aspects.server.SignOutInterceptor.invoke(SignOutInterceptor.java:98)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.invoke(UserEventBridgeTriggerInterceptor.java:65)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.aspects.server.IdentityCacheInterceptor.invoke(IdentityCacheInterceptor.java:68)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$portal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInterceptor.java:49)
      org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
      org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
      org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
      org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
      org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
      org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:262)
      org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
      org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(TransactionInterceptor.java)
      org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.server.aspects.LockInterceptor$InternalLock.invoke(LockInterceptor.java:69)
      org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor.java:130)
      org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
      org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
      org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java:252)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  mposolda Marek Posolda
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: