[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