[jboss-cvs] jboss-portal/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests ...
Julien Viet
julien at jboss.com
Fri Aug 18 14:01:46 EDT 2006
User: julien
Date: 06/08/18 14:01:46
Modified: portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests
PortletRequestTestSuite.java
PortletRequestsSequenceBuilder.java
Log:
fix for JBPORTAL-984 : Provice access to HTTP headers in request dispatch to a servlet from a portlet
Revision Changes Path
1.2 +1 -0 jboss-portal/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestTestSuite.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PortletRequestTestSuite.java
===================================================================
RCS file: /cvsroot/jboss/jboss-portal/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestTestSuite.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- PortletRequestTestSuite.java 27 Jun 2006 23:34:52 -0000 1.1
+++ PortletRequestTestSuite.java 18 Aug 2006 18:01:46 -0000 1.2
@@ -27,7 +27,7 @@
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class PortletRequestTestSuite
{
@@ -40,6 +40,7 @@
suite.addTest(new TestCase("RequestAttribute"));
suite.addTest(new TestCase("RequestAttributeScoping"));
suite.addTest(new TestCase("RequestParameter"));
+ suite.addTest(new TestCase("RequestHeaderAccess"));
return suite;
1.2 +74 -4 jboss-portal/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PortletRequestsSequenceBuilder.java
===================================================================
RCS file: /cvsroot/jboss/jboss-portal/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- PortletRequestsSequenceBuilder.java 27 Jun 2006 23:34:52 -0000 1.1
+++ PortletRequestsSequenceBuilder.java 18 Aug 2006 18:01:46 -0000 1.2
@@ -27,7 +27,6 @@
import org.jboss.portal.test.framework.portlet.actions.PortletRenderTestAction;
import org.jboss.portal.test.framework.portlet.actions.PortletActionTestAction;
import org.jboss.portal.test.framework.portlet.universal.UTP1;
-import org.jboss.portal.test.framework.portlet.universal.UTP2;
import org.jboss.portal.test.framework.container.result.Result;
import org.jboss.portal.test.framework.container.result.InvokePostResult;
import org.jboss.portal.test.framework.container.result.AssertResult;
@@ -41,6 +40,8 @@
import javax.portlet.PortletURL;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
+import javax.portlet.PortletSecurityException;
import java.io.IOException;
import java.io.InputStream;
import java.io.ByteArrayOutputStream;
@@ -55,7 +56,7 @@
/**
* @author <a href="mailto:boleslaw.dawidowicz at jboss.org">Boleslaw Dawidowicz</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class PortletRequestsSequenceBuilder extends SequenceRegistryBuilder
{
@@ -356,8 +357,7 @@
PortletURL url = response.createActionURL();
url.setParameter("foo1", "bar1");
url.setParameter("foo2", new String[]{"bar2_1", "bar2_2"});
- InvokeGetResult iur = new InvokeGetResult();
- iur.setURL(url.toString());
+ InvokeGetResult iur = new InvokeGetResult(url.toString());
return iur;
}
});
@@ -401,4 +401,74 @@
}
+ /**
+ * Show that we can access request headers from the portlet request properties.
+ */
+ public void createRequestHeaderAccess(SequenceRegistry registry)
+ {
+ Sequence seq = new Sequence();
+ registry.addSequence("RequestHeaderAccess", seq);
+ seq.addAction(0, UTP1.RENDER_JOINPOINT, new PortletRenderTestAction()
+ {
+ protected Result run(Portlet portlet, RenderRequest request, RenderResponse response)
+ {
+ // Test the value is not there yet
+ Set propertyNames = Tools.toSet(request.getPropertyNames());
+ assertFalse(propertyNames.contains("myheader"));
+ assertNull(request.getProperty("myheader"));
+ assertFalse(request.getProperties("myheader").hasMoreElements());
+
+ // Invoke render with header
+ InvokeGetResult render = new InvokeGetResult(response.createRenderURL().toString());
+ render.setHeader("myheader", "render-value");
+ return render;
+ }
+ });
+
+ seq.addAction(1, UTP1.RENDER_JOINPOINT, new PortletRenderTestAction()
+ {
+ protected Result run(Portlet portlet, RenderRequest request, RenderResponse response)
+ {
+ // Test the header is here
+ Set propertyNames = Tools.toSet(request.getPropertyNames());
+ assertTrue(propertyNames.contains("myheader"));
+ assertEquals("render-value", request.getProperty("myheader"));
+ Enumeration values = request.getProperties("myheader");
+ assertTrue(values.hasMoreElements());
+ assertEquals("render-value", values.nextElement());
+ assertFalse(values.hasMoreElements());
+
+ // Invoke action with header
+ InvokeGetResult action = new InvokeGetResult(response.createActionURL().toString());
+ action.setHeader("myheader", "action-value");
+ return action;
+ }
+ });
+
+ seq.addAction(2, UTP1.ACTION_JOINPOINT, new PortletActionTestAction()
+ {
+ protected AssertResult run(Portlet portlet, ActionRequest request, ActionResponse response)
+ {
+ // Test the header is here
+ Set propertyNames = Tools.toSet(request.getPropertyNames());
+ assertTrue(propertyNames.contains("myheader"));
+ assertEquals("action-value", request.getProperty("myheader"));
+ Enumeration values = request.getProperties("myheader");
+ assertTrue(values.hasMoreElements());
+ assertEquals("action-value", values.nextElement());
+ assertFalse(values.hasMoreElements());
+
+ //
+ return new AssertResult();
+ }
+ });
+
+ seq.addAction(3, UTP1.RENDER_JOINPOINT, new PortletRenderTestAction()
+ {
+ protected Result run(Portlet portlet, RenderRequest request, RenderResponse response)
+ {
+ return new EndTestResult();
+ }
+ });
+ }
}
More information about the jboss-cvs-commits
mailing list