Exception while calling removePublicRenderParameter on javax.portlet.actionResponse
-----------------------------------------------------------------------------------
Key: JBPORTAL-2424
URL:
https://jira.jboss.org/jira/browse/JBPORTAL-2424
Project: JBoss Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 2.7.3 Final
Environment: Ubuntu linux,
Sun Java 1.5.0_16,
JBoss 4.3.2.GA with JBoss Portal 2.7.2 - branch
Reporter: Marek Posolda
Attachments: coordination-exception.png
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/Paramete...
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)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira