tapestry-dev@jakarta.apache.org
[Top] [All Lists]

cvs commit: jakarta-tapestry/framework/src/test/org/apache/tapestry/engi

Subject: cvs commit: jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/state TestSessionScopeManager.java
From:
Date: 25 Feb 2005 15:01:54 -0000
hlship      2005/02/25 07:01:54

  Modified:    framework/src/descriptor/META-INF tapestry.request.xml
                        tapestry.services.xml tapestry.state.xml
               framework/src/java/org/apache/tapestry/engine
                        RestartService.java ActionService.java
                        DirectService.java
               framework/src/java/org/apache/tapestry/engine/state
                        SessionScopeManager.java
               framework/src/java/org/apache/tapestry/web WebSession.java
                        ServletWebSession.java ServletWebRequest.java
                        WebRequest.java
               framework/src/test/org/apache/tapestry/web
                        TestServletWebRequest.java
               framework/src/test/org/apache/tapestry/engine
                        TestActionService.java ServiceTestCase.java
                        TestDirectService.java
               framework/src/test/org/apache/tapestry/services/impl
                        TestAbsoluteURLBuilder.java
               framework/src/java/org/apache/tapestry/services/impl
                        AbsoluteURLBuilderImpl.java
               framework/src/test/org/apache/tapestry/engine/state
                        TestSessionScopeManager.java
  Log:
  Convert several services from using infrastructure:request 
(HttpServletRequest) to  infrastructure:webRequest (WebRequest).
  Convert services that can't to explicitly use 
tapestry.globals.HttpServletRequest service.
  
  Revision  Changes    Path
  1.13      +4 -4      
jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.request.xml
  
  Index: tapestry.request.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.request.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- tapestry.request.xml      24 Feb 2005 18:54:18 -0000      1.12
  +++ tapestry.request.xml      25 Feb 2005 15:01:53 -0000      1.13
  @@ -38,7 +38,7 @@
       
       <invoke-factory model="threaded">
         <construct class="impl.RequestLocaleManagerImpl">
  -        <set-object property="request" value="infrastructure:request"/>
  +        <set-service property="request" 
service-id="tapestry.globals.HttpServletRequest"/>
           <set-service property="cookieSource" service-id="CookieSource"/>
         </construct>
       </invoke-factory>
  @@ -50,8 +50,8 @@
       
       <invoke-factory>
         <construct class="impl.CookieSourceImpl">
  -        <set-object property="request" value="infrastructure:request"/>
  -        <set-object property="response" value="infrastructure:response"/>
  +        <set-service property="request" 
service-id="tapestry.globals.HttpServletRequest"/>
  +        <set-service property="response" 
service-id="tapestry.globals.HttpServletResponse"/>
         </construct>
       </invoke-factory>    
     </service-point>  
  @@ -134,7 +134,7 @@
       
       <invoke-factory>
         <construct class="impl.AbsoluteURLBuilderImpl">
  -        <set-object property="request" value="infrastructure:request"/>
  +        <set-object property="request" value="infrastructure:webRequest"/>
         </construct>
       </invoke-factory>
       
  
  
  
  1.12      +4 -4      
jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.services.xml
  
  Index: tapestry.services.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.services.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- tapestry.services.xml     24 Feb 2005 18:54:18 -0000      1.11
  +++ tapestry.services.xml     25 Feb 2005 15:01:53 -0000      1.12
  @@ -82,8 +82,8 @@
       <invoke-factory model="primitive">
         <construct class="RestartService">
           <set-service property="builder" 
service-id="tapestry.request.AbsoluteURLBuilder"/>
  -        <set-object property="request" value="infrastructure:request"/>
  -        <set-object property="response" value="infrastructure:response"/>
  +        <set-service property="request" 
service-id="tapestry.globals.HttpServletRequest"/>
  +        <set-service property="response" 
service-id="tapestry.globals.HttpServletResponse"/>
           <set-object property="servletPath" 
value="app-property:org.apache.tapestry.servlet-path"/>
         </construct>
       </invoke-factory>
  @@ -102,7 +102,7 @@
       <invoke-factory model="primitive">
         <construct class="ActionService">
           <set-object property="responseRenderer" 
