Author: julien(a)jboss.com
Date: 2008-03-10 20:51:36 -0400 (Mon, 10 Mar 2008)
New Revision: 10258
Added:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerRequestConstructorTestCase.java
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ContainerRequest.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ControllerRequest.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletActionRequest.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletRenderRequest.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletResourceRequest.java
modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml
Log:
test the various portlet controller request constructors
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ContainerRequest.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ContainerRequest.java 2008-03-11
00:17:40 UTC (rev 10257)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ContainerRequest.java 2008-03-11
00:51:36 UTC (rev 10258)
@@ -23,6 +23,8 @@
package org.jboss.portal.portlet.controller.request;
/**
+ * Any request made to a portlet container.
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
@@ -32,11 +34,17 @@
/** . */
private final String windowId;
- ContainerRequest(String windowId)
+ /**
+ * @param windowId the target window id
+ * @throws IllegalArgumentException if the window id is null
+ */
+ protected ContainerRequest(String windowId) throws IllegalArgumentException
{
- super();
+ if (windowId == null)
+ {
+ throw new IllegalArgumentException("No null window id accepted");
+ }
- //
this.windowId = windowId;
}
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ControllerRequest.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ControllerRequest.java 2008-03-11
00:17:40 UTC (rev 10257)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/ControllerRequest.java 2008-03-11
00:51:36 UTC (rev 10258)
@@ -28,7 +28,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-public class ControllerRequest
+public abstract class ControllerRequest
{
ControllerRequest()
@@ -40,8 +40,5 @@
*
* @return the page state
*/
- public PageNavigationalState getPageNavigationalState()
- {
- return null;
- }
+ public abstract PageNavigationalState getPageNavigationalState();
}
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletActionRequest.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletActionRequest.java 2008-03-11
00:17:40 UTC (rev 10257)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletActionRequest.java 2008-03-11
00:51:36 UTC (rev 10258)
@@ -40,16 +40,32 @@
/** . */
private final ParameterMap bodyParameters;
+ /**
+ * Build a new portlet action request.
+ *
+ * @param windowId the window id
+ * @param interactionState the interaction state
+ * @param bodyParameters the body parameters
+ * @param windowNavigationalState the window navigational state
+ * @param pageNavigationalState the page navigational state
+ * @throws IllegalArgumentException if the window id or the interaction state is null
+ */
public PortletActionRequest(
String windowId,
StateString interactionState,
ParameterMap bodyParameters,
WindowNavigationalState windowNavigationalState,
- PageNavigationalState pageNavigationalState)
+ PageNavigationalState pageNavigationalState) throws IllegalArgumentException
{
super(windowId, windowNavigationalState, pageNavigationalState);
//
+ if (interactionState == null)
+ {
+ throw new IllegalArgumentException("No null interaction state
accepted");
+ }
+
+ //
this.interactionState = interactionState;
this.bodyParameters = bodyParameters;
}
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletRenderRequest.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletRenderRequest.java 2008-03-11
00:17:40 UTC (rev 10257)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletRenderRequest.java 2008-03-11
00:51:36 UTC (rev 10258)
@@ -22,7 +22,6 @@
******************************************************************************/
package org.jboss.portal.portlet.controller.request;
-import org.jboss.portal.portlet.controller.PortletControllerContext;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletResourceRequest.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletResourceRequest.java 2008-03-11
00:17:40 UTC (rev 10257)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/request/PortletResourceRequest.java 2008-03-11
00:51:36 UTC (rev 10258)
@@ -47,16 +47,36 @@
/** . */
private final Scope scope;
+ /**
+ * Build a new portlet resource request.
+ *
+ * @param windowId the window id
+ * @param resourceId the resource id
+ * @param resourceState the resource state
+ * @param bodyParameters the body parameters
+ * @param scope the scope
+ * @throws IllegalArgumentException if the windows id, the resource state or the scope
is null
+ */
public PortletResourceRequest(
String windowId,
String resourceId,
StateString resourceState,
ParameterMap bodyParameters,
- Scope scope)
+ Scope scope) throws IllegalArgumentException
{
super(windowId);
//
+ if (resourceState == null)
+ {
+ throw new IllegalArgumentException("No null resource state
provided");
+ }
+ if (scope == null)
+ {
+ throw new IllegalArgumentException("No null scope provided");
+ }
+
+ //
this.resourceId = resourceId;
this.resourceState = resourceState;
this.bodyParameters = bodyParameters;
@@ -88,6 +108,18 @@
return bodyParameters;
}
+ public PageNavigationalState getPageNavigationalState()
+ {
+ if (scope instanceof PageScope)
+ {
+ return ((PageScope)scope).getPageNavigationalState();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
public abstract static class Scope
{
Added:
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerRequestConstructorTestCase.java
===================================================================
---
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerRequestConstructorTestCase.java
(rev 0)
+++
modules/portlet/trunk/controller/src/test/java/org/jboss/portal/portlet/controller/PortletControllerRequestConstructorTestCase.java 2008-03-11
00:51:36 UTC (rev 10258)
@@ -0,0 +1,198 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, 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.portlet.controller;
+
+import org.jboss.portal.portlet.controller.request.PortletActionRequest;
+import org.jboss.portal.portlet.controller.request.PortletRenderRequest;
+import org.jboss.portal.portlet.controller.request.PortletResourceRequest;
+import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
+import org.jboss.portal.portlet.controller.state.PageNavigationalState;
+import org.jboss.portal.portlet.controller.impl.state.StateControllerContextImpl;
+import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.OpaqueStateString;
+import org.jboss.portal.common.util.ParameterMap;
+import static org.jboss.unit.api.Assert.*;
+import org.jboss.unit.api.pojo.annotations.Test;
+
+import java.util.Map;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
+ * @version $Revision: 630 $
+ */
+@Test
+public class PortletControllerRequestConstructorTestCase
+{
+
+ private String windowId = "foo";
+ private StateString interactionState = new OpaqueStateString("");
+ private StateString resourceState = new OpaqueStateString("");
+ private ParameterMap body = new ParameterMap();
+ private WindowNavigationalState windowNS = new WindowNavigationalState();
+ private PageNavigationalState pageNS = new StateControllerContextImpl(new
PortletControllerContextSupport()).createPageNavigationalState(false);
+ private Map<String, String[]> pageNSChanges = Collections.emptyMap();
+
+ @Test
+ public void testWithNonNullArgs()
+ {
+ new PortletActionRequest(windowId, interactionState, body, windowNS, pageNS);
+ new PortletRenderRequest(windowId, windowNS, pageNSChanges, pageNS);
+ new PortletResourceRequest(windowId, "foo", resourceState, body, new
PortletResourceRequest.FullScope());
+ new PortletResourceRequest(windowId, "foo", resourceState, body, new
PortletResourceRequest.PortletScope(windowNS));
+ new PortletResourceRequest(windowId, "foo", resourceState, body, new
PortletResourceRequest.PageScope(windowNS, pageNS));
+ }
+
+ @Test
+ public void testWithNullWindowNavigationalState()
+ {
+ new PortletActionRequest(windowId, interactionState, body, null, pageNS);
+ new PortletRenderRequest(windowId, null, pageNSChanges, pageNS);
+ new PortletResourceRequest(windowId, "foo", resourceState, body, new
PortletResourceRequest.PageScope(null, pageNS));
+ }
+
+ @Test
+ public void testNullPageNavigationalState()
+ {
+ new PortletActionRequest(windowId, interactionState, body, windowNS, null);
+ new PortletRenderRequest(windowId, windowNS, pageNSChanges, null);
+ new PortletResourceRequest(windowId, "foo", resourceState, body, new
PortletResourceRequest.PageScope(windowNS, null));
+ }
+
+ @Test
+ public void testWithNullBody()
+ {
+ new PortletActionRequest(windowId, interactionState, null, windowNS, pageNS);
+ new PortletResourceRequest(windowId, "foo", resourceState, null, new
PortletResourceRequest.FullScope());
+ new PortletResourceRequest(windowId, "foo", resourceState, null, new
PortletResourceRequest.PortletScope(windowNS));
+ new PortletResourceRequest(windowId, "foo", resourceState, null, new
PortletResourceRequest.PageScope(windowNS, pageNS));
+ }
+
+ @Test
+ public void testWithNullResourceId()
+ {
+ new PortletResourceRequest(windowId, null, resourceState, body, new
PortletResourceRequest.FullScope());
+ new PortletResourceRequest(windowId, null, resourceState, body, new
PortletResourceRequest.PortletScope(windowNS));
+ new PortletResourceRequest(windowId, null, resourceState, body, new
PortletResourceRequest.PageScope(windowNS, pageNS));
+ }
+
+ @Test
+ public void testNullWindowId()
+ {
+ try
+ {
+ new PortletActionRequest(null, interactionState, body, windowNS, pageNS);
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ try
+ {
+ new PortletRenderRequest(null, windowNS, pageNSChanges, pageNS);
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ try
+ {
+ new PortletResourceRequest(null, "foo", resourceState, body, new
PortletResourceRequest.FullScope());
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ try
+ {
+ new PortletResourceRequest(null, "foo", resourceState, body, new
PortletResourceRequest.PortletScope(windowNS));
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ try
+ {
+ new PortletResourceRequest(null, "foo", resourceState, body, new
PortletResourceRequest.PageScope(windowNS, pageNS));
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ }
+
+ @Test
+ public void testNullInteractionState()
+ {
+ try
+ {
+ new PortletActionRequest(windowId, null, body, windowNS, pageNS);
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ }
+
+ @Test
+ public void testNullResourceState()
+ {
+ try
+ {
+ new PortletResourceRequest(windowId, "foo", null, body, new
PortletResourceRequest.FullScope());
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ try
+ {
+ new PortletResourceRequest(windowId, "foo", null, body, new
PortletResourceRequest.PortletScope(windowNS));
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ try
+ {
+ new PortletResourceRequest(windowId, "foo", null, body, new
PortletResourceRequest.PageScope(windowNS, pageNS));
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ }
+
+ @Test
+ public void testNullScope()
+ {
+ try
+ {
+ new PortletResourceRequest(windowId, "foo", resourceState, body,
null);
+ fail();
+ }
+ catch (IllegalArgumentException ignore)
+ {
+ }
+ }
+}
Modified: modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml
===================================================================
--- modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml 2008-03-11
00:17:40 UTC (rev 10257)
+++ modules/portlet/trunk/controller/src/test/resources/local-jboss-unit.xml 2008-03-11
00:51:36 UTC (rev 10258)
@@ -10,5 +10,8 @@
<test>
<class
name="org.jboss.portal.portlet.controller.EventControllerContextFailureTestCase"/>
</test>
+ <test>
+ <class
name="org.jboss.portal.portlet.controller.PortletControllerRequestConstructorTestCase"/>
+ </test>
</pojo>
</jboss-unit>