Author: apetrelli
Date: Sat Nov 14 20:58:46 2009
New Revision: 836263
URL: http://svn.apache.org/viewvc?rev=836263&view=rev
Log:
TILESSB-13
Refactored MutableTilesContainer and user code.
Modified:
tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/DefinitionFMModel.java
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/DefinitionFMModelTest.java
tiles/sandbox/trunk/tiles3/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
tiles/sandbox/trunk/tiles3/tiles-template/src/main/java/org/apache/tiles/template/DefinitionModel.java
tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/DefinitionModelTest.java
tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/DefinitionVModelTest.java
Modified:
tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
Sat Nov 14 20:58:46 2009
@@ -22,6 +22,7 @@
import org.apache.tiles.Definition;
import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
/**
* Defines a mutable version of the TilesContainer.
@@ -35,7 +36,7 @@
* Register a new definition with the container.
*
* @param definition The definition to register.
- * @param requestItems the current request objects.
+ * @param request TODO
*/
- void register(Definition definition, Object... requestItems);
+ void register(Definition definition, Request request);
}
Modified:
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
Sat Nov 14 20:58:46 2009
@@ -43,10 +43,8 @@
private DefinitionManager mgr = new DefinitionManager();
/** {...@inheritdoc} */
- public void register(Definition definition, Object... requestItems) {
- Request requestContext = getRequestContextFactory()
- .createRequestContext(getApplicationContext(), requestItems);
- register(definition, requestContext);
+ public void register(Definition definition, Request request) {
+ mgr.addDefinition(definition, request);
}
/** {...@inheritdoc} */
@@ -69,16 +67,4 @@
super.setDefinitionsFactory(definitionsFactory);
mgr.setFactory(definitionsFactory);
}
-
- /**
- * Registers a custom definition.
- *
- * @param definition The definition to register.
- * @param request The request inside which the definition should be
- * registered.
- */
- protected void register(Definition definition,
- Request request) {
- mgr.addDefinition(definition, request);
- }
}
Modified:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/DefinitionFMModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/DefinitionFMModel.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/DefinitionFMModel.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/DefinitionFMModel.java
Sat Nov 14 20:58:46 2009
@@ -24,8 +24,11 @@
import java.io.IOException;
import java.util.Map;
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.freemarker.context.FreeMarkerTilesRequestContext;
import org.apache.tiles.freemarker.context.FreeMarkerUtil;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.Request;
import org.apache.tiles.template.DefinitionModel;
import freemarker.core.Environment;
@@ -37,7 +40,7 @@
/**
* Wraps {...@link DefinitionModel} to be used in FreeMarker. For the list of
* parameters, see {...@link DefinitionModel#start(java.util.Stack, String,
String, String, String, String)} and
- * {...@link DefinitionModel#end(MutableTilesContainer, java.util.Stack,
Object...)}.
+ * {...@link DefinitionModel#end(MutableTilesContainer, java.util.Stack,
Request)}.
*
* @version $Rev$ $Date$
* @since 2.2.0
@@ -63,7 +66,11 @@
@SuppressWarnings("unchecked")
public void execute(Environment env, Map params, TemplateModel[] loopVars,
TemplateDirectiveBody body) throws TemplateException, IOException {
- Map<String, TemplateModel> parms = (Map<String, TemplateModel>) params;
+ Map<String, TemplateModel> parms = params;
+ TilesContainer container = FreeMarkerUtil.getCurrentContainer(env);
+ Request request = FreeMarkerTilesRequestContext
+ .createServletFreemarkerRequest(container
+ .getApplicationContext(), env);
model.start(FreeMarkerUtil.getComposeStack(env),
FreeMarkerUtil.getAsString(parms.get("name")),
FreeMarkerUtil.getAsString(parms.get("template")),
@@ -71,9 +78,8 @@
FreeMarkerUtil.getAsString(parms.get("extends")),
FreeMarkerUtil.getAsString(parms.get("preparer")));
FreeMarkerUtil.evaluateBody(body);
- model.end((MutableTilesContainer) FreeMarkerUtil
- .getCurrentContainer(env), FreeMarkerUtil.getComposeStack(env),
- env);
+ model.end((MutableTilesContainer) container, FreeMarkerUtil
+ .getComposeStack(env), request);
}
}
Modified:
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/DefinitionFMModelTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/DefinitionFMModelTest.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/DefinitionFMModelTest.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/DefinitionFMModelTest.java
Sat Nov 14 20:58:46 2009
@@ -36,9 +36,11 @@
import org.apache.tiles.ArrayStack;
import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.freemarker.context.FreeMarkerTilesRequestContext;
import org.apache.tiles.freemarker.context.FreeMarkerUtil;
import org.apache.tiles.freemarker.io.NullWriter;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.servlet.context.ServletUtil;
import org.apache.tiles.template.DefinitionModel;
import org.junit.Before;
@@ -63,11 +65,6 @@
public class DefinitionFMModelTest {
/**
- * The number of times the method is called.
- */
- private static final int CALL_COUNT = 3;
-
- /**
* The FreeMarker environment.
*/
private Environment env;
@@ -98,10 +95,10 @@
private ObjectWrapper objectWrapper;
/**
- * @throws java.lang.Exception If something goes wrong.
+ * Sets up the model.
*/
@Before
- public void setUp() throws Exception {
+ public void setUp() {
template = createMock(Template.class);
model = createMock(TemplateHashModel.class);
expect(template.getMacros()).andReturn(new HashMap<Object, Object>());
@@ -121,7 +118,9 @@
DefinitionModel tModel = createMock(DefinitionModel.class);
DefinitionFMModel fmModel = new DefinitionFMModel(tModel);
MutableTilesContainer container =
createMock(MutableTilesContainer.class);
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+
expect(container.getApplicationContext()).andReturn(applicationContext);
HttpServletRequest request = createMock(HttpServletRequest.class);
ArrayStack<Object> composeStack = new ArrayStack<Object>();
expect(request.getAttribute(FreeMarkerUtil.COMPOSE_STACK_ATTRIBUTE_NAME)).andReturn(composeStack).times(2);
@@ -132,12 +131,12 @@
GenericServlet servlet = createMock(GenericServlet.class);
ServletContext servletContext = createMock(ServletContext.class);
- expect(servlet.getServletContext()).andReturn(servletContext).times(2);
+
expect(servlet.getServletContext()).andReturn(servletContext).anyTimes();
expect(servletContext.getAttribute(TilesAccess.CONTAINER_ATTRIBUTE)).andReturn(container);
replay(servlet, servletContext);
ServletContextHashModel servletContextModel = new
ServletContextHashModel(servlet, objectWrapper);
-
expect(model.get(FreemarkerServlet.KEY_REQUEST)).andReturn(requestModel).times(CALL_COUNT);
-
expect(model.get(FreemarkerServlet.KEY_APPLICATION)).andReturn(servletContextModel);
+
expect(model.get(FreemarkerServlet.KEY_REQUEST)).andReturn(requestModel).anyTimes();
+
expect(model.get(FreemarkerServlet.KEY_APPLICATION)).andReturn(servletContextModel).anyTimes();
initEnvironment();
TemplateDirectiveBody body = createMock(TemplateDirectiveBody.class);
@@ -149,12 +148,12 @@
params.put("preparer", objectWrapper.wrap("myPreparer"));
tModel.start(composeStack, "myName", "myTemplate", "myRole",
"myExtends", "myPreparer");
- tModel.end(container, composeStack, env);
+ tModel.end(eq(container), eq(composeStack),
isA(FreeMarkerTilesRequestContext.class));
body.render(isA(NullWriter.class));
- replay(tModel, body, container);
+ replay(tModel, body, container, applicationContext);
fmModel.execute(env, params, null, body);
- verify(template, model, request, tModel, body, container, servlet,
servletContext);
+ verify(template, model, request, tModel, body, container, servlet,
servletContext, applicationContext);
}
/**
Modified:
tiles/sandbox/trunk/tiles3/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/definition/DefinitionTag.java
Sat Nov 14 20:58:46 2009
@@ -24,12 +24,15 @@
import javax.servlet.jsp.JspContext;
import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import org.apache.tiles.TilesContainer;
import org.apache.tiles.jsp.JspUtil;
+import org.apache.tiles.jsp.context.JspTilesRequestContext;
import org.apache.tiles.jsp.taglib.TilesJspException;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.Request;
import org.apache.tiles.template.DefinitionModel;
/**
@@ -165,12 +168,18 @@
@Override
public void doTag() throws JspException, IOException {
JspContext jspContext = getJspContext();
- model.start(JspUtil.getComposeStack(jspContext), name, template, role,
extend, preparer);
+ TilesContainer currentContainer = JspUtil
+ .getCurrentContainer(jspContext);
+ Request request = JspTilesRequestContext.createServletJspRequest(
+ currentContainer.getApplicationContext(),
+ (PageContext) jspContext);
+ model.start(JspUtil.getComposeStack(jspContext), name, template, role,
+ extend, preparer);
JspUtil.evaluateFragment(getJspBody());
TilesContainer container = JspUtil.getCurrentContainer(jspContext);
if (container instanceof MutableTilesContainer) {
model.end((MutableTilesContainer) container, JspUtil
- .getComposeStack(jspContext), jspContext);
+ .getComposeStack(jspContext), request);
} else {
throw new TilesJspException("The current container is not
mutable");
}
Modified:
tiles/sandbox/trunk/tiles3/tiles-template/src/main/java/org/apache/tiles/template/DefinitionModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-template/src/main/java/org/apache/tiles/template/DefinitionModel.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-template/src/main/java/org/apache/tiles/template/DefinitionModel.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-template/src/main/java/org/apache/tiles/template/DefinitionModel.java
Sat Nov 14 20:58:46 2009
@@ -25,6 +25,7 @@
import org.apache.tiles.Attribute;
import org.apache.tiles.Definition;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.Request;
/**
* <p>
@@ -64,13 +65,13 @@
*
* @param container The Tiles container to use. It must be "mutable".
* @param composeStack The compose stack.
- * @param requestItems The request objects.
+ * @param request TODO
* @since 2.2.0
*/
public void end(MutableTilesContainer container,
- ArrayStack<Object> composeStack, Object... requestItems) {
+ ArrayStack<Object> composeStack, Request request) {
Definition definition = (Definition) composeStack.pop();
- registerDefinition(definition, container, composeStack, requestItems);
+ registerDefinition(definition, container, composeStack, request);
}
/**
@@ -84,16 +85,16 @@
* will be rendered only if the current user belongs to one of the roles.
* @param extendsParam The definition name that this definition extends.
* @param preparer The preparer to use to invoke before the definition is
rendered.
- * @param requestItems The request objects.
+ * @param request TODO
* @since 2.2.0
*/
public void execute(MutableTilesContainer container,
ArrayStack<Object> composeStack, String name, String template,
String role, String extendsParam, String preparer,
- Object... requestItems) {
+ Request request) {
Definition definition = createDefinition(name, template, role,
extendsParam, preparer);
- registerDefinition(definition, container, composeStack, requestItems);
+ registerDefinition(definition, container, composeStack, request);
}
/**
@@ -126,12 +127,12 @@
* @param definition The definition to register.
* @param container The container into which the definition will be
registered.
* @param composeStack The compose stack,
- * @param requestItems The request object.
+ * @param request TODO
*/
private void registerDefinition(Definition definition,
MutableTilesContainer container, ArrayStack<Object> composeStack,
- Object... requestItems) {
- container.register(definition, requestItems);
+ Request request) {
+ container.register(definition, request);
if (composeStack.isEmpty()) {
return;
Modified:
tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/DefinitionModelTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/DefinitionModelTest.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/DefinitionModelTest.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/DefinitionModelTest.java
Sat Nov 14 20:58:46 2009
@@ -28,6 +28,7 @@
import org.apache.tiles.Attribute;
import org.apache.tiles.Definition;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.Request;
import org.junit.Before;
import org.junit.Test;
@@ -70,70 +71,70 @@
/**
* Test method for {...@link org.apache.tiles.template.DefinitionModel
- * #end(org.apache.tiles.mgmt.MutableTilesContainer, java.util.Stack,
java.lang.Object[])}.
+ * #end(org.apache.tiles.mgmt.MutableTilesContainer, java.util.Stack,
Request)}.
*/
@Test
public void testEnd() {
MutableTilesContainer container =
createMock(MutableTilesContainer.class);
+ Request request = createMock(Request.class);
ArrayStack<Object> composeStack = new ArrayStack<Object>();
Definition definition = new Definition();
composeStack.push(definition);
- Integer requestItem = new Integer(1);
- container.register(definition, requestItem);
+ container.register(definition, request);
- replay(container);
- model.end(container, composeStack, requestItem);
- verify(container);
+ replay(container, request);
+ model.end(container, composeStack, request);
+ verify(container, request);
}
/**
* Test method for {...@link org.apache.tiles.template.DefinitionModel
- * #end(org.apache.tiles.mgmt.MutableTilesContainer, java.util.Stack,
java.lang.Object[])}.
+ * #end(org.apache.tiles.mgmt.MutableTilesContainer, java.util.Stack,
Request)}.
*/
@Test
public void testEndInAttribute() {
MutableTilesContainer container =
createMock(MutableTilesContainer.class);
+ Request request = createMock(Request.class);
ArrayStack<Object> composeStack = new ArrayStack<Object>();
Attribute attribute = new Attribute();
composeStack.push(attribute);
Definition definition = new Definition();
composeStack.push(definition);
- Integer requestItem = new Integer(1);
- container.register(definition, requestItem);
+ container.register(definition, request);
- replay(container);
- model.end(container, composeStack, requestItem);
+ replay(container, request);
+ model.end(container, composeStack, request);
assertEquals(1, composeStack.size());
attribute = (Attribute) composeStack.peek();
assertEquals(definition.getName(), attribute.getValue());
assertEquals("definition", attribute.getRenderer());
- verify(container);
+ verify(container, request);
}
/**
* Test method for {...@link org.apache.tiles.template.DefinitionModel
* #execute(org.apache.tiles.mgmt.MutableTilesContainer, java.util.Stack,
- * java.lang.String, java.lang.String, java.lang.String, java.lang.String,
java.lang.String, java.lang.Object[])}.
+ * java.lang.String, java.lang.String, java.lang.String, java.lang.String,
java.lang.String, Request)}.
*/
@Test
public void testExecute() {
MutableTilesContainer container =
createMock(MutableTilesContainer.class);
+ Request request = createMock(Request.class);
ArrayStack<Object> composeStack = new ArrayStack<Object>();
Attribute attribute = new Attribute();
composeStack.push(attribute);
- Integer requestItem = new Integer(1);
- container.register((Definition) notNull(), eq(requestItem));
+ container.register((Definition) notNull(), eq(request));
- replay(container);
+ replay(container, request);
model.execute(container, composeStack, "myName", "myTemplate",
- "myRole", "myExtends", "myPreparer", requestItem);
+ "myRole", "myExtends", "myPreparer", request);
assertEquals(1, composeStack.size());
attribute = (Attribute) composeStack.peek();
assertEquals("definition", attribute.getRenderer());
- verify(container);
+ verify(container, request);
}
}
Modified:
tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
Sat Nov 14 20:58:46 2009
@@ -27,9 +27,12 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.tiles.TilesContainer;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.Request;
import org.apache.tiles.servlet.context.ServletUtil;
import org.apache.tiles.template.DefinitionModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
import org.apache.tiles.velocity.context.VelocityUtil;
import org.apache.velocity.context.Context;
import org.apache.velocity.runtime.Renderable;
@@ -38,9 +41,9 @@
* Wraps {...@link DefinitionModel} to be used in Velocity. For the list of
* parameters, see
* {...@link DefinitionModel#start(java.util.Stack, String, String, String,
String, String)}
- * , {...@link DefinitionModel#end(MutableTilesContainer, java.util.Stack,
Object...)} and
+ * , {...@link DefinitionModel#end(MutableTilesContainer, java.util.Stack,
Request)} and
* {...@link DefinitionModel#execute(MutableTilesContainer, java.util.Stack,
String, String,
- * String, String, String, Object...)}.
+ * String, String, String, Request)}.
*
* @version $Rev$ $Date$
* @since 2.2.0
@@ -73,12 +76,16 @@
public Renderable execute(HttpServletRequest request,
HttpServletResponse response, Context velocityContext,
Map<String, Object> params) {
- model.execute((MutableTilesContainer) ServletUtil.getCurrentContainer(
- request, servletContext), ServletUtil.getComposeStack(request),
+ TilesContainer container = ServletUtil.getCurrentContainer(
+ request, servletContext);
+ Request currentRequest = VelocityTilesRequestContext
+ .createVelocityRequest(container
+ .getApplicationContext(), request, response,
+ velocityContext, null);
+ model.execute((MutableTilesContainer) container,
ServletUtil.getComposeStack(request),
(String) params.get("name"), (String) params.get("template"),
(String) params.get("role"), (String) params.get("extends"),
- (String) params.get("preparer"), velocityContext, request,
- response);
+ (String) params.get("preparer"), currentRequest);
return VelocityUtil.EMPTY_RENDERABLE;
}
@@ -86,11 +93,14 @@
/** {...@inheritdoc} */
public Renderable end(HttpServletRequest request,
HttpServletResponse response, Context velocityContext) {
- model
- .end((MutableTilesContainer) ServletUtil.getCurrentContainer(
- request, servletContext), ServletUtil
- .getComposeStack(request), velocityContext,
- request, response);
+ TilesContainer container = ServletUtil.getCurrentContainer(
+ request, servletContext);
+ Request currentRequest = VelocityTilesRequestContext
+ .createVelocityRequest(container
+ .getApplicationContext(), request, response,
+ velocityContext, null);
+ model.end((MutableTilesContainer) container, ServletUtil
+ .getComposeStack(request), currentRequest);
return VelocityUtil.EMPTY_RENDERABLE;
}
Modified:
tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/DefinitionVModelTest.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/DefinitionVModelTest.java?rev=836263&r1=836262&r2=836263&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/DefinitionVModelTest.java
(original)
+++
tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/DefinitionVModelTest.java
Sat Nov 14 20:58:46 2009
@@ -35,8 +35,10 @@
import org.apache.tiles.ArrayStack;
import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.request.ApplicationContext;
import org.apache.tiles.servlet.context.ServletUtil;
import org.apache.tiles.template.DefinitionModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
import org.apache.tiles.velocity.context.VelocityUtil;
import org.apache.velocity.context.Context;
import org.junit.Before;
@@ -75,27 +77,29 @@
* Test method for {...@link
org.apache.tiles.velocity.template.DefinitionVModel
* #execute(javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse,
* org.apache.velocity.context.Context, java.util.Map)}.
- * @throws IOException If something goes wrong.
*/
@Test
- public void testExecute() throws IOException {
+ public void testExecute() {
HttpServletRequest request = createMock(HttpServletRequest.class);
HttpServletResponse response = createMock(HttpServletResponse.class);
Context velocityContext = createMock(Context.class);
MutableTilesContainer container =
createMock(MutableTilesContainer.class);
Map<String, Object> params = createParams();
ArrayStack<Object> composeStack = new ArrayStack<Object>();
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+
expect(container.getApplicationContext()).andReturn(applicationContext);
expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
expect(request.getAttribute(ServletUtil.COMPOSE_STACK_ATTRIBUTE_NAME))
.andReturn(composeStack);
- tModel.execute(container, composeStack, "myName", "myTemplate",
"myRole", "myExtends", "myPreparer",
- velocityContext, request, response);
+ tModel.execute(eq(container), eq(composeStack), eq("myName"),
+ eq("myTemplate"), eq("myRole"), eq("myExtends"),
+ eq("myPreparer"), isA(VelocityTilesRequestContext.class));
- replay(tModel, servletContext, request, response, velocityContext,
container);
+ replay(tModel, servletContext, request, response, velocityContext,
container, applicationContext);
initializeModel();
assertEquals(VelocityUtil.EMPTY_RENDERABLE, model.execute(request,
response, velocityContext, params));
- verify(tModel, servletContext, request, response, velocityContext,
container);
+ verify(tModel, servletContext, request, response, velocityContext,
container, applicationContext);
}
/**
@@ -128,22 +132,24 @@
* @throws IOException If something goes wrong.
*/
@Test
- public void testEnd() throws IOException {
+ public void testEnd() {
HttpServletRequest request = createMock(HttpServletRequest.class);
HttpServletResponse response = createMock(HttpServletResponse.class);
Context velocityContext = createMock(Context.class);
MutableTilesContainer container =
createMock(MutableTilesContainer.class);
ArrayStack<Object> composeStack = new ArrayStack<Object>();
+ ApplicationContext applicationContext =
createMock(ApplicationContext.class);
+
expect(container.getApplicationContext()).andReturn(applicationContext);
expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
expect(request.getAttribute(ServletUtil.COMPOSE_STACK_ATTRIBUTE_NAME))
.andReturn(composeStack);
- tModel.end(container, composeStack, velocityContext, request,
response);
+ tModel.end(eq(container), eq(composeStack),
isA(VelocityTilesRequestContext.class));
- replay(tModel, servletContext, request, response, velocityContext,
container);
+ replay(tModel, servletContext, request, response, velocityContext,
container, applicationContext);
initializeModel();
assertEquals(VelocityUtil.EMPTY_RENDERABLE, model.end(request,
response, velocityContext));
- verify(tModel, servletContext, request, response, velocityContext,
container);
+ verify(tModel, servletContext, request, response, velocityContext,
container, applicationContext);
}
/**