Author: julien(a)jboss.com
Date: 2008-04-12 09:54:23 -0400 (Sat, 12 Apr 2008)
New Revision: 10550
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/portlet/PortletRequestEncoder.java
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/portlet/PortletRequestEncoderTestCase.java
Log:
add test cases for resource url encoding
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/portlet/PortletRequestEncoder.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/portlet/PortletRequestEncoder.java 2008-04-12
13:04:55 UTC (rev 10549)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/portlet/PortletRequestEncoder.java 2008-04-12
13:54:23 UTC (rev 10550)
@@ -92,8 +92,11 @@
}
//
- meta |= PortletRequestDecoder.CACHEABILITY_MASK;
- setMetaParameter(PortletRequestDecoder.CACHEABILITY_PARAMETER,
cacheability.toString());
+ if (cacheability != null)
+ {
+ meta |= PortletRequestDecoder.CACHEABILITY_MASK;
+ setMetaParameter(PortletRequestDecoder.CACHEABILITY_PARAMETER,
cacheability.toString());
+ }
//
if (resourceId != null)
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/portlet/PortletRequestEncoderTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/portlet/PortletRequestEncoderTestCase.java 2008-04-12
13:04:55 UTC (rev 10549)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/test/core/portlet/PortletRequestEncoderTestCase.java 2008-04-12
13:54:23 UTC (rev 10550)
@@ -27,6 +27,7 @@
import org.jboss.portal.common.util.ParameterMap;
import org.jboss.portal.common.util.Tools;
import org.jboss.portal.portlet.ParametersStateString;
+import org.jboss.portal.portlet.cache.CacheLevel;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
import junit.framework.TestCase;
@@ -39,12 +40,6 @@
{
/** . */
- public static final int RENDER = 0;
-
- /** . */
- public static final int ACTION = 1;
-
- /** . */
private ParameterMap params;
/** . */
@@ -65,143 +60,232 @@
public void testEncodeRender()
{
- _testEncodeRender(RENDER, PortletRequestDecoder.RENDER_PHASE);
+ Blah blah = new Blah<Mode, WindowState>(
+ Mode.VIEW,
+ WindowState.NORMAL,
+ PortletRequestDecoder.RENDER_PHASE,
+ PortletRequestDecoder.MODE_PARAMETER,
+ PortletRequestDecoder.WINDOW_STATE_PARAMETER,
+ PortletRequestDecoder.MODE_MASK,
+ PortletRequestDecoder.WINDOW_STATE_MASK)
+ {
+ protected void encodeBlah(ParametersStateString params, Mode view, WindowState
normal)
+ {
+ encodeRender(params, view, normal);
+ }
+ };
+
+ //
+ blah.test();
}
public void testEncodeAction()
{
- _testEncodeRender(ACTION, PortletRequestDecoder.ACTION_PHASE);
+ Blah blah = new Blah<Mode, WindowState>(
+ Mode.VIEW,
+ WindowState.NORMAL,
+ PortletRequestDecoder.ACTION_PHASE,
+ PortletRequestDecoder.MODE_PARAMETER,
+ PortletRequestDecoder.WINDOW_STATE_PARAMETER,
+ PortletRequestDecoder.MODE_MASK,
+ PortletRequestDecoder.WINDOW_STATE_MASK)
+ {
+ protected void encodeBlah(ParametersStateString params, Mode view, WindowState
normal)
+ {
+ encodeAction(params, view, normal);
+ }
+ };
+
+ //
+ blah.test();
}
- public void _testEncodeRender(int lifecycle, int lifecycleMask)
+ public void testEncodeResource()
{
- ParametersStateString pp = ParametersStateString.create();
- encode(pp, null, null, lifecycle);
- assertEquals(1, params.size());
- _assertEquals(lifecycleMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ Blah blah = new Blah<String, CacheLevel>(
+ "resource_id",
+ CacheLevel.PAGE,
+ PortletRequestDecoder.RESOURCE_PHASE,
+ PortletRequestDecoder.RESOURCE_ID_PARAMETER,
+ PortletRequestDecoder.CACHEABILITY_PARAMETER,
+ PortletRequestDecoder.RESOURCE_ID_MASK,
+ PortletRequestDecoder.CACHEABILITY_MASK)
+ {
+ protected void encodeBlah(ParametersStateString params, String view, CacheLevel
normal)
+ {
+ encodeResource(params, view, normal);
+ }
+ };
//
- pp = ParametersStateString.create();
- pp.setValue(PortletRequestDecoder.META_PARAMETER, "foo");
- encode(pp, null, null, lifecycle);
- assertEquals(1, params.size());
- _assertEquals(new String[]{Integer.toHexString(lifecycleMask),"foo"},
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ blah.test();
+ }
- //
- pp = ParametersStateString.create();
- pp.setValue("foo", "bar");
- encode(pp, null, null, lifecycle);
- assertEquals(2, params.size());
- _assertEquals(lifecycleMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals("bar", params.getValues("foo"));
+ private abstract class Blah<A,B>
+ {
- //
- pp = ParametersStateString.create();
- encode(pp, Mode.VIEW, null, lifecycle);
- assertEquals(2, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.MODE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(Mode.VIEW, params.getValues(PortletRequestDecoder.MODE_PARAMETER));
+ /** . */
+ protected final A a;
- //
- pp = ParametersStateString.create();
- pp.setValue(PortletRequestDecoder.MODE_PARAMETER, "foo");
- encode(pp, Mode.VIEW, null, lifecycle);
- assertEquals(2, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.MODE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(new String[]{Mode.VIEW.toString(),"foo"},
params.getValues(PortletRequestDecoder.MODE_PARAMETER));
+ /** . */
+ protected final B b;
- //
- pp = ParametersStateString.create();
- pp.setValue("foo", "bar");
- encode(pp, Mode.VIEW, null, lifecycle);
- assertEquals(3, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.MODE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(Mode.VIEW, params.getValues(PortletRequestDecoder.MODE_PARAMETER));
- _assertEquals("bar", params.getValues("foo"));
+ /** . */
+ protected final int lifecycleValue;
- //
- pp = ParametersStateString.create();
- encode(pp, null, WindowState.NORMAL, lifecycle);
- assertEquals(2, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.WINDOW_STATE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(WindowState.NORMAL,
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
+ /** . */
+ protected final String aParamName;
- //
- pp = ParametersStateString.create();
- pp.setValue(PortletRequestDecoder.WINDOW_STATE_PARAMETER, "foo");
- encode(pp, null, WindowState.NORMAL, lifecycle);
- assertEquals(2, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.WINDOW_STATE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(new String[]{WindowState.NORMAL.toString(),"foo"},
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
+ /** . */
+ protected final String bParamName;
- //
- pp = ParametersStateString.create();
- pp.setValue("foo", "bar");
- encode(pp, null, WindowState.NORMAL, lifecycle);
- assertEquals(3, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.WINDOW_STATE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(WindowState.NORMAL,
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
- _assertEquals("bar", params.getValues("foo"));
+ /** . */
+ protected final int aParamMask;
- //
- pp = ParametersStateString.create();
- encode(pp, Mode.VIEW, WindowState.NORMAL, lifecycle);
- assertEquals(3, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.MODE_MASK |
PortletRequestDecoder.WINDOW_STATE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(Mode.VIEW, params.getValues(PortletRequestDecoder.MODE_PARAMETER));
- _assertEquals(WindowState.NORMAL,
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
+ /** . */
+ protected final int bParamMask;
- //
- pp = ParametersStateString.create();
- pp.setValue("foo", "bar");
- encode(pp, Mode.VIEW, WindowState.NORMAL, lifecycle);
- assertEquals(4, params.size());
- _assertEquals(lifecycleMask | PortletRequestDecoder.MODE_MASK |
PortletRequestDecoder.WINDOW_STATE_MASK,
params.getValues(PortletRequestDecoder.META_PARAMETER));
- _assertEquals(Mode.VIEW, params.getValues(PortletRequestDecoder.MODE_PARAMETER));
- _assertEquals(WindowState.NORMAL,
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
- _assertEquals("bar", params.getValues("foo"));
+ protected Blah(A a, B b, int lifecycleValue, String aParamName, String bParamName,
int aParamMask, int bParamMask)
+ {
+ this.a = a;
+ this.b = b;
+ this.lifecycleValue = lifecycleValue;
+ this.aParamName = aParamName;
+ this.bParamName = bParamName;
+ this.aParamMask = aParamMask;
+ this.bParamMask = bParamMask;
+ }
+
+ protected abstract void encodeBlah(ParametersStateString params, A view, B
normal);
+
+ public void test()
+ {
+ ParametersStateString pp = ParametersStateString.create();
+ encodeBlah(pp, null, null);
+ assertEquals(1, params.size());
+ _assertEquals(lifecycleValue,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue(PortletRequestDecoder.META_PARAMETER, "foo");
+ encodeBlah(pp, null, null);
+ assertEquals(1, params.size());
+ _assertEquals(new String[]{Integer.toHexString(lifecycleValue),"foo"},
params.getValues(PortletRequestDecoder.META_PARAMETER));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue("foo", "bar");
+ encodeBlah(pp, null, null);
+ assertEquals(2, params.size());
+ _assertEquals(lifecycleValue,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals("bar", params.getValues("foo"));
+
+ //
+ pp = ParametersStateString.create();
+ encodeBlah(pp, a, null);
+ assertEquals(2, params.size());
+ _assertEquals(lifecycleValue | aParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(a, params.getValues(aParamName));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue(aParamName, "foo");
+ encodeBlah(pp, a, null);
+ assertEquals(2, params.size());
+ _assertEquals(lifecycleValue | aParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(new String[]{a.toString(),"foo"},
params.getValues(aParamName));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue("foo", "bar");
+ encodeBlah(pp, a, null);
+ assertEquals(3, params.size());
+ _assertEquals(lifecycleValue | aParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(a, params.getValues(aParamName));
+ _assertEquals("bar", params.getValues("foo"));
+
+ //
+ pp = ParametersStateString.create();
+ encodeBlah(pp, null, b);
+ assertEquals(2, params.size());
+ _assertEquals(lifecycleValue | bParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(b, params.getValues(bParamName));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue(bParamName, "foo");
+ encodeBlah(pp, null, b);
+ assertEquals(2, params.size());
+ _assertEquals(lifecycleValue | bParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(new String[]{b.toString(),"foo"},
params.getValues(bParamName));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue("foo", "bar");
+ encodeBlah(pp, null, b);
+ assertEquals(3, params.size());
+ _assertEquals(lifecycleValue | bParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(b, params.getValues(bParamName));
+ _assertEquals("bar", params.getValues("foo"));
+
+ //
+ pp = ParametersStateString.create();
+ encodeBlah(pp, a, b);
+ assertEquals(3, params.size());
+ _assertEquals(lifecycleValue | aParamMask | bParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(a, params.getValues(aParamName));
+ _assertEquals(b, params.getValues(bParamName));
+
+ //
+ pp = ParametersStateString.create();
+ pp.setValue("foo", "bar");
+ encodeBlah(pp, a, b);
+ assertEquals(4, params.size());
+ _assertEquals(lifecycleValue | aParamMask | bParamMask,
params.getValues(PortletRequestDecoder.META_PARAMETER));
+ _assertEquals(a, params.getValues(aParamName));
+ _assertEquals(b, params.getValues(bParamName));
+ _assertEquals("bar", params.getValues("foo"));
+ }
}
-
public void testEncodeNav()
{
- encode(null, null, null, RENDER);
+ encodeRender(null, null, null);
assertEquals(0, params.size());
//
- encode(null, Mode.VIEW, null, RENDER);
+ encodeRender(null, Mode.VIEW, null);
assertEquals(1, params.size());
_assertEquals(Mode.VIEW, params.getValues(PortletRequestDecoder.MODE_PARAMETER));
//
- encode(null, null, WindowState.NORMAL, RENDER);
+ encodeRender(null, null, WindowState.NORMAL);
assertEquals(1, params.size());
_assertEquals(WindowState.NORMAL,
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
//
- encode(null, Mode.VIEW, WindowState.NORMAL, RENDER);
+ encodeRender(null, Mode.VIEW, WindowState.NORMAL);
assertEquals(2, params.size());
_assertEquals(Mode.VIEW, params.getValues(PortletRequestDecoder.MODE_PARAMETER));
_assertEquals(WindowState.NORMAL,
params.getValues(PortletRequestDecoder.WINDOW_STATE_PARAMETER));
}
- private void encode(ParametersStateString params, Mode view, WindowState normal, int
lifecycle)
+ private void encodeRender(ParametersStateString params, Mode view, WindowState
normal)
{
- if (lifecycle == RENDER)
- {
- encoder.encodeRender(params, view, normal);
- }
- else if (lifecycle == ACTION)
- {
- encoder.encodeAction(null, params, view, normal);
- }
- else
- {
- fail();
- }
+ encoder.encodeRender(params, view, normal);
}
+ private void encodeAction(ParametersStateString params, Mode view, WindowState
normal)
+ {
+ encoder.encodeAction(null, params, view, normal);
+ }
+
+ private void encodeResource(ParametersStateString params, String resourceId,
CacheLevel cacheability)
+ {
+ encoder.encodeResource(cacheability, resourceId, params);
+ }
+
void _assertEquals(int expected, String[] actual)
{
_assertEquals(new String[]{Integer.toHexString(expected)}, actual);