[jboss-svn-commits] JBoss Portal SVN: r5363 - in trunk: core/src/main/org/jboss/portal/core/model/portal portlet portlet/src/main/org/jboss/portal/portlet portlet/src/main/org/jboss/portal/portlet/tck portlet/src/main/org/jboss/portal/portlet/test portlet/src/main/org/jboss/portal/test/portlet server/src/main/org/jboss/portal/server server/src/main/org/jboss/portal/server/impl server/src/main/org/jboss/portal/server/request server/src/main/org/jboss/portal/server/servlet server/src/main/org/jboss/portal/test/server/parameters theme/src/main/org/jboss/portal/theme/servlet
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Oct 8 19:31:39 EDT 2006
Author: julien at jboss.com
Date: 2006-10-08 19:31:19 -0400 (Sun, 08 Oct 2006)
New Revision: 5363
Removed:
trunk/server/src/main/org/jboss/portal/server/request/RequestParameter.java
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectCommandFactory.java
trunk/portlet/build.xml
trunk/portlet/src/main/org/jboss/portal/portlet/PortletRequestDecoder.java
trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
trunk/portlet/src/main/org/jboss/portal/test/portlet/PortletRequestDecoderTestCase.java
trunk/server/src/main/org/jboss/portal/server/ServerInvocationContext.java
trunk/server/src/main/org/jboss/portal/server/impl/ServerInvocationContextImpl.java
trunk/server/src/main/org/jboss/portal/server/servlet/PortalServlet.java
trunk/server/src/main/org/jboss/portal/test/server/parameters/GetTest.java
trunk/server/src/main/org/jboss/portal/test/server/parameters/PostApplicationXWWWFormURLEncodedTest.java
trunk/server/src/main/org/jboss/portal/test/server/parameters/PostMultipartFormDataTest.java
trunk/theme/src/main/org/jboss/portal/theme/servlet/DynaAjaxServlet.java
Log:
simplified (my a little bit over engineered) server request parameter handling by having 2 maps (one for query parameters and one for body parameters when content type is x-www-formurlencoded) instead of one single map having special stuff to distinguish query values from body values.
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectCommandFactory.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectCommandFactory.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/PortalObjectCommandFactory.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -109,7 +109,7 @@
//
PortletRequestDecoder decoder = new PortletRequestDecoder();
- decoder.decode(invocation.getServerContext().getParameterMap());
+ decoder.decode(invocation.getServerContext().getQueryParameterMap(), invocation.getServerContext().getBodyParameterMap());
// Get the window navigational state
WindowNavigationalState windowNavState = (WindowNavigationalState)invocation.getAttribute(ServerInvocation.NAVIGATIONAL_STATE_SCOPE, window.getId() + "_window");
Modified: trunk/portlet/build.xml
===================================================================
--- trunk/portlet/build.xml 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/portlet/build.xml 2006-10-08 23:31:19 UTC (rev 5363)
@@ -514,7 +514,7 @@
<target name="test-framework" depends="init">
<execute-tests>
<x-test>
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.deployment.UnmarshallerTestCase"/>-->
+ <test todir="${test.reports}" name="org.jboss.portal.test.portlet.deployment.UnmarshallerTestCase"/>
<test todir="${test.reports}" name="org.jboss.portal.test.portlet.state.LocalStoreProducerStatefulPortletInvokerTestCase"/>
<test todir="${test.reports}" name="org.jboss.portal.test.portlet.state.RemoteStoreProducerStatefulPortletInvokerTestCase"/>
<test todir="${test.reports}" name="org.jboss.portal.test.portlet.state.LocalStoreConsumerStatefulPortletInvokerTestCase"/>
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/PortletRequestDecoder.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/PortletRequestDecoder.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/PortletRequestDecoder.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -21,7 +21,6 @@
*/
package org.jboss.portal.portlet;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.WindowState;
import org.jboss.portal.Mode;
@@ -95,16 +94,16 @@
/** . */
private int type;
- public void decode(Map params) throws IllegalArgumentException
+ public void decode(Map queryParams, Map bodyParams) throws IllegalArgumentException
{
// The meta info from the URL
int meta = 0;
- RequestParameter metaParam = (RequestParameter)params.get(META_PARAMETER);
- if (metaParam != null && metaParam.isFromQuery())
+ String[] metaParam = (String[])queryParams.get(META_PARAMETER);
+ if (metaParam != null)
{
try
{
- meta = Integer.parseInt(metaParam.getValue(), 16);
+ meta = Integer.parseInt(metaParam[0], 16);
}
catch (NumberFormatException ignore)
{
@@ -134,12 +133,12 @@
// Get the mode from the parameters if it exists
if ((meta & MODE_MASK) != 0)
{
- RequestParameter modeParam = (RequestParameter)params.get(MODE_PARAMETER);
- if (modeParam == null || !modeParam.isFromQuery())
+ String[] modeParam = (String[])queryParams.get(MODE_PARAMETER);
+ if (modeParam == null)
{
throw new IllegalArgumentException();
}
- mode = Mode.create(modeParam.getValue());
+ mode = Mode.create(modeParam[0]);
}
else
{
@@ -149,12 +148,12 @@
// Get the window state from the parameters if it exists
if ((meta & WINDOW_STATE_MASK) != 0)
{
- RequestParameter windowStateParam = (RequestParameter)params.get(WINDOW_STATE_PARAMETER);
- if (windowStateParam == null || !windowStateParam.isFromQuery())
+ String[] windowStateParam = (String[])queryParams.get(WINDOW_STATE_PARAMETER);
+ if (windowStateParam == null)
{
throw new IllegalArgumentException();
}
- windowState = WindowState.create(windowStateParam.getValue());
+ windowState = WindowState.create(windowStateParam[0]);
}
else
{
@@ -166,13 +165,15 @@
if (!opaque)
{
// Compute the parameters skipping the portlet navigational state that may be encoded as well
- Parameters form = new Parameters();
ParametersStateString query = new ParametersStateString();
- for (Iterator i = params.values().iterator(); i.hasNext();)
+ for (Iterator i = queryParams.entrySet().iterator(); i.hasNext();)
{
- RequestParameter param = (RequestParameter)i.next();
+ Map.Entry entry = (Map.Entry)i.next();
int index = 0;
- String name = param.getName();
+ String name = (String)entry.getKey();
+ String[] queryValues = (String[])entry.getValue();
+
+ //
if (META_PARAMETER.equals(name))
{
index = 1;
@@ -187,23 +188,19 @@
}
// We have interaction param(s) in the query string
- if (index < param.getThreshold())
+ if (index < queryValues.length)
{
- String[] values = (String[])param.subList(index, param.getThreshold()).toArray(new String[0]);
+ String[] values = new String[queryValues.length - index];
+ System.arraycopy(queryValues, index, values, 0, values.length);
query.setValues(name, values);
- index = param.getThreshold();
}
+ }
- // We have form param(s) in the body
- if (index < param.size())
- {
- String[] values = (String[])param.subList(index, param.size()).toArray(new String[0]);
- if (form == null)
- {
- form = new Parameters();
- }
- form.setValues(name, values);
- }
+ // Julien :
+ Parameters form = new Parameters();
+ if (bodyParams != null)
+ {
+ form.putAll(bodyParams);
}
//
@@ -223,10 +220,10 @@
else
{
// Decode the navigational state
- RequestParameter ns = (RequestParameter)params.get(NAVIGATIONAL_STATE_PARAMETER);
- if (ns != null && ns.isFromQuery())
+ String[] ns = (String[])queryParams.get(NAVIGATIONAL_STATE_PARAMETER);
+ if (ns != null)
{
- navigationalstate = new OpaqueStateString(ns.getValue());
+ navigationalstate = new OpaqueStateString(ns[0]);
}
else
{
@@ -237,10 +234,10 @@
if (type == ACTION_TYPE)
{
// Decode the interaction state
- RequestParameter is = (RequestParameter)params.get(INTERACTION_STATE_PARAMETER);
- if (is != null && is.isFromQuery())
+ String[] is = (String[])queryParams.get(INTERACTION_STATE_PARAMETER);
+ if (is != null)
{
- interactionState = new OpaqueStateString(is.getValue());
+ interactionState = new OpaqueStateString(is[0]);
}
else
{
@@ -249,16 +246,9 @@
//
form = new Parameters();
- for (Iterator i = params.values().iterator(); i.hasNext();)
+ if (bodyParams != null)
{
- RequestParameter param = (RequestParameter)i.next();
-
- // Do We have form param(s) in the body
- if (param.getThreshold() < param.size())
- {
- String[] values = (String[])param.subList(param.getThreshold(), param.size()).toArray(new String[0]);
- form.setValues(param.getName(), values);
- }
+ form.putAll(bodyParams);
}
}
else
@@ -274,10 +264,10 @@
type = NAV_TYPE;
// Get the mode from the parameters if it exists
- RequestParameter modeParam = (RequestParameter)params.get(MODE_PARAMETER);
- if (modeParam != null && modeParam.isFromQuery())
+ String[] modeParam = (String[])queryParams.get(MODE_PARAMETER);
+ if (modeParam != null)
{
- mode = Mode.create(modeParam.getValue());
+ mode = Mode.create(modeParam[0]);
}
else
{
@@ -285,10 +275,10 @@
}
// Get the window state from the parameters if it exists
- RequestParameter windowStateParam = (RequestParameter)params.get(WINDOW_STATE_PARAMETER);
- if (windowStateParam != null && windowStateParam.isFromQuery())
+ String[] windowStateParam = (String[])queryParams.get(WINDOW_STATE_PARAMETER);
+ if (windowStateParam != null)
{
- windowState = WindowState.create(windowStateParam.getValue());
+ windowState = WindowState.create(windowStateParam[0]);
}
else
{
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -26,7 +26,6 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.test.PortletController;
import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.server.request.RequestParameter;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
@@ -42,16 +41,15 @@
{
protected Collection getRenderList(ServerInvocation invocation) throws PortletInvokerException
{
- RequestParameter param = (RequestParameter)invocation.getServerContext().getParameterMap().get("portletName");
HttpSession session = invocation.getServerContext().getClientRequest().getSession();
List portletIds = null;
- if (param == null)
+ String[] values = (String[])invocation.getServerContext().getQueryParameterMap().get("portletName");
+ if (values == null)
{
portletIds = (List)session.getAttribute("portlets");
}
else
{
- String[] values = param.getValues();
portletIds = new ArrayList();
for (int i = 0; i < values.length; i++)
{
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -27,6 +27,7 @@
import org.jboss.portal.jems.as.system.AbstractJBossService;
import org.jboss.portal.common.util.Tools;
import org.jboss.portal.common.util.URLTools;
+import org.jboss.portal.common.NotYetImplemented;
import org.jboss.portal.portlet.ActionURL;
import org.jboss.portal.portlet.Parameters;
import org.jboss.portal.portlet.ParametersStateString;
@@ -67,7 +68,6 @@
import org.jboss.portal.server.RequestController;
import org.jboss.portal.server.ServerException;
import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.server.request.URLContext;
import org.jboss.portal.server.request.URLFormat;
import org.jboss.portal.server.util.HTTPStreamInfo;
@@ -137,7 +137,7 @@
Portlet portlet = portletInvoker.getPortlet(new PortletContext(portletId));
PortletRequestDecoder decoder = new PortletRequestDecoder();
- decoder.decode(invocation.getServerContext().getParameterMap());
+ decoder.decode(invocation.getServerContext().getQueryParameterMap(), invocation.getServerContext().getBodyParameterMap());
if (decoder.getType() == PortletRequestDecoder.ACTION_TYPE)
{
@@ -317,30 +317,31 @@
}
else if (result instanceof InsufficientPrivilegesResult)
{
- // Redirect to authed servlet
-
- // Compute the new url context
- URLContext uctx = invocation.getServerContext().getURLContext();
- uctx = URLContext.newInstance(uctx.getSecure(), true);
-
- //
- AbstractServerURL url = new AbstractServerURL();
- url.setPortalRequestPath("/index.html");
-
- //
- for (Iterator j = invocation.getServerContext().getParameterMap().values().iterator(); j.hasNext();)
- {
- RequestParameter param = (RequestParameter)j.next();
- url.setParameterValues(param.getName(), param.getValues());
- }
-
- //
- String s = invocation.getResponse().encodeURL(url, uctx);
-
- //
- HttpServletResponse resp = invocation.getServerContext().getClientResponse();
- resp.sendRedirect(s);
- return;
+ throw new NotYetImplemented();
+// // Redirect to authed servlet
+//
+// // Compute the new url context
+// URLContext uctx = invocation.getServerContext().getURLContext();
+// uctx = URLContext.newInstance(uctx.getSecure(), true);
+//
+// //
+// AbstractServerURL url = new AbstractServerURL();
+// url.setPortalRequestPath("/index.html");
+//
+// //
+// for (Iterator j = invocation.getServerContext().getParameterMap().values().iterator(); j.hasNext();)
+// {
+// RequestParameter param = (RequestParameter)j.next();
+// url.setParameterValues(param.getName(), param.getValues());
+// }
+//
+// //
+// String s = invocation.getResponse().encodeURL(url, uctx);
+//
+// //
+// HttpServletResponse resp = invocation.getServerContext().getClientResponse();
+// resp.sendRedirect(s);
+// return;
}
else
{
Modified: trunk/portlet/src/main/org/jboss/portal/test/portlet/PortletRequestDecoderTestCase.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/test/portlet/PortletRequestDecoderTestCase.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/portlet/src/main/org/jboss/portal/test/portlet/PortletRequestDecoderTestCase.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -25,7 +25,6 @@
import org.jboss.portal.portlet.PortletRequestDecoder;
import org.jboss.portal.portlet.ParametersStateString;
import org.jboss.portal.portlet.OpaqueStateString;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.portlet.Parameters;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
@@ -45,249 +44,264 @@
super(name);
}
+ private String[] asStringArray(String s)
+ {
+ return new String[]{s};
+ }
+
public void testCorruped()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
+ Map bodyParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
// Action + Render
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.ACTION_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.ACTION_MASK)));
+ o.decode(queryParams, null);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
}
// Action + Mode
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.ACTION_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.ACTION_MASK)));
+ o.decode(queryParams, null);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
}
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.ACTION_MASK)));
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.MODE_PARAMETER, Mode.VIEW.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.ACTION_MASK)));
+ bodyParams.put(PortletRequestDecoder.MODE_PARAMETER, asStringArray(Mode.VIEW.toString()));
+ o.decode(queryParams, bodyParams);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
// Action + WindowState
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.ACTION_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.ACTION_MASK)));
+ o.decode(queryParams, null);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
}
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.ACTION_MASK)));
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.WINDOW_STATE_PARAMETER, WindowState.NORMAL.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.ACTION_MASK)));
+ bodyParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, asStringArray(WindowState.NORMAL.toString()));
+ o.decode(queryParams, bodyParams);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
// Render + Mode
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.RENDER_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.RENDER_MASK)));
+ o.decode(queryParams, null);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
}
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.ACTION_MASK)));
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.MODE_PARAMETER, Mode.VIEW.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.MODE_MASK | PortletRequestDecoder.ACTION_MASK)));
+ bodyParams.put(PortletRequestDecoder.MODE_PARAMETER,asStringArray(Mode.VIEW.toString()));
+ o.decode(queryParams, bodyParams);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
// Render + WindowState
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.RENDER_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.RENDER_MASK)));
+ o.decode(queryParams, bodyParams);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
}
try
{
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.ACTION_MASK)));
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.WINDOW_STATE_PARAMETER, WindowState.NORMAL.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.WINDOW_STATE_MASK | PortletRequestDecoder.ACTION_MASK)));
+ bodyParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, asStringArray(WindowState.NORMAL.toString()));
+ o.decode(queryParams, bodyParams);
fail();
}
catch (IllegalArgumentException expected)
{
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
}
public void testNav()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
+ Map bodyParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
// Empty
- o.decode(params);
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query mode
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.MODE_PARAMETER, Mode.VIEW.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, asStringArray(Mode.VIEW.toString()));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertEquals(Mode.VIEW, o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query mode two values
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.VIEW.toString(),Mode.EDIT.toString()}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.VIEW.toString(),Mode.EDIT.toString()});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertEquals(Mode.VIEW, o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Body mode
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.MODE_PARAMETER, Mode.VIEW.toString()));
- o.decode(params);
+ bodyParams.put(PortletRequestDecoder.MODE_PARAMETER, asStringArray(Mode.VIEW.toString()));
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ bodyParams.clear();
// Query mode + Body mode
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.create(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.VIEW.toString()}, new String[]{Mode.EDIT.toString()}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.VIEW.toString()});
+ bodyParams.put(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.EDIT.toString()});
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertEquals(Mode.VIEW, o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
// Query window state
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.WINDOW_STATE_PARAMETER, WindowState.NORMAL.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, asStringArray(WindowState.NORMAL.toString()));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertNull(o.getMode());
assertEquals(WindowState.NORMAL, o.getWindowState());
- params.clear();
+ queryParams.clear();
// Body window state
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.WINDOW_STATE_PARAMETER, WindowState.NORMAL.toString()));
- o.decode(params);
+ bodyParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER,asStringArray(WindowState.NORMAL.toString()));
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.NAV_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
+ bodyParams.clear();
}
public void testRender()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
// Empty
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertEquals(new ParametersStateString(), o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query mode
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.MODE_MASK)));
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.MODE_PARAMETER, Mode.VIEW.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.MODE_MASK)));
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, asStringArray(Mode.VIEW.toString()));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertEquals(new ParametersStateString(), o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertEquals(Mode.VIEW, o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query window state
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.WINDOW_STATE_MASK)));
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.WINDOW_STATE_PARAMETER, WindowState.NORMAL.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.WINDOW_STATE_MASK)));
+ queryParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, asStringArray(WindowState.NORMAL.toString()));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertEquals(new ParametersStateString(), o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertEquals(WindowState.NORMAL, o.getWindowState());
- params.clear();
+ queryParams.clear();
}
public void testRenderNonOpaque()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
+ Map bodyParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
ParametersStateString navState = new ParametersStateString();
// Query parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
- params.put("foo", RequestParameter.createQuery("foo", "bar"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
+ queryParams.put("foo", asStringArray("bar"));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue("foo", "bar");
@@ -296,11 +310,11 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Query meta parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK),"bar"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK),"bar"});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue(PortletRequestDecoder.META_PARAMETER, "bar");
@@ -309,12 +323,12 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Query window state parameter + window state meta parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK|PortletRequestDecoder.WINDOW_STATE_MASK)}));
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.WINDOW_STATE_PARAMETER, new String[]{WindowState.NORMAL.toString(),"bar"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK|PortletRequestDecoder.WINDOW_STATE_MASK)});
+ queryParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, new String[]{WindowState.NORMAL.toString(),"bar"});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue(PortletRequestDecoder.WINDOW_STATE_PARAMETER, "bar");
@@ -323,12 +337,12 @@
assertNull(o.getMode());
assertEquals(WindowState.NORMAL, o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Query window state parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK)}));
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.WINDOW_STATE_PARAMETER, new String[]{"bar"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK)});
+ queryParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, new String[]{"bar"});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue(PortletRequestDecoder.WINDOW_STATE_PARAMETER, "bar");
@@ -337,12 +351,12 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Query mode parameter + mode meta parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK|PortletRequestDecoder.MODE_MASK)}));
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.VIEW.toString(),"bar"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK|PortletRequestDecoder.MODE_MASK)});
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, new String[]{Mode.VIEW.toString(),"bar"});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue(PortletRequestDecoder.MODE_PARAMETER, "bar");
@@ -351,12 +365,12 @@
assertEquals(Mode.VIEW, o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Query mode parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK)}));
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.MODE_PARAMETER, new String[]{"bar"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, new String[]{Integer.toHexString(PortletRequestDecoder.RENDER_MASK)});
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, new String[]{"bar"});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue(PortletRequestDecoder.MODE_PARAMETER, "bar");
@@ -365,12 +379,12 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Body parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
- params.put("foo", RequestParameter.createBody("foo", "bar2"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
+ bodyParams.put("foo", asStringArray("bar2"));
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertEquals(navState, o.getNavigationalstate());
@@ -378,12 +392,13 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
// Query multivalued parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
- params.put("foo", RequestParameter.createQuery("foo", new String[]{"bar1","bar2"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER,asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
+ queryParams.put("foo", new String[]{"bar1","bar2"});
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValues("foo", new String[]{"bar1","bar2"});
@@ -392,12 +407,13 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
// Query + Body parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
- params.put("foo", RequestParameter.create("foo", new String[]{"bar1"}, new String[]{"bar2"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK)));
+ queryParams.put("foo", new String[]{"bar1"});
+ bodyParams.put("foo", new String[]{"bar2"});
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
navState.setValue("foo", "bar1");
@@ -406,127 +422,132 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
navState.clear();
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
public void testRenderOpaque()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
+ Map bodyParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
// Empty
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query nav state
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, "navstatevalue"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ queryParams.put(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, asStringArray("navstatevalue"));
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertEquals(new OpaqueStateString("navstatevalue"), o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Body nav state
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, "navstatevalue"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ bodyParams.put(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, asStringArray("navstatevalue"));
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
// Query int state is ignored
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, "intstatevalue"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER,asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ queryParams.put(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, asStringArray("intstatevalue"));
+ o.decode(queryParams, null);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Body int state is ignored
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, RequestParameter.createBody(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, "intstatevalue"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ bodyParams.put(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, asStringArray("intstatevalue"));
+ o.decode(queryParams, bodyParams);
assertNull(o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.RENDER_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
public void testAction()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
// Empty
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
+ o.decode(queryParams, null);
assertEquals(new Parameters(), o.getForm());
assertEquals(new ParametersStateString(), o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query mode
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.MODE_MASK)));
- params.put(PortletRequestDecoder.MODE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.MODE_PARAMETER, Mode.VIEW.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.MODE_MASK)));
+ queryParams.put(PortletRequestDecoder.MODE_PARAMETER, asStringArray(Mode.VIEW.toString()));
+ o.decode(queryParams, null);
assertEquals(new Parameters(), o.getForm());
assertEquals(new ParametersStateString(), o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertEquals(Mode.VIEW, o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query window state
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.WINDOW_STATE_MASK)));
- params.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.WINDOW_STATE_PARAMETER, WindowState.NORMAL.toString()));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.WINDOW_STATE_MASK)));
+ queryParams.put(PortletRequestDecoder.WINDOW_STATE_PARAMETER, asStringArray( WindowState.NORMAL.toString()));
+ o.decode(queryParams, null);
assertEquals(new Parameters(), o.getForm());
assertEquals(new ParametersStateString(), o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertNull(o.getMode());
assertEquals(WindowState.NORMAL, o.getWindowState());
- params.clear();
+ queryParams.clear();
}
public void testActionNonOpaque()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
+ Map bodyParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
ParametersStateString intState = new ParametersStateString();
Parameters form = new Parameters();
// Query parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
- params.put("foo", RequestParameter.createQuery("foo", "bar"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
+ queryParams.put("foo", asStringArray("bar"));
+ o.decode(queryParams, null);
assertEquals(form, o.getForm());
intState.setValue("foo", "bar");
assertEquals(intState, o.getInteractionState());
@@ -535,13 +556,13 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
intState.clear();
- params.clear();
+ queryParams.clear();
form.clear();
// Query multivalued parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
- params.put("foo", RequestParameter.createQuery("foo", new String[]{"bar1","bar2"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
+ queryParams.put("foo", new String[]{"bar1","bar2"});
+ o.decode(queryParams, null);
assertEquals(form, o.getForm());
intState.setValues("foo", new String[]{"bar1","bar2"});
assertEquals(intState, o.getInteractionState());
@@ -550,13 +571,13 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
intState.clear();
- params.clear();
+ queryParams.clear();
form.clear();
// Body parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
- params.put("foo", RequestParameter.createBody("foo", "bar"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
+ bodyParams.put("foo", asStringArray("bar"));
+ o.decode(queryParams, bodyParams);
form.setValue("foo", "bar");
assertEquals(form, o.getForm());
assertEquals(intState, o.getInteractionState());
@@ -565,13 +586,14 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
form.clear();
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
form.clear();
// Body multivalued parameter
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
- params.put("foo", RequestParameter.createBody("foo", new String[]{"bar1","bar2"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK)));
+ bodyParams.put("foo", new String[]{"bar1","bar2"});
+ o.decode(queryParams, bodyParams);
form.setValues("foo", new String[]{"bar1","bar2"});
assertEquals(form, o.getForm());
assertEquals(intState, o.getInteractionState());
@@ -580,56 +602,59 @@
assertNull(o.getMode());
assertNull(o.getWindowState());
form.clear();
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
form.clear();
}
public void testActionOpaque()
{
- Map params = new HashMap();
+ Map queryParams = new HashMap();
+ Map bodyParams = new HashMap();
PortletRequestDecoder o = new PortletRequestDecoder();
// Empty
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ o.decode(queryParams, null);
assertEquals(new Parameters(), o.getForm());
assertNull(o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query nav state
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, "navstatevalue"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ queryParams.put(PortletRequestDecoder.NAVIGATIONAL_STATE_PARAMETER, asStringArray("navstatevalue"));
+ o.decode(queryParams, null);
assertEquals(new Parameters(), o.getForm());
assertNull(o.getInteractionState());
assertEquals(new OpaqueStateString("navstatevalue"), o.getNavigationalstate());
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Query int state
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, "intstatevalue"));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ queryParams.put(PortletRequestDecoder.INTERACTION_STATE_PARAMETER, asStringArray("intstatevalue"));
+ o.decode(queryParams, null);
assertEquals(new Parameters(), o.getForm());
assertEquals(new OpaqueStateString("intstatevalue"), o.getInteractionState());
assertNull(o.getNavigationalstate());
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
// Body parameters
- params.put(PortletRequestDecoder.META_PARAMETER, RequestParameter.createQuery(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
- params.put("foo1", RequestParameter.createBody("foo1", "bar1"));
- params.put("foo2", RequestParameter.createBody("foo2", new String[]{"bar2","bar3"}));
- params.put("foo3", RequestParameter.create("foo3", new String[]{"bar4"}, new String[]{"bar5"}));
- o.decode(params);
+ queryParams.put(PortletRequestDecoder.META_PARAMETER, asStringArray(Integer.toHexString(PortletRequestDecoder.ACTION_MASK | PortletRequestDecoder.OPAQUE_MASK)));
+ bodyParams.put("foo1", asStringArray("bar1"));
+ bodyParams.put("foo2", new String[]{"bar2","bar3"});
+ queryParams.put("foo3", new String[]{"bar4"});
+ bodyParams.put("foo3", new String[]{"bar5"});
+ o.decode(queryParams, bodyParams);
Parameters form = new Parameters();
form.setValue("foo1", "bar1");
form.setValues("foo2", new String[]{"bar2","bar3"});
@@ -640,6 +665,7 @@
assertEquals(PortletRequestDecoder.ACTION_TYPE, o.getType());
assertNull(o.getMode());
assertNull(o.getWindowState());
- params.clear();
+ queryParams.clear();
+ bodyParams.clear();
}
}
Modified: trunk/server/src/main/org/jboss/portal/server/ServerInvocationContext.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/server/ServerInvocationContext.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/server/ServerInvocationContext.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -48,11 +48,17 @@
HttpServletResponse getClientResponse();
/**
- * Return the parameter map.
+ * Return the parameter map decoded form the query string.
*/
- Map getParameterMap();
+ Map getQueryParameterMap();
/**
+ * Return the parameter map for the body if the request was a POST with the content type x-www-formurlencoded
+ * otherwise return null.
+ */
+ Map getBodyParameterMap();
+
+ /**
* Return the normalized media type of the request or null if none has been provided by the client.
*/
String getMediaType();
Modified: trunk/server/src/main/org/jboss/portal/server/impl/ServerInvocationContextImpl.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/server/impl/ServerInvocationContextImpl.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/server/impl/ServerInvocationContextImpl.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -56,9 +56,12 @@
/** . */
private String mediaType;
- /** The <String,Parameter>Map. */
- private Map parameterMap;
+ /** The query parameter map. */
+ private Map queryParameterMap;
+ /** The body parameter map or null. */
+ private Map bodyParameterMap;
+
/** The url context. */
private URLContext urlContext;
@@ -67,7 +70,8 @@
HttpServletResponse resp,
String portalRequestPath,
String portalContextPath,
- Map parameterMap,
+ Map queryParameterMap,
+ Map bodyParameterMap,
URLContext urlContext,
String mediaType)
{
@@ -85,7 +89,8 @@
this.resp = resp;
this.portalRequestPath = portalRequestPath;
this.portalContextPath = portalContextPath;
- this.parameterMap = parameterMap;
+ this.queryParameterMap = queryParameterMap;
+ this.bodyParameterMap = bodyParameterMap;
this.urlContext = urlContext;
this.mediaType = mediaType;
@@ -116,11 +121,17 @@
return urlContext;
}
- public Map getParameterMap()
+
+ public Map getQueryParameterMap()
{
- return parameterMap;
+ return queryParameterMap;
}
+ public Map getBodyParameterMap()
+ {
+ return bodyParameterMap;
+ }
+
public String getPortalRequestPath()
{
return portalRequestPath;
Deleted: trunk/server/src/main/org/jboss/portal/server/request/RequestParameter.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/server/request/RequestParameter.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/server/request/RequestParameter.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -1,230 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.portal.server.request;
-
-import java.util.List;
-import java.util.AbstractList;
-
-/**
- * A request parameter. It implements the list interface to give access to the values of the parameter.
- *
- * @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class RequestParameter extends AbstractList implements List
-{
-
- /** The parameter name. */
- private String name;
-
- /** The parameter values. */
- private String[] values;
-
- /** The get threshold. */
- private int threshold;
-
- /**
- * Creates a new parameter.
- *
- * @param name the parameter name
- * @param values the parameter values
- * @throws IllegalArgumentException when there is a bad argument
- */
- private RequestParameter(String name, String[] values, int threshold) throws IllegalArgumentException
- {
- if (name == null)
- {
- throw new IllegalArgumentException("No null name argument");
- }
- if (values == null)
- {
- throw new IllegalArgumentException("No null values array argument");
- }
- if (values.length < 1)
- {
- throw new IllegalArgumentException("No empty values array argument");
- }
- for (int i = 0; i < values.length; i++)
- {
- if (values[i] == null)
- {
- throw new IllegalArgumentException("No null value in the values argument");
- }
- }
- if (threshold < 0 || threshold > values.length)
- {
- throw new IllegalArgumentException("Threshold out of bounds " + threshold);
- }
- this.name = name;
- this.values = values;
- this.threshold = threshold;
- }
-
- /**
- * Return the parameter name.
- *
- * @return the parameter name
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Return the first value of this parameter.
- *
- * @return the first value
- */
- public String getValue()
- {
- return values[0];
- }
-
- /**
- * Return a value of this parameter
- *
- * @param index the value index
- * @return the value at the specified index
- * @throws IllegalArgumentException if the index is not valid
- */
- public String getValue(int index) throws IllegalArgumentException
- {
- if (index < 0 || index >= values.length)
- {
- throw new IllegalArgumentException("Bad index value " + index);
- }
- return values[index];
- }
-
- public boolean isFromQuery()
- {
- return threshold > 0;
- }
-
- public boolean isFromBody()
- {
- return threshold == 0;
- }
-
- public boolean isFromQuery(int index) throws IllegalArgumentException
- {
- if (index < 0 || index >= values.length)
- {
- throw new IllegalArgumentException("Bad index value " + index);
- }
- return index < threshold;
- }
-
- public boolean isFromBody(int index) throws IllegalArgumentException
- {
- if (index < 0 || index >= values.length)
- {
- throw new IllegalArgumentException("Bad index value " + index);
- }
- return index >= threshold;
- }
-
- /**
- * Return the values of the parameter. The returned array is a clone of the original one
- * so it can be modified.
- *
- * @return the values
- */
- public String[] getValues()
- {
- return (String[])values.clone();
- }
-
- public int getThreshold()
- {
- return threshold;
- }
-
- public Object get(int index)
- {
- return values[index];
- }
-
- public int size()
- {
- return values.length;
- }
-
-// public String toString()
-// {
-// StringBuffer buffer = new StringBuffer("Param[");
-// buffer.append(name);
-// for (int i = 0; i < values.length; i++)
-// {
-// Value value = values[i];
-// buffer.append(i == 0 ? "=" : ",");
-// buffer.append("(");
-// buffer.append(value.get ? "get" : "post");
-// buffer.append(",");
-// buffer.append(value.string);
-// buffer.append(")");
-// }
-// buffer.append("]");
-// return buffer.toString();
-// }
-
- public static RequestParameter createQuery(String name, String value) throws IllegalArgumentException
- {
- return create(name, new String[]{value}, 1);
- }
-
- public static RequestParameter createQuery(String name, String[] values) throws IllegalArgumentException
- {
- return create(name, values, values.length);
- }
-
- public static RequestParameter createBody(String name, String value) throws IllegalArgumentException
- {
- return create(name, new String[]{value}, 0);
- }
-
- public static RequestParameter createBody(String name, String[] values) throws IllegalArgumentException
- {
- return create(name, values, 0);
- }
-
- public static RequestParameter create(String name, String[] queryValues, String[] bodyValues) throws IllegalArgumentException
- {
- if (queryValues == null)
- {
- throw new IllegalArgumentException("No query values");
- }
- if (bodyValues == null)
- {
- throw new IllegalArgumentException("No body values");
- }
- String[] values = new String[queryValues.length + bodyValues.length];
- System.arraycopy(queryValues, 0, values, 0, queryValues.length);
- System.arraycopy(bodyValues, 0, values, queryValues.length, bodyValues.length);
- return create(name, values, queryValues.length);
- }
-
- public static RequestParameter create(String name, String[] values, int threshold) throws IllegalArgumentException
- {
- return new RequestParameter(name, values, threshold);
- }
-}
Modified: trunk/server/src/main/org/jboss/portal/server/servlet/PortalServlet.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/server/servlet/PortalServlet.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/server/servlet/PortalServlet.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -37,7 +37,6 @@
import org.jboss.portal.server.ServerResponse;
import org.jboss.portal.server.ServerURL;
import org.jboss.portal.server.impl.ServerInvocationContextImpl;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.server.request.URLContext;
import org.jboss.portal.server.request.URLFormat;
@@ -238,9 +237,64 @@
//
URLContext urlContext= parseURLContext(req);
+ // ***************
+ // ***************
+ // ***************
+ // ***************
+
+ // Parse the query string to have the get parameters
+ // The resulting map has its parameters decoded from the x-www-form-url encoding
+ Map queryParameterMap = Collections.EMPTY_MAP;
+ String queryString = req.getQueryString();
+ if (queryString != null)
+ {
+ queryParameterMap = parseQueryString(queryString);
+ }
+
//
- Map parameterMap = parseParameters(req);
+ Map bodyParameterMap = null;
+ if (isGet == false && PortalConstants.APPLICATION_X_WWW_FORM_URLENCODED.equals(mediaType))
+ {
+ //
+ bodyParameterMap = new HashMap();
+ for (Iterator i = req.getParameterMap().entrySet().iterator(); i.hasNext();)
+ {
+ Map.Entry entry = (Map.Entry)i.next();
+
+ // Get param name
+ String paramName = (String)entry.getKey();
+
+ // Values that are aggregated from the query string and the body
+ String[] paramValues = (String[])entry.getValue();
+
+ // Values decoded from the query string
+ String[] queryValues = (String[])queryParameterMap.get(paramName);
+ if (queryValues != null)
+ {
+ int bodyValuesLength = paramValues.length - queryValues.length;
+ if (bodyValuesLength > 0)
+ {
+ String[] bodyValues = new String[bodyValuesLength];
+ System.arraycopy(paramValues, queryValues.length, bodyValues, 0, bodyValuesLength);
+ bodyParameterMap.put(paramName, bodyValues);
+ }
+ }
+ else
+ {
+ bodyParameterMap.put(paramName, paramValues);
+ }
+ }
+
+ // Make the map unmodifiable
+ bodyParameterMap = Collections.unmodifiableMap(bodyParameterMap);
+ }
+
+ // ***************
+ // ***************
+ // ***************
+ // ***************
+
//
Server server = getServer();
@@ -250,7 +304,8 @@
resp,
portalRequestPath,
portalContextPath,
- parameterMap,
+ queryParameterMap,
+ bodyParameterMap,
urlContext,
mediaType);
@@ -460,54 +515,12 @@
return URLContext.newInstance(req.isSecure(), req.getRemoteUser() != null);
}
- private Map parseParameters(HttpServletRequest req)
- {
- Map parameters = new HashMap(req.getParameterMap());
-
- // Parse the query string to have the get parameters
- // The resulting map has its parameters decoded from the x-www-form-url encoding
- String queryString = req.getQueryString();
- Map queryMap = Collections.EMPTY_MAP;
- if (queryString != null)
- {
- queryMap = parseQueryString(queryString);
- }
-
- //
- for (Iterator i = parameters.entrySet().iterator(); i.hasNext();)
- {
- Map.Entry entry = (Map.Entry)i.next();
-
- // Get param name
- String paramName = (String)entry.getKey();
-
- // Values that are aggregated from the query string and the body
- String[] paramValues = (String[])entry.getValue();
-
- // Values decoded from the query string
- String[] queryValues = (String[])queryMap.get(paramName);
- if (queryValues == null)
- {
- queryValues = new String[0];
- }
-
- // Overwrite the values with what we got from the query string
- System.arraycopy(queryValues, 0, paramValues, 0, queryValues.length);
-
- // Build the entry
- RequestParameter param = RequestParameter.create(paramName, paramValues, queryValues.length);
-
- // And replace it
- entry.setValue(param);
- }
-
- // Make the map unmodifiable
- return Collections.unmodifiableMap(parameters);
- }
-
+ /**
+ * Parse the query string and build an unmodifiable parameter map of it.
+ */
private Map parseQueryString(String queryString)
{
- Map result = new HashMap();
+ Map result = Collections.EMPTY_MAP;
for (StringTokenizer tokenizer = new StringTokenizer(queryString, "&"); tokenizer.hasMoreTokens();)
{
String token = tokenizer.nextToken();
@@ -535,6 +548,12 @@
values = tmp;
}
values[values.length - 1] = value;
+
+ // Replace the empty map if necessary with a real hashmap
+ if (result.isEmpty())
+ {
+ result = new HashMap();
+ }
result.put(name, values);
}
else
@@ -544,6 +563,6 @@
// 0 means we have an empty name
}
}
- return result;
+ return result.isEmpty() ? result : Collections.unmodifiableMap(result);
}
}
Modified: trunk/server/src/main/org/jboss/portal/test/server/parameters/GetTest.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/test/server/parameters/GetTest.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/test/server/parameters/GetTest.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -24,13 +24,14 @@
import org.jboss.portal.server.AbstractServerURL;
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.server.ServerInvocationContext;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.test.framework.container.TestCaseContext;
import org.jboss.portal.test.framework.container.result.AssertResult;
import org.jboss.portal.test.framework.container.result.InvokeGetResult;
import org.jboss.portal.test.framework.container.result.Result;
import org.jboss.portal.test.server.AbstractTest;
+import java.util.Map;
+
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision$
@@ -58,39 +59,26 @@
public void run() throws Exception
{
ServerInvocationContext context = invocation.getServerContext();
- RequestParameter a = (RequestParameter)context.getParameterMap().get("a");
+ Map queryParameterMap = context.getQueryParameterMap();
+ Map bodyParameterMap = context.getBodyParameterMap();
+
+ //
+ assertNotNull(queryParameterMap);
+ assertNull(bodyParameterMap);
+
+ String[] a = (String[])queryParameterMap.get("a");
assertNotNull(a);
- assertEquals("a", a.getName());
- assertEquals(1, a.size());
- assertEquals("b", a.getValue());
- assertTrue(a.isFromQuery());
- assertEquals("b", a.getValue(0));
- assertTrue(a.isFromQuery(0));
- assertEquals(1, a.getThreshold());
+ assertEquals(new String[]{"b"}, a);
//
- RequestParameter c = (RequestParameter)context.getParameterMap().get("c");
+ String[] c = (String[])queryParameterMap.get("c");
assertNotNull(c);
- assertEquals("c", c.getName());
- assertEquals(2, c.size());
- assertEquals("d", c.getValue());
- assertTrue(c.isFromQuery());
- assertEquals("d", c.getValue(0));
- assertTrue(c.isFromQuery(0));
- assertEquals("e", c.getValue(1));
- assertTrue(c.isFromQuery(1));
- assertEquals(2, c.getThreshold());
+ assertEquals(new String[]{"d","e"}, c);
//
- RequestParameter f = (RequestParameter)context.getParameterMap().get("encoding");
+ String[] f = (String[])queryParameterMap.get("encoding");
assertNotNull(f);
- assertEquals("encoding", f.getName());
- assertEquals(1, f.size());
- assertEquals(Utils.RANGE_0_255, f.getValue());
- assertTrue(f.isFromQuery());
- assertEquals(Utils.RANGE_0_255, f.getValue(0));
- assertTrue(f.isFromQuery(0));
- assertEquals(1, f.getThreshold());
+ assertEquals(new String[]{Utils.RANGE_0_255}, f);
}
});
return assertResult;
Modified: trunk/server/src/main/org/jboss/portal/test/server/parameters/PostApplicationXWWWFormURLEncodedTest.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/test/server/parameters/PostApplicationXWWWFormURLEncodedTest.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/test/server/parameters/PostApplicationXWWWFormURLEncodedTest.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -24,13 +24,14 @@
import org.jboss.portal.server.AbstractServerURL;
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.server.ServerInvocationContext;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.test.framework.container.TestCaseContext;
import org.jboss.portal.test.framework.container.result.AssertResult;
import org.jboss.portal.test.framework.container.result.InvokePostResult;
import org.jboss.portal.test.framework.container.result.Result;
import org.jboss.portal.test.server.AbstractTest;
+import java.util.Map;
+
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision$
@@ -79,106 +80,72 @@
public void run() throws Exception
{
ServerInvocationContext context = invocation.getServerContext();
- RequestParameter a = (RequestParameter)context.getParameterMap().get("a");
- assertNotNull(a);
- assertEquals("a", a.getName());
- assertEquals(1, a.size());
- assertEquals("b", a.getValue());
- assertTrue(a.isFromQuery());
- assertEquals("b", a.getValue(0));
- assertTrue(a.isFromQuery(0));
- assertEquals(1, a.getThreshold());
+ Map queryParameterMap = context.getQueryParameterMap();
+ Map bodyParameterMap = context.getBodyParameterMap();
//
- RequestParameter c = (RequestParameter)context.getParameterMap().get("c");
- assertNotNull(c);
- assertEquals("c", c.getName());
- assertEquals(2, c.size());
- assertEquals("d", c.getValue());
- assertTrue(c.isFromQuery());
- assertEquals("d", c.getValue(0));
- assertTrue(c.isFromQuery(0));
- assertEquals("e", c.getValue(1));
- assertTrue(c.isFromQuery(1));
- assertEquals(2, c.getThreshold());
+ assertNotNull(queryParameterMap);
+ assertNotNull(bodyParameterMap);
//
- RequestParameter f = (RequestParameter)context.getParameterMap().get("f");
- assertNotNull(f);
- assertEquals("f", f.getName());
- assertEquals(2, f.size());
- assertEquals("g", f.getValue());
- assertTrue(f.isFromQuery());
- assertEquals("g", f.getValue(0));
- assertTrue(f.isFromQuery(0));
- assertEquals("_g", f.getValue(1));
- assertFalse(f.isFromQuery(1));
- assertEquals(1, f.getThreshold());
+ String[] qa = (String[])queryParameterMap.get("a");
+ String[] ba = (String[])bodyParameterMap.get("a");
+ assertNotNull(qa);
+ assertNull(ba);
+ assertEquals(new String[]{"b"}, qa);
//
- RequestParameter h = (RequestParameter)context.getParameterMap().get("h");
- assertNotNull(h);
- assertEquals("h", h.getName());
- assertEquals(4, h.size());
- assertEquals("i", h.getValue());
- assertTrue(h.isFromQuery());
- assertEquals("i", h.getValue(0));
- assertTrue(h.isFromQuery(0));
- assertEquals("j", h.getValue(1));
- assertTrue(h.isFromQuery(1));
- assertEquals("_i", h.getValue(2));
- assertFalse(h.isFromQuery(2));
- assertEquals("_j", h.getValue(3));
- assertFalse(h.isFromQuery(3));
- assertEquals(2, h.getThreshold());
+ String[] qc = (String[])queryParameterMap.get("c");
+ String[] bc = (String[])bodyParameterMap.get("c");
+ assertNotNull(qc);
+ assertNull(bc);
+ assertEquals(new String[]{"d","e"}, qc);
//
- RequestParameter encoding1 = (RequestParameter)context.getParameterMap().get("encoding_1");
- assertNotNull(encoding1);
- assertEquals("encoding_1", encoding1.getName());
- assertEquals(2, encoding1.size());
- assertEquals(Utils.RANGE_0_255, encoding1.getValue());
- assertTrue(encoding1.isFromQuery());
- assertEquals(Utils.RANGE_0_255, encoding1.getValue(0));
- assertTrue(encoding1.isFromQuery(0));
- assertEquals(null, Utils.compareString(Utils.RANGE_0_255, encoding1.getValue(1)));
- assertTrue(encoding1.isFromBody(1));
+ String[] qf = (String[])queryParameterMap.get("f");
+ String[] bf = (String[])bodyParameterMap.get("f");
+ assertNotNull(qf);
+ assertNotNull(bf);
+ assertEquals(new String[]{"g"}, qf);
+ assertEquals(new String[]{"_g"}, bf);
//
- RequestParameter encoding2 = (RequestParameter)context.getParameterMap().get("encoding_2");
- assertNotNull(encoding2);
- assertEquals("encoding_2", encoding2.getName());
- assertEquals(2, encoding2.size());
- assertEquals(Utils.RANGE_256_512, encoding2.getValue());
- assertTrue(encoding2.isFromQuery());
- assertEquals(Utils.RANGE_256_512, encoding2.getValue(0));
- assertTrue(encoding2.isFromQuery(0));
- assertEquals(Utils.RANGE_256_512, encoding2.getValue(1));
- assertTrue(encoding2.isFromBody(1));
+ String[] qh = (String[])queryParameterMap.get("h");
+ String[] bh = (String[])bodyParameterMap.get("h");
+ assertNotNull(qh);
+ assertNotNull(bh);
+ assertEquals(new String[]{"i","j"}, qh);
+ assertEquals(new String[]{"_i","_j"}, bh);
//
- RequestParameter k = (RequestParameter)context.getParameterMap().get("k");
- assertNotNull(k);
- assertEquals("k", k.getName());
- assertEquals(1, k.size());
- assertEquals("l", k.getValue());
- assertFalse(k.isFromQuery());
- assertEquals("l", k.getValue(0));
- assertFalse(k.isFromQuery(0));
- assertEquals(0, k.getThreshold());
+ String[] qencoding1 = (String[])queryParameterMap.get("encoding_1");
+ String[] bencoding1 = (String[])bodyParameterMap.get("encoding_1");
+ assertNotNull(qencoding1);
+ assertNotNull(bencoding1);
+ assertEquals(new String[]{Utils.RANGE_0_255}, qencoding1);
+ assertEquals(new String[]{Utils.RANGE_0_255}, bencoding1);
//
- RequestParameter m = (RequestParameter)context.getParameterMap().get("m");
- assertNotNull(m);
- assertEquals("m", m.getName());
- assertEquals(2, m.size());
- assertEquals("n", m.getValue());
- assertFalse(m.isFromQuery());
- assertEquals("n", m.getValue(0));
- assertFalse(m.isFromQuery(0));
- assertEquals("o", m.getValue(1));
- assertFalse(m.isFromQuery(1));
- assertEquals(0, m.getThreshold());
+ String[] qencoding2 = (String[])queryParameterMap.get("encoding_2");
+ String[] bencoding2 = (String[])bodyParameterMap.get("encoding_2");
+ assertNotNull(qencoding2);
+ assertNotNull(bencoding2);
+ assertEquals(new String[]{Utils.RANGE_256_512}, qencoding2);
+ assertEquals(new String[]{Utils.RANGE_256_512}, bencoding2);
+
+ //
+ String[] qk = (String[])queryParameterMap.get("k");
+ String[] bk = (String[])bodyParameterMap.get("k");
+ assertNull(qk);
+ assertNotNull(bk);
+ assertEquals(new String[]{"l"}, bk);
+
+ //
+ String[] qm = (String[])queryParameterMap.get("m");
+ String[] bm = (String[])bodyParameterMap.get("m");
+ assertNull(qm);
+ assertNotNull(bm);
+ assertEquals(new String[]{"n","o"}, bm);
}
});
return assertResult;
Modified: trunk/server/src/main/org/jboss/portal/test/server/parameters/PostMultipartFormDataTest.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/test/server/parameters/PostMultipartFormDataTest.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/server/src/main/org/jboss/portal/test/server/parameters/PostMultipartFormDataTest.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -24,13 +24,14 @@
import org.jboss.portal.server.AbstractServerURL;
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.server.ServerInvocationContext;
-import org.jboss.portal.server.request.RequestParameter;
import org.jboss.portal.test.framework.container.TestCaseContext;
import org.jboss.portal.test.framework.container.result.AssertResult;
import org.jboss.portal.test.framework.container.result.InvokePostResult;
import org.jboss.portal.test.framework.container.result.Result;
import org.jboss.portal.test.server.AbstractTest;
+import java.util.Map;
+
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision$
@@ -70,28 +71,21 @@
public void run() throws Exception
{
ServerInvocationContext context = invocation.getServerContext();
- RequestParameter a = (RequestParameter)context.getParameterMap().get("a");
+ Map queryParameterMap = context.getQueryParameterMap();
+ Map bodyParameterMap = context.getBodyParameterMap();
+
+ //
+ assertNotNull(queryParameterMap);
+ assertNull(bodyParameterMap);
+
+ String[] a = (String[])queryParameterMap.get("a");
assertNotNull(a);
- assertEquals("a", a.getName());
- assertEquals(1, a.size());
- assertEquals("b", a.getValue());
- assertTrue(a.isFromQuery());
- assertEquals("b", a.getValue(0));
- assertTrue(a.isFromQuery(0));
- assertEquals(1, a.getThreshold());
+ assertEquals(new String[]{"b"}, a);
//
- RequestParameter c = (RequestParameter)context.getParameterMap().get("c");
+ String[] c = (String[])queryParameterMap.get("c");
assertNotNull(c);
- assertEquals("c", c.getName());
- assertEquals(2, c.size());
- assertEquals("d", c.getValue());
- assertTrue(c.isFromQuery());
- assertEquals("d", c.getValue(0));
- assertTrue(c.isFromQuery(0));
- assertEquals("e", c.getValue(1));
- assertTrue(c.isFromQuery(1));
- assertEquals(2, c.getThreshold());
+ assertEquals(new String[]{"d","e"}, c);
}
});
return assertResult;
Modified: trunk/theme/src/main/org/jboss/portal/theme/servlet/DynaAjaxServlet.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/servlet/DynaAjaxServlet.java 2006-10-08 17:02:14 UTC (rev 5362)
+++ trunk/theme/src/main/org/jboss/portal/theme/servlet/DynaAjaxServlet.java 2006-10-08 23:31:19 UTC (rev 5363)
@@ -66,7 +66,7 @@
sendResp(resp, response);
/*
- if(req.getParameter("action") != null)
+ if(req.getParameter("action") != null)
{
if(req.getParameter("action").equals(PERSIST))
{
More information about the jboss-svn-commits
mailing list