value="infrastructure:responseRenderer"/>
  -        <set-object property="request" value="infrastructure:request"/>
  +        <set-object property="request" value="infrastructure:webRequest"/>
           <set-object property="linkFactory" 
value="infrastructure:linkFactory"/>
         </construct>
       </invoke-factory>
  @@ -112,7 +112,7 @@
       <invoke-factory model="primitive">
         <construct class="DirectService">
           <set-object property="responseRenderer" 
value="infrastructure:responseRenderer"/>
  -        <set-object property="request" value="infrastructure:request"/>
  +        <set-object property="request" value="infrastructure:webRequest"/>
         </construct>
       </invoke-factory>
     </service-point>
  
  
  
  1.5       +1 -1      
jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.state.xml
  
  Index: tapestry.state.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.state.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- tapestry.state.xml        24 Feb 2005 18:54:19 -0000      1.4
  +++ tapestry.state.xml        25 Feb 2005 15:01:53 -0000      1.5
  @@ -169,7 +169,7 @@
       
       <invoke-factory>
         <construct class="SessionScopeManager">
  -        <set-object property="request" value="infrastructure:request"/>
  +        <set-object property="request" value="infrastructure:webRequest"/>
           <set-object property="applicationId" 
value="infrastructure:applicationId"/>
         </construct>
       </invoke-factory>
  
  
  
  1.9       +0 -5      
jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/RestartService.java
  
  Index: RestartService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/RestartService.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RestartService.java       27 Jan 2005 22:54:34 -0000      1.8
  +++ RestartService.java       25 Feb 2005 15:01:53 -0000      1.9
  @@ -91,11 +91,6 @@
               }
           }
   
  -        // Make isStateful() return false, so that the servlet doesn't
  -        // try to store the engine back into the (now invalid) session.
  -        // TODO: How to get the EngineManager to *not* try and
  -        // store the engine back in the (now invalid) session.
  -
           String url = _builder.constructURL(_servletPath);
   
           _response.sendRedirect(url);
  
  
  
  1.9       +5 -5      
jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/ActionService.java
  
  Index: ActionService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/ActionService.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ActionService.java        8 Jan 2005 19:52:21 -0000       1.8
  +++ ActionService.java        25 Feb 2005 15:01:53 -0000      1.9
  @@ -19,8 +19,6 @@
   import java.util.Map;
   
   import javax.servlet.ServletException;
  -import javax.servlet.http.HttpServletRequest;
  -import javax.servlet.http.HttpSession;
   
   import org.apache.hivemind.ApplicationRuntimeException;
   import org.apache.hivemind.util.Defense;
  @@ -34,6 +32,8 @@
   import org.apache.tapestry.services.LinkFactory;
   import org.apache.tapestry.services.ResponseRenderer;
   import org.apache.tapestry.services.ServiceConstants;
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
   
   /**
    * A context-sensitive service related to {@link 
org.apache.tapestry.form.Form}and
  @@ -56,7 +56,7 @@
       private static final String ACTION = "action";
   
       /** @since 3.1 */
  -    private HttpServletRequest _request;
  +    private WebRequest _request;
   
       public ILink getLink(IRequestCycle cycle, Object parameter)
       {
  @@ -120,7 +120,7 @@
   
           if (activeSession && action.getRequiresSession())
           {
  -            HttpSession session = _request.getSession();
  +            WebSession session = _request.getSession(false);
   
               if (session == null || session.isNew())
                   throw new 
StaleSessionException(EngineMessages.requestStateSession(component),
  @@ -156,7 +156,7 @@
       }
   
       /** @since 3.1 */
  -    public void setRequest(HttpServletRequest request)
  +    public void setRequest(WebRequest request)
       {
           _request = request;
       }
  
  
  
  1.9       +5 -3      
jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/DirectService.java
  
  Index: DirectService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/DirectService.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DirectService.java        8 Jan 2005 19:52:21 -0000       1.8
  +++ DirectService.java        25 Feb 2005 15:01:53 -0000      1.9
  @@ -34,6 +34,8 @@
   import org.apache.tapestry.services.LinkFactory;
   import org.apache.tapestry.services.ResponseRenderer;
   import org.apache.tapestry.services.ServiceConstants;
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
   
   /**
    * Implementation of the direct service, which encodes the page and 
component id in the service
  @@ -52,7 +54,7 @@
       private LinkFactory _linkFactory;
   
       /** @since 3.1 */
  -    private HttpServletRequest _request;
  +    private WebRequest _request;
   
       public ILink getLink(IRequestCycle cycle, Object parameter)
       {
  @@ -122,7 +124,7 @@
   
           if (activeSession && direct.isStateful())
           {
  -            HttpSession session = _request.getSession();
  +            WebSession session = _request.getSession(false);
   
               if (session == null || session.isNew())
                   throw new 
StaleSessionException(EngineMessages.requestStateSession(direct),
  @@ -159,7 +161,7 @@
       }
   
       /** @since 3.1 */
  -    public void setRequest(HttpServletRequest request)
  +    public void setRequest(WebRequest request)
       {
           _request = request;
       }
  
  
  
  1.3       +14 -11    
jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/state/SessionScopeManager.java
  
  Index: SessionScopeManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/state/SessionScopeManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SessionScopeManager.java  29 Jan 2005 16:45:15 -0000      1.2
  +++ SessionScopeManager.java  25 Feb 2005 15:01:53 -0000      1.3
  @@ -17,6 +17,9 @@
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpSession;
   
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
  +
   /**
    * Manager for the 'session' scope; state objects are stored as HttpSession 
attributes. The
    * HttpSession is created as necessary.
  @@ -26,12 +29,15 @@
    */
   public class SessionScopeManager implements StateObjectPersistenceManager
   {
  -    private HttpServletRequest _request;
  +    private WebRequest _request;
   
       private String _applicationId;
   
       private String buildKey(String objectName)
       {
  +        // For Portlets, the application id is going to be somewhat 
redundant, since
  +        // the Portlet API keeps portlets seperate anyway.
  +
           return "state:" + _applicationId + ":" + objectName;
       }
   
  @@ -39,14 +45,14 @@
        * Returns the session for the current request, creating it if necessary.
        */
   
  -    private HttpSession getSession()
  +    private WebSession getSession()
       {
  -        return _request.getSession();
  +        return _request.getSession(true);
       }
   
       public boolean exists(String objectName)
       {
  -        HttpSession session = _request.getSession(false);
  +        WebSession session = _request.getSession(false);
   
           if (session == null)
               return false;
  @@ -57,7 +63,7 @@
       public Object get(String objectName, StateObjectFactory factory)
       {
           String key = buildKey(objectName);
  -        HttpSession session = getSession();
  +        WebSession session = getSession();
   
           Object result = session.getAttribute(key);
           if (result == null)
  @@ -73,12 +79,9 @@
       {
           String key = buildKey(objectName);
   
  -        HttpSession session = getSession();
  +        WebSession session = getSession();
   
  -        if (stateObject == null)
  -            session.removeAttribute(key);
  -        else
  -            session.setAttribute(key, stateObject);
  +        session.setAttribute(key, stateObject);
       }
   
       public void setApplicationId(String applicationName)
  @@ -86,7 +89,7 @@
           _applicationId = applicationName;
       }
   
  -    public void setRequest(HttpServletRequest request)
  +    public void setRequest(WebRequest request)
       {
           _request = request;
       }
  
  
  
  1.2       +12 -0     
jakarta-tapestry/framework/src/java/org/apache/tapestry/web/WebSession.java
  
  Index: WebSession.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/web/WebSession.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WebSession.java   25 Feb 2005 00:54:46 -0000      1.1
  +++ WebSession.java   25 Feb 2005 15:01:53 -0000      1.2
  @@ -22,5 +22,17 @@
    */
   public interface WebSession extends AttributeHolder
   {
  +    /**
  +     * Returns a unique string identifier used to identify the session. This 
value is provided by
  +     * the container, and is typically incorporated into URLs, or stored as 
a HTTP cookie.
  +     * 
  +     * @see org.apache.tapestry.web.WebResponse#encodeURL(String).
  +     */
       public String getId();
  +
  +    /**
  +     * Returns true if the client does not yet know about the session or if 
the client chooses not
  +     * to join the session.
  +     */
  +    public boolean isNew();
   }
  \ No newline at end of file
  
  
  
  1.2       +5 -0      
jakarta-tapestry/framework/src/java/org/apache/tapestry/web/ServletWebSession.java
  
  Index: ServletWebSession.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/web/ServletWebSession.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServletWebSession.java    25 Feb 2005 00:54:46 -0000      1.1
  +++ ServletWebSession.java    25 Feb 2005 15:01:53 -0000      1.2
  @@ -60,4 +60,9 @@
       {
           return _httpSession.getId();
       }
  +
  +    public boolean isNew()
  +    {
  +        return _httpSession.isNew();
  +    }
   }
  \ No newline at end of file
  
  
  
  1.2       +16 -1     
jakarta-tapestry/framework/src/java/org/apache/tapestry/web/ServletWebRequest.java
  
  Index: ServletWebRequest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/web/ServletWebRequest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServletWebRequest.java    25 Feb 2005 00:54:46 -0000      1.1
  +++ ServletWebRequest.java    25 Feb 2005 15:01:53 -0000      1.2
  @@ -31,7 +31,7 @@
   public class ServletWebRequest implements WebRequest
   {
       private final HttpServletRequest _servletRequest;
  -    
  +
       private WebSession _containerSession;
   
       public ServletWebRequest(HttpServletRequest request)
  @@ -91,4 +91,19 @@
           else
               _servletRequest.setAttribute(name, attribute);
       }
  +
  +    public String getScheme()
  +    {
  +        return _servletRequest.getScheme();
  +    }
  +
  +    public String getServerName()
  +    {
  +        return _servletRequest.getServerName();
  +    }
  +
  +    public int getServerPort()
  +    {
  +        return _servletRequest.getServerPort();
  +    }
   }
  \ No newline at end of file
  
  
  
  1.2       +25 -3     
jakarta-tapestry/framework/src/java/org/apache/tapestry/web/WebRequest.java
  
  Index: WebRequest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/web/WebRequest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WebRequest.java   25 Feb 2005 00:54:46 -0000      1.1
  +++ WebRequest.java   25 Feb 2005 15:01:53 -0000      1.2
  @@ -73,9 +73,9 @@
       public String getContextPath();
   
       /**
  -     * Returns the current {@link WebSession}associated with this request, 
possibly creating
  -     * it if it does not already exist. If create is false and the request 
has no valid session,
  -     * this method returns null. To make sure the session is properly 
maintained, you must call this
  +     * Returns the current {@link WebSession}associated with this request, 
possibly creating it if
  +     * it does not already exist. If create is false and the request has no 
valid session, this
  +     * method returns null. To make sure the session is properly maintained, 
you must call this
        * method <em>before</em> the response is committed.
        * 
        * @param create
  @@ -83,4 +83,26 @@
        * @returns The session, or null if it does not exist (and create is 
false)
        */
       public WebSession getSession(boolean create);
  +
  +    /**
  +     * Returns the name of the scheme used to make this request. For 
example, http, https, or ftp.
  +     * Different schemes have different rules for constructing URLs, as 
noted in RFC 1738.
  +     */
  +    public String getScheme();
  +
  +    /**
  +     * Returns the host name of the server that received the request. Note 
that behind a firewall,
  +     * this may be obscured (i.e., it may be the name of the firewall 
server, which is not
  +     * necessarily visible to clients outside the firewall.
  +     * 
  +     * @see org.apache.tapestry.request.IRequestDecoder
  +     */
  +
  +    public String getServerName();
  +
  +    /**
  +     * Returns the port number on which this request was received.
  +     */
  +
  +    public int getServerPort();
   }
  \ No newline at end of file
  
  
  
  1.2       +51 -0     
jakarta-tapestry/framework/src/test/org/apache/tapestry/web/TestServletWebRequest.java
  
  Index: TestServletWebRequest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/web/TestServletWebRequest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestServletWebRequest.java        25 Feb 2005 00:54:47 -0000      1.1
  +++ TestServletWebRequest.java        25 Feb 2005 15:01:53 -0000      1.2
  @@ -214,4 +214,55 @@
   
           verifyControls();
       }
  +
  +    public void testGetScheme()
  +    {
  +        MockControl control = newControl(HttpServletRequest.class);
  +        HttpServletRequest request = (HttpServletRequest) control.getMock();
  +
  +        request.getScheme();
  +        control.setReturnValue("http");
  +
  +        replayControls();
  +
  +        WebRequest wr = new ServletWebRequest(request);
  +
  +        assertEquals("http", wr.getScheme());
  +
  +        verifyControls();
  +    }
  +
  +    public void testGetServerName()
  +    {
  +        MockControl control = newControl(HttpServletRequest.class);
  +        HttpServletRequest request = (HttpServletRequest) control.getMock();
  +
  +        request.getServerName();
  +        control.setReturnValue("www.myhost.com");
  +
  +        replayControls();
  +
  +        WebRequest wr = new ServletWebRequest(request);
  +
  +        assertEquals("www.myhost.com", wr.getServerName());
  +
  +        verifyControls();
  +    }
  +
  +    public void testGetServerPort()
  +    {
  +        MockControl control = newControl(HttpServletRequest.class);
  +        HttpServletRequest request = (HttpServletRequest) control.getMock();
  +
  +        request.getServerPort();
  +        control.setReturnValue(80);
  +
  +        replayControls();
  +
  +        WebRequest wr = new ServletWebRequest(request);
  +
  +        assertEquals(80, wr.getServerPort());
  +
  +        verifyControls();
  +    }
   }
  \ No newline at end of file
  
  
  
  1.4       +7 -6      
jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/TestActionService.java
  
  Index: TestActionService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/TestActionService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestActionService.java    8 Jan 2005 19:52:20 -0000       1.3
  +++ TestActionService.java    25 Feb 2005 15:01:53 -0000      1.4
  @@ -18,7 +18,6 @@
   import java.util.Map;
   
   import javax.servlet.http.HttpServletRequest;
  -import javax.servlet.http.HttpSession;
   
   import org.apache.hivemind.ApplicationRuntimeException;
   import org.apache.hivemind.Location;
  @@ -32,6 +31,8 @@
   import org.apache.tapestry.services.LinkFactory;
   import org.apache.tapestry.services.ResponseRenderer;
   import org.apache.tapestry.services.ServiceConstants;
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
   import org.easymock.MockControl;
   
   /**
  @@ -53,7 +54,7 @@
           MockControl cyclec = newControl(IRequestCycle.class);
           IRequestCycle cycle = (IRequestCycle) cyclec.getMock();
   
  -        HttpServletRequest request = newRequest(false, null);
  +        WebRequest request = newWebRequest(false, null);
   
           cycle.getPage();
           cyclec.setReturnValue(page);
  @@ -99,7 +100,7 @@
       {
           MockControl componentc = newControl(IComponent.class);
           IComponent component = (IComponent) componentc.getMock();
  -        HttpServletRequest request = newRequest(false, newSession());
  +        WebRequest request = newWebRequest(false, newWebSession());
   
           IPage activePage = newPage("ActivePage");
           IPage componentPage = newPage("ComponentPage");
  @@ -235,8 +236,8 @@
           action.getRequiresSession();
           actionc.setReturnValue(true);
   
  -        HttpSession session = newSession(false);
  -        HttpServletRequest request = newRequest(session);
  +        WebSession session = newWebSession(false);
  +        WebRequest request = newWebRequest(session);
   
           cycle.rewindPage("action-id", action);
   
  @@ -359,7 +360,7 @@
           action.getRequiresSession();
           actionc.setReturnValue(true);
   
  -        HttpServletRequest request = newRequest(null);
  +        WebRequest request = newWebRequest(null);
   
           action.getExtendedId();
           actionc.setReturnValue("ActivePage/fred.barney");
  
  
  
  1.5       +41 -1     
jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/ServiceTestCase.java
  
  Index: ServiceTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/ServiceTestCase.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ServiceTestCase.java      28 Jan 2005 21:07:16 -0000      1.4
  +++ ServiceTestCase.java      25 Feb 2005 15:01:53 -0000      1.5
  @@ -20,11 +20,12 @@
   import javax.servlet.http.HttpSession;
   
   import org.apache.hivemind.test.HiveMindTestCase;
  -import org.apache.tapestry.IEngine;
   import org.apache.tapestry.IPage;
   import org.apache.tapestry.IRequestCycle;
   import org.apache.tapestry.services.LinkFactory;
   import org.apache.tapestry.services.ResponseRenderer;
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
   import org.easymock.MockControl;
   
   /**
  @@ -61,6 +62,17 @@
   
           return result;
       }
  +    
  +    protected WebRequest newWebRequest(WebSession session)
  +    {
  +        MockControl control = newControl(WebRequest.class);
  +        WebRequest result = (WebRequest) control.getMock();
  +
  +        result.getSession(false);
  +        control.setReturnValue(session);
  +
  +        return result;
  +    }
   
       protected HttpServletRequest newRequest(boolean create, HttpSession 
session)
       {
  @@ -73,6 +85,17 @@
           return result;
       }
   
  +    protected WebRequest newWebRequest(boolean create, WebSession session)
  +    {
  +        MockControl control = newControl(WebRequest.class);
  +        WebRequest result = (WebRequest) control.getMock();
  +
  +        result.getSession(create);
  +        control.setReturnValue(session);
  +
  +        return result;
  +    }
  +
       protected HttpSession newSession(boolean isNew)
       {
           MockControl control = newControl(HttpSession.class);
  @@ -84,11 +107,28 @@
           return session;
       }
   
  +    protected WebSession newWebSession(boolean isNew)
  +    {
  +        MockControl control = newControl(WebSession.class);
  +        WebSession session = (WebSession) control.getMock();
  +
  +        session.isNew();
  +        control.setReturnValue(isNew);
  +
  +        return session;
  +    }
  +
  +    
       protected HttpSession newSession()
       {
           return (HttpSession) newMock(HttpSession.class);
       }
   
  +    protected WebSession newWebSession()
  +    {
  +        return (WebSession) newMock(WebSession.class);
  +    }
  +
       protected ILink newLink()
       {
           return (ILink) newMock(ILink.class);
  
  
  
  1.4       +8 -10     
jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/TestDirectService.java
  
  Index: TestDirectService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/TestDirectService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestDirectService.java    8 Jan 2005 19:52:20 -0000       1.3
  +++ TestDirectService.java    25 Feb 2005 15:01:53 -0000      1.4
  @@ -17,14 +17,10 @@
   import java.util.HashMap;
   import java.util.Map;
   
  -import javax.servlet.http.HttpServletRequest;
  -import javax.servlet.http.HttpSession;
  -
   import org.apache.hivemind.ApplicationRuntimeException;
   import org.apache.hivemind.Location;
   import org.apache.tapestry.IComponent;
   import org.apache.tapestry.IDirect;
  -import org.apache.tapestry.IEngine;
   import org.apache.tapestry.IPage;
   import org.apache.tapestry.IRequestCycle;
   import org.apache.tapestry.StaleSessionException;
  @@ -33,6 +29,8 @@
   import org.apache.tapestry.services.LinkFactory;
   import org.apache.tapestry.services.ResponseRenderer;
   import org.apache.tapestry.services.ServiceConstants;
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
   import org.easymock.MockControl;
   
   /**
  @@ -53,7 +51,7 @@
           MockControl cyclec = newControl(IRequestCycle.class);
           IRequestCycle cycle = (IRequestCycle) cyclec.getMock();
   
  -        HttpServletRequest request = newRequest(false, null);
  +        WebRequest request = newWebRequest(false, null);
   
           cycle.getPage();
           cyclec.setReturnValue(page);
  @@ -98,7 +96,7 @@
       public void testGetLinkOnSamePageStateful()
       {
           IPage page = newPage("ThePage");
  -        HttpServletRequest request = newRequest(false, newSession());
  +        WebRequest request = newWebRequest(false, newWebSession());
   
           MockControl cc = newControl(IDirect.class);
           IDirect c = (IDirect) cc.getMock();
  @@ -149,7 +147,7 @@
       {
           IPage page = newPage("ActivePage");
           IPage componentPage = newPage("ComponentPage");
  -        HttpServletRequest request = newRequest(false, null);
  +        WebRequest request = newWebRequest(false, null);
           MockControl cc = newControl(IDirect.class);
           IDirect c = (IDirect) cc.getMock();
   
  @@ -423,8 +421,8 @@
           d.isStateful();
           dc.setReturnValue(true);
   
  -        HttpSession session = newSession(false);
  -        HttpServletRequest request = newRequest(session);
  +        WebSession session = newWebSession(false);
  +        WebRequest request = newWebRequest(session);
   
           MockControl lfc = newControl(LinkFactory.class);
           LinkFactory lf = (LinkFactory) lfc.getMock();
  @@ -490,7 +488,7 @@
           d.isStateful();
           dc.setReturnValue(true);
   
  -        HttpServletRequest request = newRequest(null);
  +        WebRequest request = newWebRequest(null);
   
           d.getExtendedId();
           dc.setReturnValue("ActivePage/fred.barney");
  
  
  
  1.3       +3 -2      
jakarta-tapestry/framework/src/test/org/apache/tapestry/services/impl/TestAbsoluteURLBuilder.java
  
  Index: TestAbsoluteURLBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/services/impl/TestAbsoluteURLBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestAbsoluteURLBuilder.java       5 Jan 2005 23:17:26 -0000       1.2
  +++ TestAbsoluteURLBuilder.java       25 Feb 2005 15:01:54 -0000      1.3
  @@ -18,6 +18,7 @@
   
   import org.apache.tapestry.junit.TapestryTestCase;
   import org.apache.tapestry.services.AbsoluteURLBuilder;
  +import org.apache.tapestry.web.WebRequest;
   import org.easymock.MockControl;
   
   /**
  @@ -39,8 +40,8 @@
   
       private void attemptDefault(String expected, String URI, String scheme, 
String server, int port)
       {
  -        MockControl control = newControl(HttpServletRequest.class);
  -        HttpServletRequest request = (HttpServletRequest) control.getMock();
  +        MockControl control = newControl(WebRequest.class);
  +        WebRequest request = (WebRequest) control.getMock();
   
           request.getScheme();
           control.setReturnValue(scheme);
  
  
  
  1.3       +3 -4      
jakarta-tapestry/framework/src/java/org/apache/tapestry/services/impl/AbsoluteURLBuilderImpl.java
  
  Index: AbsoluteURLBuilderImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/services/impl/AbsoluteURLBuilderImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbsoluteURLBuilderImpl.java       5 Jan 2005 23:16:57 -0000       1.2
  +++ AbsoluteURLBuilderImpl.java       25 Feb 2005 15:01:54 -0000      1.3
  @@ -14,9 +14,8 @@
   
   package org.apache.tapestry.services.impl;
   
  -import javax.servlet.http.HttpServletRequest;
  -
   import org.apache.tapestry.services.AbsoluteURLBuilder;
  +import org.apache.tapestry.web.WebRequest;
   
   /**
    * @author Howard M. Lewis Ship
  @@ -24,7 +23,7 @@
    */
   public class AbsoluteURLBuilderImpl implements AbsoluteURLBuilder
   {
  -    private HttpServletRequest _request;
  +    private WebRequest _request;
   
       public String constructURL(String URI, String scheme, String server, int 
port)
       {
  @@ -81,7 +80,7 @@
           return constructURL(URI, scheme, server, port);
       }
   
  -    public void setRequest(HttpServletRequest request)
  +    public void setRequest(WebRequest request)
       {
           _request = request;
       }
  
  
  
  1.3       +25 -46    
jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/state/TestSessionScopeManager.java
  
  Index: TestSessionScopeManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/state/TestSessionScopeManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestSessionScopeManager.java      29 Jan 2005 16:45:15 -0000      1.2
  +++ TestSessionScopeManager.java      25 Feb 2005 15:01:54 -0000      1.3
  @@ -14,10 +14,9 @@
   
   package org.apache.tapestry.engine.state;
   
  -import javax.servlet.http.HttpServletRequest;
  -import javax.servlet.http.HttpSession;
  -
   import org.apache.hivemind.test.HiveMindTestCase;
  +import org.apache.tapestry.web.WebRequest;
  +import org.apache.tapestry.web.WebSession;
   import org.easymock.MockControl;
   
   /**
  @@ -28,10 +27,10 @@
    */
   public class TestSessionScopeManager extends HiveMindTestCase
   {
  -    private HttpServletRequest newRequest(boolean create, HttpSession 
session)
  +    private WebRequest newRequest(boolean create, WebSession session)
       {
  -        MockControl control = newControl(HttpServletRequest.class);
  -        HttpServletRequest request = (HttpServletRequest) control.getMock();
  +        MockControl control = newControl(WebRequest.class);
  +        WebRequest request = (WebRequest) control.getMock();
   
           request.getSession(create);
           control.setReturnValue(session);
  @@ -39,21 +38,21 @@
           return request;
       }
   
  -    private HttpServletRequest newRequest(HttpSession session)
  +    private WebRequest newRequest(WebSession session)
       {
  -        MockControl control = newControl(HttpServletRequest.class);
  -        HttpServletRequest request = (HttpServletRequest) control.getMock();
  +        MockControl control = newControl(WebRequest.class);
  +        WebRequest request = (WebRequest) control.getMock();
   
  -        request.getSession();
  +        request.getSession(true);
           control.setReturnValue(session);
   
           return request;
       }
   
  -    private HttpSession newSession(String key, Object value)
  +    private WebSession newSession(String key, Object value)
       {
  -        MockControl control = newControl(HttpSession.class);
  -        HttpSession session = (HttpSession) control.getMock();
  +        MockControl control = newControl(WebSession.class);
  +        WebSession session = (WebSession) control.getMock();
   
           session.getAttribute(key);
           control.setReturnValue(value);
  @@ -74,7 +73,7 @@
   
       public void testExistsNoSession()
       {
  -        HttpServletRequest request = newRequest(false, null);
  +        WebRequest request = newRequest(false, null);
   
           replayControls();
   
  @@ -88,8 +87,8 @@
   
       public void testExistsMissing()
       {
  -        HttpSession session = newSession("state:myapp:fred", null);
  -        HttpServletRequest request = newRequest(false, session);
  +        WebSession session = newSession("state:myapp:fred", null);
  +        WebRequest request = newRequest(false, session);
   
           replayControls();
   
  @@ -104,8 +103,8 @@
   
       public void testExists()
       {
  -        HttpSession session = newSession("state:testapp:fred", "XXX");
  -        HttpServletRequest request = newRequest(false, session);
  +        WebSession session = newSession("state:testapp:fred", "XXX");
  +        WebRequest request = newRequest(false, session);
   
           replayControls();
   
  @@ -121,8 +120,8 @@
       public void testGetExists()
       {
           Object stateObject = new Object();
  -        HttpSession session = newSession("state:testapp:fred", stateObject);
  -        HttpServletRequest request = newRequest(session);
  +        WebSession session = newSession("state:testapp:fred", stateObject);
  +        WebRequest request = newRequest(session);
   
           replayControls();
   
  @@ -140,15 +139,15 @@
           Object stateObject = new Object();
           StateObjectFactory factory = newFactory(stateObject);
   
  -        MockControl control = newControl(HttpSession.class);
  -        HttpSession session = (HttpSession) control.getMock();
  +        MockControl control = newControl(WebSession.class);
  +        WebSession session = (WebSession) control.getMock();
   
           session.getAttribute("state:myapp:fred");
           control.setReturnValue(null);
   
           session.setAttribute("state:myapp:fred", stateObject);
   
  -        HttpServletRequest request = newRequest(session);
  +        WebRequest request = newRequest(session);
   
           replayControls();
   
  @@ -165,12 +164,12 @@
       {
           Object stateObject = new Object();
   
  -        MockControl control = newControl(HttpSession.class);
  -        HttpSession session = (HttpSession) control.getMock();
  +        MockControl control = newControl(WebSession.class);
  +        WebSession session = (WebSession) control.getMock();
   
           session.setAttribute("state:myapp:fred", stateObject);
   
  -        HttpServletRequest request = newRequest(session);
  +        WebRequest request = newRequest(session);
   
           replayControls();
   
  @@ -182,24 +181,4 @@
   
           verifyControls();
       }
  -
  -    public void testStoreNull()
  -    {
  -        MockControl control = newControl(HttpSession.class);
  -        HttpSession session = (HttpSession) control.getMock();
  -
  -        session.removeAttribute("state:myapp:fred");
  -
  -        HttpServletRequest request = newRequest(session);
  -
  -        replayControls();
  -
  -        SessionScopeManager m = new SessionScopeManager();
  -        m.setRequest(request);
  -        m.setApplicationId("myapp");
  -
  -        m.store("fred", null);
  -
  -        verifyControls();
  -    }
   }
  \ No newline at end of file
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: tapestry-dev-help@xxxxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>
  • cvs commit: jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/state TestSessionScopeManager.java, hlship <=