|
|
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
|
|