You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2005/03/24 17:50:16 UTC
cvs commit: jakarta-tapestry/config log4j.properties
hlship 2005/03/24 08:50:16
Modified: framework/src/java/org/apache/tapestry/services/impl
RequestCycleFactoryImpl.java
framework/src/java/org/apache/tapestry
ApplicationServlet.java IRequestCycle.java
TapestryMessages.java TapestryStrings2.properties
framework/src/descriptor/META-INF tapestry.request.xml
framework/src/java/org/apache/tapestry/engine
AbstractEngine.java RequestCycle.java
framework/src/java/org/apache/tapestry/services
RequestCycleFactory.java
config log4j.properties
Added: framework/src/test/org/apache/tapestry/request
TestRequestContext.java
framework/src/java/org/apache/tapestry/request
RequestContext.java
framework/src/java/org/apache/tapestry/engine
RequestCycleEnvironment.java
framework/src/test/org/apache/tapestry/engine
TestRequestCycle.java
Log:
Restore the missing RequestContext class, for compatibility reasons.
Revision Changes Path
1.8 +36 -3 jakarta-tapestry/framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java
Index: RequestCycleFactoryImpl.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- RequestCycleFactoryImpl.java 10 Mar 2005 18:49:15 -0000 1.7
+++ RequestCycleFactoryImpl.java 24 Mar 2005 16:50:15 -0000 1.8
@@ -16,6 +16,9 @@
import java.util.Iterator;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.apache.hivemind.ErrorHandler;
import org.apache.tapestry.IEngine;
import org.apache.tapestry.IRequestCycle;
@@ -24,9 +27,11 @@
import org.apache.tapestry.engine.IMonitor;
import org.apache.tapestry.engine.IMonitorFactory;
import org.apache.tapestry.engine.RequestCycle;
+import org.apache.tapestry.engine.RequestCycleEnvironment;
import org.apache.tapestry.engine.ServiceEncoder;
import org.apache.tapestry.engine.ServiceEncodingImpl;
import org.apache.tapestry.record.PropertyPersistenceStrategySource;
+import org.apache.tapestry.request.RequestContext;
import org.apache.tapestry.services.AbsoluteURLBuilder;
import org.apache.tapestry.services.Infrastructure;
import org.apache.tapestry.services.RequestCycleFactory;
@@ -36,6 +41,9 @@
import org.apache.tapestry.web.WebResponse;
/**
+ * Service that creates instances of {@link org.apache.tapestry.IRequestCycle}on behalf of an
+ * engine.
+ *
* @author Howard M. Lewis Ship
* @since 3.1
*/
@@ -53,8 +61,24 @@
private AbsoluteURLBuilder _absoluteURLBuilder;
- public IRequestCycle newRequestCycle(IEngine engine, WebRequest request, WebResponse response)
+ private RequestCycleEnvironment _environment;
+
+ private HttpServletRequest _servletRequest;
+
+ private HttpServletResponse _servletResponse;
+
+ public void initializeService()
+ {
+ RequestContext context = new RequestContext(_servletRequest, _servletResponse);
+
+ _environment = new RequestCycleEnvironment(_errorHandler, _infrastructure, context,
+ _strategySource, _absoluteURLBuilder);
+ }
+
+ public IRequestCycle newRequestCycle(IEngine engine)
{
+ WebRequest request = _infrastructure.getRequest();
+
IMonitor monitor = _monitorFactory.createMonitor(request);
QueryParameterMap parameters = extractParameters(request);
@@ -63,8 +87,7 @@
IEngineService service = findService(parameters);
- return new RequestCycle(engine, request, response, parameters, service, _infrastructure,
- _strategySource, _absoluteURLBuilder, _errorHandler, monitor);
+ return new RequestCycle(engine, parameters, service, monitor, _environment);
}
private IEngineService findService(QueryParameterMap parameters)
@@ -146,4 +169,14 @@
{
_absoluteURLBuilder = absoluteURLBuilder;
}
+
+ public void setServletRequest(HttpServletRequest servletRequest)
+ {
+ _servletRequest = servletRequest;
+ }
+
+ public void setServletResponse(HttpServletResponse servletResponse)
+ {
+ _servletResponse = servletResponse;
+ }
}
\ No newline at end of file
1.13 +15 -0 jakarta-tapestry/framework/src/java/org/apache/tapestry/ApplicationServlet.java
Index: ApplicationServlet.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/ApplicationServlet.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- ApplicationServlet.java 17 Mar 2005 22:22:19 -0000 1.12
+++ ApplicationServlet.java 24 Mar 2005 16:50:15 -0000 1.13
@@ -27,6 +27,8 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.hivemind.ClassResolver;
import org.apache.hivemind.Registry;
import org.apache.hivemind.Resource;
@@ -73,6 +75,8 @@
public class ApplicationServlet extends HttpServlet
{
+ private static final Log LOG = LogFactory.getLog(ApplicationServlet.class);
+
/**
* Invokes {@link #doService(HttpServletRequest, HttpServletResponse)}.
*
@@ -174,6 +178,11 @@
public void init(ServletConfig config) throws ServletException
{
+ String name = config.getServletName();
+
+ long startTime = System.currentTimeMillis();
+ long elapsedToRegistry = 0;
+
super.init(config);
_resolver = createClassResolver();
@@ -183,6 +192,8 @@
_registry = constructRegistry(config);
+ elapsedToRegistry = System.currentTimeMillis() - startTime;
+
initializeApplication();
}
catch (Exception ex)
@@ -191,6 +202,10 @@
throw new ServletException(TapestryMessages.servletInitFailure(ex), ex);
}
+
+ long elapsedOverall = System.currentTimeMillis() - startTime;
+
+ LOG.info(TapestryMessages.servletInit(name, elapsedToRegistry, elapsedOverall));
}
/**
1.12 +10 -0 jakarta-tapestry/framework/src/java/org/apache/tapestry/IRequestCycle.java
Index: IRequestCycle.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/IRequestCycle.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- IRequestCycle.java 22 Mar 2005 13:40:54 -0000 1.11
+++ IRequestCycle.java 24 Mar 2005 16:50:15 -0000 1.12
@@ -17,6 +17,7 @@
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.tapestry.engine.IEngineService;
import org.apache.tapestry.engine.IMonitor;
+import org.apache.tapestry.request.RequestContext;
import org.apache.tapestry.services.Infrastructure;
/**
@@ -293,4 +294,13 @@
*/
public Infrastructure getInfrastructure();
+
+ /**
+ * Returns the {@link RequestContext}. This is provided to ease the upgrade from Tapestry 3.0.
+ *
+ * @since 3.1
+ * @deprecated To be removed in 3.2.
+ */
+
+ public RequestContext getRequestContext();
}
\ No newline at end of file
1.8 +6 -0 jakarta-tapestry/framework/src/java/org/apache/tapestry/TapestryMessages.java
Index: TapestryMessages.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/TapestryMessages.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TapestryMessages.java 5 Jan 2005 23:17:12 -0000 1.7
+++ TapestryMessages.java 24 Mar 2005 16:50:15 -0000 1.8
@@ -34,4 +34,10 @@
{
return _formatter.format("component-is-locked", component.getExtendedId());
}
+
+ public static String servletInit(String name, long elapsedToRegistry, long elapsedOverall)
+ {
+ return _formatter.format("servlet-init", name, new Long(elapsedToRegistry), new Long(
+ elapsedOverall));
+ }
}
\ No newline at end of file
1.7 +1 -0 jakarta-tapestry/framework/src/java/org/apache/tapestry/TapestryStrings2.properties
Index: TapestryStrings2.properties
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/TapestryStrings2.properties,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- TapestryStrings2.properties 6 Jan 2005 02:17:12 -0000 1.6
+++ TapestryStrings2.properties 24 Mar 2005 16:50:15 -0000 1.7
@@ -12,6 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+servlet-init=Initialized application servlet ''{0}'': {1} millis to create HiveMind Registry, {2} millis overall.
servlet-init-failure=Unable to initialize application servlet: {0}
no-accessor=Component {0} does not have accessor methods for property {1}.
component-is-locked=Component {0} is active and its configuration state may not be changed.
1.25 +2 -0 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.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- tapestry.request.xml 22 Mar 2005 13:40:54 -0000 1.24
+++ tapestry.request.xml 24 Mar 2005 16:50:16 -0000 1.25
@@ -203,6 +203,8 @@
<set-service property="strategySource" service-id="tapestry.persist.PropertyPersistenceStrategySource"/>
<set-service property="infrastructure" service-id="tapestry.Infrastructure"/>
<set-service property="absoluteURLBuilder" service-id="AbsoluteURLBuilder"/>
+ <set-service property="servletRequest" service-id="tapestry.globals.HttpServletRequest"/>
+ <set-service property="servletResponse" service-id="tapestry.globals.HttpServletResponse"/>
</construct>
</invoke-factory>
1.1 jakarta-tapestry/framework/src/test/org/apache/tapestry/request/TestRequestContext.java
Index: TestRequestContext.java
===================================================================
// Copyright 2005 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.tapestry.request;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.hivemind.test.HiveMindTestCase;
import org.easymock.MockControl;
/**
* Tests for {@link org.apache.tapestry.request.RequestContext}.
*
* @author Howard M. Lewis Ship
* @since 3.1
*/
public class TestRequestContext extends HiveMindTestCase
{
private HttpSession newSession()
{
return (HttpSession) newMock(HttpSession.class);
}
private HttpServletRequest newRequest(boolean create, HttpSession session)
{
MockControl control = newControl(HttpServletRequest.class);
HttpServletRequest request = (HttpServletRequest) control.getMock();
request.getSession(create);
control.setReturnValue(session);
return request;
}
private HttpServletRequest newRequest()
{
return (HttpServletRequest) newMock(HttpServletRequest.class);
}
private HttpServletResponse newResponse()
{
return (HttpServletResponse) newMock(HttpServletResponse.class);
}
public void testGetParameter()
{
MockControl control = newControl(HttpServletRequest.class);
HttpServletRequest request = (HttpServletRequest) control.getMock();
HttpServletResponse response = newResponse();
String value = "VALUE";
request.getParameter("myparam");
control.setReturnValue(value);
replayControls();
RequestContext rc = new RequestContext(request, response);
assertSame(value, rc.getParameter("myparam"));
verifyControls();
}
public void testGetParameters()
{
MockControl control = newControl(HttpServletRequest.class);
HttpServletRequest request = (HttpServletRequest) control.getMock();
HttpServletResponse response = newResponse();
String[] values =
{ "this", "that" };
request.getParameterValues("myparam");
control.setReturnValue(values);
replayControls();
RequestContext rc = new RequestContext(request, response);
assertSame(values, rc.getParameters("myparam"));
verifyControls();
}
public void testGetParameterNames()
{
MockControl control = newControl(HttpServletRequest.class);
HttpServletRequest request = (HttpServletRequest) control.getMock();
HttpServletResponse response = newResponse();
List names = new ArrayList();
names.add("fred");
names.add("barney");
Enumeration e = Collections.enumeration(names);
request.getParameterNames();
control.setReturnValue(e);
replayControls();
RequestContext rc = new RequestContext(request, response);
String[] pnames = rc.getParameterNames();
assertListsEqual(new String[]
{ "fred", "barney" }, pnames);
verifyControls();
}
public void testGetRequestAndResponse()
{
HttpServletRequest request = newRequest();
HttpServletResponse response = newResponse();
replayControls();
RequestContext rc = new RequestContext(request, response);
assertSame(request, rc.getRequest());
assertSame(response, rc.getResponse());
verifyControls();
}
public void testGetAttribute()
{
MockControl control = newControl(HttpServletRequest.class);
HttpServletRequest request = (HttpServletRequest) control.getMock();
HttpServletResponse response = newResponse();
Object attribute = new Object();
request.getAttribute("myattr");
control.setReturnValue(attribute);
replayControls();
RequestContext rc = new RequestContext(request, response);
assertSame(attribute, rc.getAttribute("myattr"));
verifyControls();
}
public void testGetSession()
{
HttpSession session = newSession();
HttpServletRequest request = newRequest(false, session);
HttpServletResponse response = newResponse();
replayControls();
RequestContext rc = new RequestContext(request, response);
assertSame(session, rc.getSession());
verifyControls();
}
public void testCreateSession()
{
HttpSession session = newSession();
HttpServletRequest request = newRequest(true, session);
HttpServletResponse response = newResponse();
replayControls();
RequestContext rc = new RequestContext(request, response);
assertSame(session, rc.createSession());
verifyControls();
}
}
1.11 +17 -724 jakarta-tapestry/framework/src/java/org/apache/tapestry/request/RequestContext.java
1.27 +1 -4 jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/AbstractEngine.java
Index: AbstractEngine.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/AbstractEngine.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- AbstractEngine.java 22 Mar 2005 13:40:53 -0000 1.26
+++ AbstractEngine.java 24 Mar 2005 16:50:16 -0000 1.27
@@ -256,10 +256,7 @@
{
try
{
- cycle = _infrastructure.getRequestCycleFactory().newRequestCycle(
- this,
- request,
- response);
+ cycle = _infrastructure.getRequestCycleFactory().newRequestCycle(this);
monitor = cycle.getMonitor();
service = cycle.getService();
1.14 +25 -21 jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/RequestCycle.java
Index: RequestCycle.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/RequestCycle.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- RequestCycle.java 22 Mar 2005 13:40:53 -0000 1.13
+++ RequestCycle.java 24 Mar 2005 16:50:16 -0000 1.14
@@ -22,7 +22,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hivemind.ApplicationRuntimeException;
-import org.apache.hivemind.ErrorHandler;
import org.apache.hivemind.ErrorLog;
import org.apache.hivemind.impl.ErrorLogImpl;
import org.apache.hivemind.util.Defense;
@@ -37,11 +36,10 @@
import org.apache.tapestry.Tapestry;
import org.apache.tapestry.record.PageRecorderImpl;
import org.apache.tapestry.record.PropertyPersistenceStrategySource;
+import org.apache.tapestry.request.RequestContext;
import org.apache.tapestry.services.AbsoluteURLBuilder;
import org.apache.tapestry.services.Infrastructure;
import org.apache.tapestry.util.QueryParameterMap;
-import org.apache.tapestry.web.WebRequest;
-import org.apache.tapestry.web.WebResponse;
/**
* Provides the logic for processing a single request cycle. Provides access to the
@@ -60,12 +58,8 @@
private IEngineService _service;
- private WebRequest _request;
-
private IMonitor _monitor;
- private WebResponse _response;
-
/** @since 3.1 */
private PropertyPersistenceStrategySource _strategySource;
@@ -123,26 +117,31 @@
private ErrorLog _log;
+ private RequestContext _requestContext;
+
/**
* Standard constructor used to render a response page.
*/
- public RequestCycle(IEngine engine, WebRequest request, WebResponse response,
- QueryParameterMap parameters, IEngineService service, Infrastructure infrastructure,
- PropertyPersistenceStrategySource strategySource,
- AbsoluteURLBuilder absoluteURLBuilder, ErrorHandler errorHandler, IMonitor monitor)
+ public RequestCycle(IEngine engine, QueryParameterMap parameters, IEngineService service,
+ IMonitor monitor, RequestCycleEnvironment environment)
{
+ // Variant from instance to instance
+
_engine = engine;
- _request = request;
- _response = response;
_parameters = parameters;
_service = service;
- _infrastructure = infrastructure;
- _pageSource = _infrastructure.getPageSource();
- _strategySource = strategySource;
- _absoluteURLBuilder = absoluteURLBuilder;
- _log = new ErrorLogImpl(errorHandler, LOG);
_monitor = monitor;
+
+ // Invariant from instance to instance
+
+ _infrastructure = environment.getInfrastructure();
+ _pageSource = _infrastructure.getPageSource();
+ _strategySource = environment.getStrategySource();
+ _absoluteURLBuilder = environment.getAbsoluteURLBuilder();
+ _requestContext = environment.getRequestContext();
+ _log = new ErrorLogImpl(environment.getErrorHandler(), LOG);
+
}
/**
@@ -185,7 +184,7 @@
public String encodeURL(String URL)
{
- return _response.encodeURL(URL);
+ return _infrastructure.getResponse().encodeURL(URL);
}
public IEngine getEngine()
@@ -621,7 +620,7 @@
b.append("rewinding", _rewinding);
if (_service != null)
- b.append("service", _service.getName());
+ b.append("service", _service);
b.append("serviceParameters", _serviceParameters);
@@ -639,7 +638,7 @@
public String getAbsoluteURL(String partialURL)
{
- String contextPath = _request.getContextPath();
+ String contextPath = _infrastructure.getRequest().getContextPath();
return _absoluteURLBuilder.constructURL(contextPath + partialURL);
}
@@ -659,4 +658,9 @@
{
return _infrastructure;
}
+
+ public RequestContext getRequestContext()
+ {
+ return _requestContext;
+ }
}
\ No newline at end of file
1.1 jakarta-tapestry/framework/src/java/org/apache/tapestry/engine/RequestCycleEnvironment.java
Index: RequestCycleEnvironment.java
===================================================================
// Copyright 2005 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.tapestry.engine;
import org.apache.hivemind.ErrorHandler;
import org.apache.tapestry.record.PropertyPersistenceStrategySource;
import org.apache.tapestry.request.RequestContext;
import org.apache.tapestry.services.AbsoluteURLBuilder;
import org.apache.tapestry.services.Infrastructure;
/**
* An object that contains all the invariant parameters to the
* {@link org.apache.tapestry.engine.RequestCycle#RequestCycle(IEngine, QueryParameterMap, IEngineService, IMonitor, RequestCycleEnvironment)}
* constructor.
*
* @author Howard M. Lewis Ship
* @since 3.1
*/
public class RequestCycleEnvironment
{
private Infrastructure _infrastructure;
private PropertyPersistenceStrategySource _strategySource;
private AbsoluteURLBuilder _absoluteURLBuilder;
private ErrorHandler _errorHandler;
private RequestContext _requestContext;
public RequestCycleEnvironment(ErrorHandler errorHandler, Infrastructure infrastructure,
RequestContext requestContext, PropertyPersistenceStrategySource strategySource,
AbsoluteURLBuilder absoluteURLBuilder)
{
_errorHandler = errorHandler;
_infrastructure = infrastructure;
_requestContext = requestContext;
_strategySource = strategySource;
_absoluteURLBuilder = absoluteURLBuilder;
}
public AbsoluteURLBuilder getAbsoluteURLBuilder()
{
return _absoluteURLBuilder;
}
public ErrorHandler getErrorHandler()
{
return _errorHandler;
}
public Infrastructure getInfrastructure()
{
return _infrastructure;
}
public PropertyPersistenceStrategySource getStrategySource()
{
return _strategySource;
}
public RequestContext getRequestContext()
{
return _requestContext;
}
}
1.5 +1 -1 jakarta-tapestry/framework/src/java/org/apache/tapestry/services/RequestCycleFactory.java
Index: RequestCycleFactory.java
===================================================================
RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/services/RequestCycleFactory.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RequestCycleFactory.java 10 Mar 2005 18:49:15 -0000 1.4
+++ RequestCycleFactory.java 24 Mar 2005 16:50:16 -0000 1.5
@@ -34,5 +34,5 @@
* (that were encoding into the URL).
*/
- public IRequestCycle newRequestCycle(IEngine engine, WebRequest request, WebResponse response);
+ public IRequestCycle newRequestCycle(IEngine engine);
}
\ No newline at end of file
1.1 jakarta-tapestry/framework/src/test/org/apache/tapestry/engine/TestRequestCycle.java
Index: TestRequestCycle.java
===================================================================
// Copyright 2005 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.tapestry.engine;
import org.apache.hivemind.ErrorHandler;
import org.apache.hivemind.test.HiveMindTestCase;
import org.apache.tapestry.IEngine;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.pageload.PageSource;
import org.apache.tapestry.record.PropertyPersistenceStrategySource;
import org.apache.tapestry.request.RequestContext;
import org.apache.tapestry.services.AbsoluteURLBuilder;
import org.apache.tapestry.services.Infrastructure;
import org.apache.tapestry.util.QueryParameterMap;
import org.easymock.MockControl;
/**
* Tests for {@link org.apache.tapestry.engine.RequestCycle}. Mostly just tests changes for 3.1
* (3.0 code is still mostly tested via the mock integration tests).
*
* @author Howard M. Lewis Ship
* @since 3.1
*/
public class TestRequestCycle extends HiveMindTestCase
{
private IEngine newEngine()
{
return (IEngine) newMock(IEngine.class);
}
private IMonitor newMonitor()
{
return (IMonitor) newMock(IMonitor.class);
}
private PropertyPersistenceStrategySource newStrategySource()
{
return (PropertyPersistenceStrategySource) newMock(PropertyPersistenceStrategySource.class);
}
private PageSource newPageSource()
{
return (PageSource) newMock(PageSource.class);
}
private Infrastructure newInfrastructure()
{
return newInfrastructure(newPageSource());
}
private ErrorHandler newErrorHandler()
{
return (ErrorHandler) newMock(ErrorHandler.class);
}
private AbsoluteURLBuilder newBuilder()
{
return (AbsoluteURLBuilder) newMock(AbsoluteURLBuilder.class);
}
private Infrastructure newInfrastructure(PageSource source)
{
MockControl control = newControl(Infrastructure.class);
Infrastructure infrastructure = (Infrastructure) control.getMock();
infrastructure.getPageSource();
control.setReturnValue(source);
return infrastructure;
}
private IEngineService newService()
{
return (IEngineService) newMock(IEngineService.class);
}
private RequestCycleEnvironment newEnvironment(RequestContext context)
{
return new RequestCycleEnvironment(newErrorHandler(), newInfrastructure(), context,
newStrategySource(), newBuilder());
}
public void testGetters()
{
RequestContext context = new RequestContext(null, null);
Infrastructure infrastructure = newInfrastructure();
RequestCycleEnvironment env = new RequestCycleEnvironment(newErrorHandler(),
infrastructure, context, newStrategySource(), newBuilder());
IEngine engine = newEngine();
IEngineService service = newService();
IMonitor monitor = newMonitor();
replayControls();
IRequestCycle cycle = new RequestCycle(engine, new QueryParameterMap(), service, monitor,
env);
assertSame(infrastructure, cycle.getInfrastructure());
assertSame(context, cycle.getRequestContext());
assertSame(service, cycle.getService());
assertSame(engine, cycle.getEngine());
assertSame(monitor, cycle.getMonitor());
verifyControls();
}
public void testForgetPage()
{
RequestContext context = new RequestContext(null, null);
Infrastructure infrastructure = newInfrastructure();
PropertyPersistenceStrategySource source = newStrategySource();
RequestCycleEnvironment env = new RequestCycleEnvironment(newErrorHandler(),
infrastructure, context, source, newBuilder());
IEngine engine = newEngine();
IEngineService service = newService();
IMonitor monitor = newMonitor();
replayControls();
IRequestCycle cycle = new RequestCycle(engine, new QueryParameterMap(), service, monitor,
env);
cycle.getEngine();
verifyControls();
source.discardAllStoredChanged("MyPage", cycle);
replayControls();
cycle.forgetPage("MyPage");
verifyControls();
source.discardAllStoredChanged("MyPage", cycle);
replayControls();
cycle.discardPage("MyPage");
verifyControls();
}
}
1.11 +2 -0 jakarta-tapestry/config/log4j.properties
Index: log4j.properties
===================================================================
RCS file: /home/cvs/jakarta-tapestry/config/log4j.properties,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- log4j.properties 16 Jan 2005 17:18:46 -0000 1.10
+++ log4j.properties 24 Mar 2005 16:50:16 -0000 1.11
@@ -24,3 +24,5 @@
log4j.category.org.apache.commons.digester.Digester=FATAL
log4j.category.org.apache.hivemind=ERROR
log4j.category.hivemind=ERROR
+
+log4j.category.org.apache.tapestry.ApplicationServlet=info
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org