You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2009/11/14 14:40:33 UTC

svn commit: r836174 [4/5] - in /tiles/sandbox/trunk: tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/freemarker/context/ tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/jsp/context/ tiles-request/tiles-request-veloc...

Modified: tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/InsertTemplateModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/InsertTemplateModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/InsertTemplateModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/InsertTemplateModelTest.java Sat Nov 14 13:40:31 2009
@@ -26,6 +26,7 @@
 import org.apache.tiles.Attribute;
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -51,66 +52,66 @@
 
     /**
      * Test method for {@link org.apache.tiles.template.InsertTemplateModel
-     * #start(org.apache.tiles.TilesContainer, java.lang.Object[])}.
+     * #start(org.apache.tiles.TilesContainer, Request)}.
      */
     @Test
     public void testStart() {
         TilesContainer container = createMock(TilesContainer.class);
-        Integer requestItem = new Integer(1);
+        Request request = createMock(Request.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
 
-        expect(container.startContext(requestItem)).andReturn(attributeContext);
+        expect(container.startContext(request)).andReturn(attributeContext);
 
-        replay(container, attributeContext);
-        model.start(container, requestItem);
-        verify(container, attributeContext);
+        replay(container, attributeContext, request);
+        model.start(container, request);
+        verify(container, attributeContext, request);
     }
 
     /**
      * Test method for {@link org.apache.tiles.template.InsertTemplateModel
-     * #end(TilesContainer, String, String, String, String, String, Object...)}.
+     * #end(TilesContainer, String, String, String, String, String, Request)}.
      */
     @Test
     public void testEnd() {
         TilesContainer container = createMock(TilesContainer.class);
-        Integer requestItem = new Integer(1);
+        Request request = createMock(Request.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
 
-        expect(container.getAttributeContext(requestItem)).andReturn(attributeContext);
-        container.endContext(requestItem);
+        expect(container.getAttributeContext(request)).andReturn(attributeContext);
+        container.endContext(request);
         attributeContext.setPreparer("myPreparer");
         attributeContext.setTemplateAttribute((Attribute) notNull());
-        container.renderContext(requestItem);
+        container.renderContext(request);
 
-        replay(container, attributeContext);
+        replay(container, attributeContext, request);
         model.end(container, "myTemplate", "myTemplateType",
                 "myTemplateExpression", "myRole", "myPreparer",
-                requestItem);
-        verify(container, attributeContext);
+                request);
+        verify(container, attributeContext, request);
     }
 
     /**
      * Test method for {@link org.apache.tiles.template.InsertTemplateModel
-     * #execute(TilesContainer, String, String, String, String, String, Object...)}.
+     * #execute(TilesContainer, String, String, String, String, String, Request)}.
      */
     @Test
     public void testExecute() {
         TilesContainer container = createMock(TilesContainer.class);
-        Integer requestItem = new Integer(1);
+        Request request = createMock(Request.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
 
-        expect(container.startContext(requestItem)).andReturn(attributeContext);
-        expect(container.getAttributeContext(requestItem)).andReturn(attributeContext);
-        container.endContext(requestItem);
+        expect(container.startContext(request)).andReturn(attributeContext);
+        expect(container.getAttributeContext(request)).andReturn(attributeContext);
+        container.endContext(request);
         attributeContext.setPreparer("myPreparer");
         attributeContext.setTemplateAttribute((Attribute) notNull());
-        container.renderContext(requestItem);
+        container.renderContext(request);
 
-        replay(container, attributeContext);
+        replay(container, attributeContext, request);
         model.execute(container, "myTemplate", "myTemplateType",
                 "myTemplateExpression", "myRole",
-                "myPreparer", requestItem);
-        verify(container, attributeContext);
+                "myPreparer", request);
+        verify(container, attributeContext, request);
     }
 
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutAttributeModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutAttributeModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutAttributeModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutAttributeModelTest.java Sat Nov 14 13:40:31 2009
@@ -30,6 +30,7 @@
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.ListAttribute;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -70,80 +71,80 @@
     /**
      * Test method for {@link org.apache.tiles.template.PutAttributeModel
      * #end(org.apache.tiles.TilesContainer, ArrayStack, String, Object, String,
-     * String, String, String, boolean, Object...)}.
+     * String, String, String, boolean, Request)}.
      */
     @Test
     public void testEnd() {
         TilesContainer container = createMock(TilesContainer.class);
+        Request request = createMock(Request.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         Attribute attribute = new Attribute();
-        Integer requestItem = new Integer(1);
         composeStack.push(attribute);
 
-        expect(container.getAttributeContext(requestItem)).andReturn(attributeContext);
+        expect(container.getAttributeContext(request)).andReturn(attributeContext);
         attributeContext.putAttribute("myName", attribute, false);
 
-        replay(container, attributeContext);
+        replay(container, attributeContext, request);
         model.end(container, composeStack, "myName", "myValue", "myExpression",
-                "myBody", "myRole", "myType", false, requestItem);
+                "myBody", "myRole", "myType", false, request);
         assertEquals("myValue", attribute.getValue());
         assertEquals("myExpression", attribute.getExpressionObject()
                 .getExpression());
         assertEquals("myRole", attribute.getRole());
         assertEquals("myType", attribute.getRenderer());
-        verify(container, attributeContext);
+        verify(container, attributeContext, request);
     }
 
     /**
      * Test method for {@link org.apache.tiles.template.PutAttributeModel
      * #end(org.apache.tiles.TilesContainer, ArrayStack, String, Object, String,
-     * String, String, String, boolean, Object...)}.
+     * String, String, String, boolean, Request)}.
      */
     @Test
     public void testEndBody() {
         TilesContainer container = createMock(TilesContainer.class);
+        Request request = createMock(Request.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         Attribute attribute = new Attribute();
-        Integer requestItem = new Integer(1);
         composeStack.push(attribute);
 
-        expect(container.getAttributeContext(requestItem)).andReturn(attributeContext);
+        expect(container.getAttributeContext(request)).andReturn(attributeContext);
         attributeContext.putAttribute("myName", attribute, false);
 
-        replay(container, attributeContext);
+        replay(container, attributeContext, request);
         model.end(container, composeStack, "myName", "myValue", "myExpression",
-                "myBody", "myRole", "myType", false, requestItem);
+                "myBody", "myRole", "myType", false, request);
         assertEquals("myValue", attribute.getValue());
         assertEquals("myExpression", attribute.getExpressionObject()
                 .getExpression());
         assertEquals("myRole", attribute.getRole());
         assertEquals("myType", attribute.getRenderer());
-        verify(container, attributeContext);
+        verify(container, attributeContext, request);
     }
 
     /**
      * Test method for {@link org.apache.tiles.template.PutAttributeModel
      * #execute(org.apache.tiles.TilesContainer, ArrayStack, String, Object, String,
-     * String, String, String, boolean, Object...)}.
+     * String, String, String, boolean, Request)}.
      */
     @Test
     public void testExecuteListAttribute() {
         TilesContainer container = createMock(TilesContainer.class);
+        Request request = createMock(Request.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         ListAttribute listAttribute = new ListAttribute();
-        Integer requestItem = new Integer(1);
         composeStack.push(listAttribute);
 
-        expect(container.getAttributeContext(requestItem)).andReturn(attributeContext);
+        expect(container.getAttributeContext(request)).andReturn(attributeContext);
         attributeContext.putAttribute(eq("myName"), (Attribute) notNull(), eq(false));
 
-        replay(container, attributeContext);
+        replay(container, attributeContext, request);
         model.execute(container, composeStack, "myName", "myValue",
                 "myExpression", "myBody", "myRole", "myType", false,
-                requestItem);
-        verify(container, attributeContext);
+                request);
+        verify(container, attributeContext, request);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutListAttributeModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutListAttributeModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutListAttributeModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-template/src/test/java/org/apache/tiles/template/PutListAttributeModelTest.java Sat Nov 14 13:40:31 2009
@@ -28,6 +28,7 @@
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.ListAttribute;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -65,24 +66,24 @@
 
     /**
      * Test method for {@link org.apache.tiles.template.PutListAttributeModel
-     * #end(org.apache.tiles.TilesContainer, ArrayStack, String, boolean, Object...)}.
+     * #end(org.apache.tiles.TilesContainer, ArrayStack, String, boolean, Request)}.
      */
     @Test
     public void testEnd() {
         TilesContainer container = createMock(TilesContainer.class);
         AttributeContext attributeContext = createMock(AttributeContext.class);
+        Request request = createMock(Request.class);
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         ListAttribute listAttribute = new ListAttribute();
-        Integer requestItem = new Integer(1);
         composeStack.push(listAttribute);
 
-        expect(container.getAttributeContext(requestItem)).andReturn(attributeContext);
+        expect(container.getAttributeContext(request)).andReturn(attributeContext);
         attributeContext.putAttribute("myName", listAttribute, false);
 
-        replay(container, attributeContext);
-        model.end(container, composeStack, "myName", false, requestItem);
+        replay(container, attributeContext, request);
+        model.end(container, composeStack, "myName", false, request);
         assertEquals(0, composeStack.size());
-        verify(container, attributeContext);
+        verify(container, attributeContext, request);
     }
 
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/portlet/TestPortlet.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/portlet/TestPortlet.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/portlet/TestPortlet.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/portlet/TestPortlet.java Sat Nov 14 13:40:31 2009
@@ -38,6 +38,8 @@
 
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.portlet.context.PortletTilesRequestContext;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 
 /**
@@ -57,10 +59,11 @@
             portletSession.removeAttribute("definition");
 			TilesContainer container = getCurrentContainer(request,
 					getPortletContext());
-            if (container.isValidDefinition(definition, request, response,
-                    getPortletContext())) {
-                container.render(definition, request, response,
-                        getPortletContext());
+			Request currentRequest = new PortletTilesRequestContext(container
+					.getApplicationContext(), getPortletContext(), request,
+					response);
+            if (container.isValidDefinition(definition, currentRequest)) {
+                container.render(definition, currentRequest);
                 addBackLink(response);
             } else {
                 PortletRequestDispatcher dispatcher = getPortletContext()

Modified: tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/SelectLocaleServlet.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/SelectLocaleServlet.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/SelectLocaleServlet.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/SelectLocaleServlet.java Sat Nov 14 13:40:31 2009
@@ -32,6 +32,8 @@
 
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.locale.impl.DefaultLocaleResolver;
+import org.apache.tiles.request.Request;
+import org.apache.tiles.request.servlet.ServletTilesRequestContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 
 /**
@@ -105,6 +107,8 @@
                 .getSession().getServletContext(), containerKey);
         TilesContainer container = ServletUtil.getCurrentContainer(request, request
                 .getSession().getServletContext());
-        container.render(definitionName, request, response);
+		Request currentRequest = new ServletTilesRequestContext(container
+				.getApplicationContext(), request, response);
+        container.render(definitionName, currentRequest);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java Sat Nov 14 13:40:31 2009
@@ -31,8 +31,10 @@
 
 import org.apache.tiles.Attribute;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.GetAsStringModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -42,10 +44,10 @@
  * Wraps {@link GetAsStringModel} to be used in Velocity. For the list of
  * parameters, see
  * {@link GetAsStringModel#start(java.util.Stack, TilesContainer, boolean,
- * String, String, Object, String, String, String, Attribute, Object...)}
- * , {@link GetAsStringModel#end(java.util.Stack, TilesContainer, Writer, boolean, Object...)} and
+ * String, String, Object, String, String, String, Attribute, Request)}
+ * , {@link GetAsStringModel#end(java.util.Stack, TilesContainer, Writer, boolean, Request)} and
  * {@link GetAsStringModel#execute(TilesContainer, Writer, boolean, String,
- * String, Object, String, String, String, Attribute, Object...)}.
+ * String, Object, String, String, String, Attribute, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -86,6 +88,10 @@
                     throws IOException {
                 TilesContainer container = ServletUtil.getCurrentContainer(
                         request, servletContext);
+				Request currentRequest = VelocityTilesRequestContext
+						.createVelocityRequest(container
+								.getApplicationContext(), request, response,
+								velocityContext, writer);
                 model.execute(container, writer,
                         VelocityUtil.toSimpleBoolean((Boolean) params
                                 .get("ignore"), false), (String) params
@@ -94,7 +100,7 @@
                                 .get("defaultValueRole"), (String) params
                                 .get("defaultValueType"), (String) params
                                 .get("name"), (Attribute) params.get("value"),
-                        velocityContext, request, response, writer);
+                        currentRequest);
                 return true;
             }
         };
@@ -104,15 +110,18 @@
     public void start(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext, Map<String, Object> params) {
         VelocityUtil.getParameterStack(velocityContext).push(params);
-        model.start(ServletUtil.getComposeStack(request), ServletUtil
-                .getCurrentContainer(request, servletContext), VelocityUtil
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+        model.start(ServletUtil.getComposeStack(request), container, VelocityUtil
                 .toSimpleBoolean((Boolean) params.get("ignore"), false),
                 (String) params.get("preparer"), (String) params.get("role"),
                 params.get("defaultValue"), (String) params
                         .get("defaultValueRole"), (String) params
                         .get("defaultValueType"), (String) params.get("name"),
-                (Attribute) params.get("value"), velocityContext, request,
-                response);
+                (Attribute) params.get("value"), currentRequest);
     }
 
     /** {@inheritDoc} */
@@ -124,11 +133,14 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.end(ServletUtil.getComposeStack(request), ServletUtil
-                        .getCurrentContainer(request, servletContext), writer,
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+                model.end(ServletUtil.getComposeStack(request), container, writer,
                         VelocityUtil.toSimpleBoolean((Boolean) params
-                                .get("ignore"), false), velocityContext,
-                        request, response, writer);
+                                .get("ignore"), false), currentRequest);
                 return true;
             }
         };

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java Sat Nov 14 13:40:31 2009
@@ -29,8 +29,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.ImportAttributeModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -40,7 +43,7 @@
  * Wraps {@link ImportAttributeModel} to be used in Velocity. For the list of
  * parameters, see
  * {@link ImportAttributeModel#getImportedAttributes(org.apache.tiles.TilesContainer,
- * String, String, boolean, Object...)}.
+ * String, String, boolean, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -79,13 +82,17 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
                 Map<String, Object> attributes = model.getImportedAttributes(
-                        ServletUtil
-                                .getCurrentContainer(request, servletContext),
+                        container,
                         (String) params.get("name"), (String) params
                                 .get("toName"), VelocityUtil.toSimpleBoolean(
                                 (Boolean) params.get("ignore"), false),
-                        velocityContext, request, response);
+                        currentRequest);
                 String scope = (String) params.get("scope");
                 for (Map.Entry<String, Object> entry : attributes.entrySet()) {
                     VelocityUtil.setAttribute(context, request,

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java Sat Nov 14 13:40:31 2009
@@ -30,8 +30,11 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.tiles.Attribute;
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertAttributeModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -41,10 +44,10 @@
  * Wraps {@link InsertAttributeModel} to be used in Velocity. For the list of
  * parameters, see
  * {@link InsertAttributeModel#start(java.util.Stack, org.apache.tiles.TilesContainer, boolean,
- * String, String, Object, String, String, String, Attribute, Object...)}
- * , {@link InsertAttributeModel#end(java.util.Stack, org.apache.tiles.TilesContainer, boolean, Object...)} and
+ * String, String, Object, String, String, String, Attribute, Request)}
+ * , {@link InsertAttributeModel#end(java.util.Stack, org.apache.tiles.TilesContainer, boolean, Request)} and
  * {@link InsertAttributeModel#execute(org.apache.tiles.TilesContainer, boolean, String, String,
- * Object, String, String, String, Attribute, Object...)}.
+ * Object, String, String, String, Attribute, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -83,11 +86,14 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.end(ServletUtil.getComposeStack(request), ServletUtil
-                        .getCurrentContainer(request, servletContext),
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+                model.end(ServletUtil.getComposeStack(request), container,
                         VelocityUtil.toSimpleBoolean((Boolean) params
-                                .get("ignore"), false), velocityContext,
-                        request, response, writer);
+                                .get("ignore"), false), currentRequest);
                 return true;
             }
         };
@@ -97,12 +103,17 @@
     public void start(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext, Map<String, Object> params) {
         VelocityUtil.getParameterStack(velocityContext).push(params);
-        model.start(ServletUtil.getComposeStack(request), ServletUtil.getCurrentContainer(request, servletContext),
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+        model.start(ServletUtil.getComposeStack(request), container,
                 VelocityUtil.toSimpleBoolean((Boolean) params.get("ignore"), false),
                 (String) params.get("preparer"), (String) params.get("role"),
                 params.get("defaultValue"), (String) params.get("defaultValueRole"),
                 (String) params.get("defaultValueType"), (String) params.get("name"),
-                (Attribute) params.get("value"), velocityContext, request, response);
+                (Attribute) params.get("value"), currentRequest);
 
     }
 
@@ -114,15 +125,18 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.execute(ServletUtil.getCurrentContainer(request,
-                        servletContext), VelocityUtil.toSimpleBoolean(
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+                model.execute(container, VelocityUtil.toSimpleBoolean(
                         (Boolean) params.get("ignore"), false), (String) params
                         .get("preparer"), (String) params.get("role"), params
                         .get("defaultValue"), (String) params
                         .get("defaultValueRole"), (String) params
                         .get("defaultValueType"), (String) params.get("name"),
-                        (Attribute) params.get("value"), velocityContext,
-                        request, response, writer);
+                        (Attribute) params.get("value"), currentRequest);
                 return true;
             }
         };

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java Sat Nov 14 13:40:31 2009
@@ -29,8 +29,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertDefinitionModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -39,11 +42,11 @@
 /**
  * Wraps {@link InsertDefinitionModel} to be used in Velocity. For the list of
  * parameters, see
- * {@link InsertDefinitionModel#start(org.apache.tiles.TilesContainer, Object...)}
+ * {@link InsertDefinitionModel#start(org.apache.tiles.TilesContainer, Request)}
  * , {@link InsertDefinitionModel#end(org.apache.tiles.TilesContainer,
- * String, String, String, String, String, String, Object...)} and
+ * String, String, String, String, String, String, Request)} and
  * {@link InsertDefinitionModel#execute(org.apache.tiles.TilesContainer,
- * String, String, String, String, String, String, Object...)}.
+ * String, String, String, String, String, String, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -81,13 +84,17 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.execute(ServletUtil.getCurrentContainer(request,
-                        servletContext), (String) params.get("name"),
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+                model.execute(container, (String) params.get("name"),
                         (String) params.get("template"), (String) params
                                 .get("templateType"), (String) params
                                 .get("templateExpression"), (String) params
                                 .get("role"), (String) params.get("preparer"),
-                        velocityContext, request, response, writer);
+                        currentRequest);
                 return true;
             }
         };
@@ -102,13 +109,17 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.end(ServletUtil.getCurrentContainer(request,
-                        servletContext), (String) params.get("name"),
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+                model.end(container, (String) params.get("name"),
                         (String) params.get("template"), (String) params
                                 .get("templateType"), (String) params
                                 .get("templateExpression"), (String) params
                                 .get("role"), (String) params.get("preparer"),
-                        velocityContext, request, response, writer);
+                        currentRequest);
                 return true;
             }
         };
@@ -118,7 +129,11 @@
     public void start(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext, Map<String, Object> params) {
         VelocityUtil.getParameterStack(velocityContext).push(params);
-        model.start(ServletUtil.getCurrentContainer(request,
-                servletContext), velocityContext, request, response);
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+        model.start(container, currentRequest);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java Sat Nov 14 13:40:31 2009
@@ -29,8 +29,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertTemplateModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -39,11 +42,11 @@
 /**
  * Wraps {@link InsertTemplateModel} to be used in Velocity. For the list of
  * parameters, see
- * {@link InsertTemplateModel#start(org.apache.tiles.TilesContainer, Object...)}
+ * {@link InsertTemplateModel#start(org.apache.tiles.TilesContainer, Request)}
  * , {@link InsertTemplateModel#end(org.apache.tiles.TilesContainer,
- * String, String, String, String, String, Object...)} and
+ * String, String, String, String, String, Request)} and
  * {@link InsertTemplateModel#execute(org.apache.tiles.TilesContainer,
- * String, String, String, String, String, Object...)}.
+ * String, String, String, String, String, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -81,13 +84,16 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.execute(ServletUtil.getCurrentContainer(request,
-                        servletContext), (String) params.get("template"),
-                        (String) params.get("templateType"), (String) params
-                                .get("templateExpression"), (String) params.get("role"),
-                        (String) params
-                                .get("preparer"), velocityContext, request, response,
-                        writer);
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+				model.execute(container, (String) params.get("template"),
+						(String) params.get("templateType"), (String) params
+								.get("templateExpression"), (String) params
+								.get("role"), (String) params.get("preparer"),
+						currentRequest);
                 return true;
             }
         };
@@ -102,13 +108,16 @@
 
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
-                model.end(ServletUtil.getCurrentContainer(request,
-                        servletContext), (String) params.get("template"),
+                TilesContainer container = ServletUtil.getCurrentContainer(
+                        request, servletContext);
+        		Request currentRequest = VelocityTilesRequestContext
+        				.createVelocityRequest(container.getApplicationContext(),
+        						request, response, velocityContext, writer);
+                model.end(container, (String) params.get("template"),
                         (String) params.get("templateType"), (String) params
                                 .get("templateExpression"), (String) params.get("role"),
                         (String) params
-                                .get("preparer"), velocityContext, request, response,
-                        writer);
+                                .get("preparer"), currentRequest);
                 return true;
             }
         };
@@ -118,7 +127,11 @@
     public void start(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext, Map<String, Object> params) {
         VelocityUtil.getParameterStack(velocityContext).push(params);
-        model.start(ServletUtil.getCurrentContainer(request, servletContext),
-                velocityContext, request, response);
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+		model.start(container, currentRequest);
     }
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java Sat Nov 14 13:40:31 2009
@@ -27,8 +27,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.PutAttributeModel;
+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 @@
  * parameters, see
  * {@link PutAttributeModel#start(java.util.Stack)}
  * , {@link PutAttributeModel#end(org.apache.tiles.TilesContainer,
- * java.util.Stack, String, Object, String, String, String, String, boolean, Object...)} and
+ * java.util.Stack, String, Object, String, String, String, String, boolean, Request)} and
  * {@link PutAttributeModel#execute(org.apache.tiles.TilesContainer,
- * java.util.Stack, String, Object, String, String, String, String, boolean, Object...)}.
+ * java.util.Stack, String, Object, String, String, String, String, boolean, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -74,13 +77,18 @@
     public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
-        model.execute(ServletUtil.getCurrentContainer(request, servletContext),
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+        model.execute(container,
                 ServletUtil.getComposeStack(request), (String) params
                         .get("name"), params.get("value"), (String) params
                         .get("expression"), null, (String) params.get("role"),
                 (String) params.get("type"), VelocityUtil.toSimpleBoolean(
                         (Boolean) params.get("cascade"), false),
-                velocityContext, request, response);
+                currentRequest);
 
         return VelocityUtil.EMPTY_RENDERABLE;
     }
@@ -90,13 +98,18 @@
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
-        model.end(ServletUtil.getCurrentContainer(request, servletContext),
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+        model.end(container,
                 ServletUtil.getComposeStack(request), (String) params
                         .get("name"), params.get("value"), (String) params
                         .get("expression"), null, (String) params.get("role"),
                 (String) params.get("type"), VelocityUtil.toSimpleBoolean(
                         (Boolean) params.get("cascade"), false),
-                velocityContext, request, response);
+                currentRequest);
         return VelocityUtil.EMPTY_RENDERABLE;
     }
 

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java Sat Nov 14 13:40:31 2009
@@ -27,8 +27,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.PutListAttributeModel;
+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;
@@ -37,7 +40,7 @@
  * Wraps {@link PutListAttributeModel} to be used in Velocity. For the list of
  * parameters, see
  * {@link PutListAttributeModel#start(java.util.Stack, String, boolean)}
- * AND {@link PutListAttributeModel#end(org.apache.tiles.TilesContainer, java.util.Stack, String, boolean, Object...)}.
+ * AND {@link PutListAttributeModel#end(org.apache.tiles.TilesContainer, java.util.Stack, String, boolean, Request)}.
  *
  * @version $Rev$ $Date$
  * @since 2.2.0
@@ -72,11 +75,16 @@
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
-        model.end(ServletUtil.getCurrentContainer(request, servletContext),
+        TilesContainer container = ServletUtil.getCurrentContainer(
+                request, servletContext);
+		Request currentRequest = VelocityTilesRequestContext
+				.createVelocityRequest(container.getApplicationContext(),
+						request, response, velocityContext, null);
+        model.end(container,
                 ServletUtil.getComposeStack(request), (String) params
                         .get("name"), VelocityUtil.toSimpleBoolean(
                         (Boolean) params.get("cascade"), false),
-                velocityContext, request, response);
+                currentRequest);
         return VelocityUtil.EMPTY_RENDERABLE;
     }
 

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/VelocityStyleTilesTool.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/VelocityStyleTilesTool.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/VelocityStyleTilesTool.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/VelocityStyleTilesTool.java Sat Nov 14 13:40:31 2009
@@ -27,7 +27,10 @@
 import org.apache.tiles.Attribute;
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.Request;
+import org.apache.tiles.request.servlet.ServletTilesRequestContext;
 import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
 
@@ -49,8 +52,12 @@
     public Attribute getAttribute(String key) {
         TilesContainer container = ServletUtil.getCurrentContainer(
                 getRequest(), getServletContext());
-        AttributeContext attributeContext = container.getAttributeContext(
-                getVelocityContext(), getRequest(), getResponse());
+		Request servletRequest = new ServletTilesRequestContext(container
+				.getApplicationContext(), getRequest(), getResponse());
+		Request velocityRequest = new VelocityTilesRequestContext(
+				servletRequest, getVelocityContext(), null);
+		AttributeContext attributeContext = container
+				.getAttributeContext(velocityRequest);
         Attribute attribute = attributeContext.getAttribute(key);
         return attribute;
     }
@@ -101,7 +108,9 @@
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
                 TilesContainer container = ServletUtil.getCurrentContainer(request, getServletContext());
-                container.render(attribute, velocityContext, request, response, writer);
+				Request velocityRequest = createVelocityRequest(container,
+						writer);
+                container.render(attribute, velocityRequest);
                 return true;
             }
 
@@ -124,7 +133,9 @@
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
                 TilesContainer container = ServletUtil.getCurrentContainer(request, getServletContext());
-                container.render(definitionName, velocityContext, request, response, writer);
+				Request velocityRequest = createVelocityRequest(container,
+						writer);
+                container.render(definitionName, velocityRequest);
                 return true;
             }
 
@@ -146,7 +157,9 @@
             public boolean render(InternalContextAdapter context, Writer writer)
                     throws IOException {
                 TilesContainer container = ServletUtil.getCurrentContainer(request, getServletContext());
-                container.renderContext(velocityContext, request, response, writer);
+				Request velocityRequest = createVelocityRequest(container,
+						writer);
+                container.renderContext(velocityRequest);
                 return true;
             }
 
@@ -163,8 +176,8 @@
     public AttributeContext startAttributeContext() {
         TilesContainer container = ServletUtil.getCurrentContainer(
                 getRequest(), getServletContext());
-        return container.startContext(getVelocityContext(), getRequest(),
-                getResponse());
+		Request velocityRequest = createVelocityRequest(container, null);
+        return container.startContext(velocityRequest);
     }
 
     /**
@@ -177,8 +190,8 @@
     public VelocityStyleTilesTool endAttributeContext() {
         TilesContainer container = ServletUtil.getCurrentContainer(
                 getRequest(), getServletContext());
-        container.endContext(getVelocityContext(), getRequest(),
-                getResponse());
+		Request velocityRequest = createVelocityRequest(container, null);
+        container.endContext(velocityRequest);
         return this;
     }
 
@@ -191,8 +204,8 @@
     public AttributeContext getAttributeContext() {
         TilesContainer container = ServletUtil.getCurrentContainer(
                 getRequest(), getServletContext());
-        return container.getAttributeContext(getVelocityContext(), getRequest(),
-                getResponse());
+		Request velocityRequest = createVelocityRequest(container, null);
+        return container.getAttributeContext(velocityRequest);
     }
 
     /**
@@ -213,4 +226,11 @@
     public String toString() {
         return "";
     }
+
+	protected Request createVelocityRequest(TilesContainer container,
+			Writer writer) {
+		return VelocityTilesRequestContext.createVelocityRequest(container
+				.getApplicationContext(), getRequest(), getResponse(),
+				getVelocityContext(), writer);
+	}
 }

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/GetAsStringVModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/GetAsStringVModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/GetAsStringVModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/GetAsStringVModelTest.java Sat Nov 14 13:40:31 2009
@@ -38,8 +38,10 @@
 import org.apache.tiles.ArrayStack;
 import org.apache.tiles.Attribute;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.GetAsStringModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
@@ -102,17 +104,19 @@
         Writer writer = new StringWriter();
         attribute = new Attribute("myAttributeValue");
         Map<String, Object> params = createParams();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        tModel.execute(container, writer, false, "myPreparer", "myRole", "myDefaultValue",
-                "myDefaultValueRole", "myDefaultValueType", "myName", attribute,
-                velocityContext, request, response, writer);
+        tModel.execute(eq(container), eq(writer), eq(false), eq("myPreparer"), eq("myRole"), eq("myDefaultValue"),
+        		eq("myDefaultValueRole"), eq("myDefaultValueType"), eq("myName"), eq(attribute),
+                isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -129,21 +133,23 @@
         Map<String, Object> params = createParams();
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.COMPOSE_STACK_ATTRIBUTE_NAME))
                 .andReturn(composeStack);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.start(composeStack, container, false, "myPreparer", "myRole", "myDefaultValue",
-                "myDefaultValueRole", "myDefaultValueType", "myName", attribute,
-                velocityContext, request, response);
+        tModel.start(eq(composeStack), eq(container), eq(false), eq("myPreparer"), eq("myRole"), eq("myDefaultValue"),
+        		eq("myDefaultValueRole"), eq("myDefaultValueType"), eq("myName"), eq(attribute),
+                isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, container, request, response, velocityContext);
+        replay(tModel, servletContext, container, request, response, velocityContext, applicationContext);
         initializeModel();
         model.start(request, response, velocityContext, params);
         assertEquals(1, paramStack.size());
         assertEquals(params, paramStack.peek());
-        verify(tModel, servletContext, container, request, response, velocityContext);
+        verify(tModel, servletContext, container, request, response, velocityContext, applicationContext);
     }
 
     /**
@@ -164,19 +170,21 @@
         Map<String, Object> params = createParams();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
         paramStack.push(params);
+        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);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.end(composeStack, container, writer, false, velocityContext, request, response, writer);
+        tModel.end(eq(composeStack), eq(container), eq(writer), eq(false), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.end(request, response, velocityContext);
         renderable.render(internalContextAdapter, writer);
         assertTrue(paramStack.isEmpty());
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/ImportAttributeVModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/ImportAttributeVModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/ImportAttributeVModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/ImportAttributeVModelTest.java Sat Nov 14 13:40:31 2009
@@ -21,6 +21,7 @@
 
 package org.apache.tiles.velocity.template;
 
+import static org.easymock.EasyMock.*;
 import static org.easymock.classextension.EasyMock.*;
 
 import java.io.IOException;
@@ -35,8 +36,10 @@
 import javax.servlet.http.HttpSession;
 
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.ImportAttributeModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
@@ -90,18 +93,20 @@
         Map<String, Object> attributes = new HashMap<String, Object>();
         attributes.put("one", "value1");
         attributes.put("two", "value2");
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        expect(tModel.getImportedAttributes(container, "myName", "myToName", false,
-                velocityContext, request, response)).andReturn(attributes);
+        expect(tModel.getImportedAttributes(eq(container), eq("myName"), eq("myToName"), eq(false),
+        		isA(VelocityTilesRequestContext.class))).andReturn(attributes);
         expect(internalContextAdapter.put("one", "value1")).andReturn("value1");
         expect(internalContextAdapter.put("two", "value2")).andReturn("value2");
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -123,18 +128,20 @@
         Map<String, Object> attributes = new HashMap<String, Object>();
         attributes.put("one", "value1");
         attributes.put("two", "value2");
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        expect(tModel.getImportedAttributes(container, "myName", "myToName", false,
-                velocityContext, request, response)).andReturn(attributes);
+        expect(tModel.getImportedAttributes(eq(container), eq("myName"), eq("myToName"), eq(false),
+        		isA(VelocityTilesRequestContext.class))).andReturn(attributes);
         request.setAttribute("one", "value1");
         request.setAttribute("two", "value2");
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -157,19 +164,21 @@
         Map<String, Object> attributes = new HashMap<String, Object>();
         attributes.put("one", "value1");
         attributes.put("two", "value2");
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        expect(tModel.getImportedAttributes(container, "myName", "myToName", false,
-                velocityContext, request, response)).andReturn(attributes);
+        expect(tModel.getImportedAttributes(eq(container), eq("myName"), eq("myToName"), eq(false),
+        		isA(VelocityTilesRequestContext.class))).andReturn(attributes);
         expect(request.getSession()).andReturn(session).times(2);
         session.setAttribute("one", "value1");
         session.setAttribute("two", "value2");
 
-        replay(tModel, servletContext, request, response, session, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, session, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, session, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, session, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -191,18 +200,20 @@
         Map<String, Object> attributes = new HashMap<String, Object>();
         attributes.put("one", "value1");
         attributes.put("two", "value2");
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        expect(tModel.getImportedAttributes(container, "myName", "myToName", false,
-                velocityContext, request, response)).andReturn(attributes);
+        expect(tModel.getImportedAttributes(eq(container), eq("myName"), eq("myToName"), eq(false),
+        		isA(VelocityTilesRequestContext.class))).andReturn(attributes);
         servletContext.setAttribute("one", "value1");
         servletContext.setAttribute("two", "value2");
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertAttributeVModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertAttributeVModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertAttributeVModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertAttributeVModelTest.java Sat Nov 14 13:40:31 2009
@@ -38,8 +38,10 @@
 import org.apache.tiles.ArrayStack;
 import org.apache.tiles.Attribute;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertAttributeModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
@@ -102,17 +104,19 @@
         Writer writer = new StringWriter();
         attribute = new Attribute("myAttributeValue");
         Map<String, Object> params = createParams();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        tModel.execute(container, false, "myPreparer", "myRole", "myDefaultValue",
-                "myDefaultValueRole", "myDefaultValueType", "myName", attribute,
-                velocityContext, request, response, writer);
+        tModel.execute(eq(container), eq(false), eq("myPreparer"), eq("myRole"), eq("myDefaultValue"),
+        		eq("myDefaultValueRole"), eq("myDefaultValueType"), eq("myName"), eq(attribute),
+                isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -129,21 +133,23 @@
         Map<String, Object> params = createParams();
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.COMPOSE_STACK_ATTRIBUTE_NAME))
                 .andReturn(composeStack);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.start(composeStack, container, false, "myPreparer", "myRole", "myDefaultValue",
-                "myDefaultValueRole", "myDefaultValueType", "myName", attribute,
-                velocityContext, request, response);
+        tModel.start(eq(composeStack), eq(container), eq(false), eq("myPreparer"), eq("myRole"), eq("myDefaultValue"),
+        		eq("myDefaultValueRole"), eq("myDefaultValueType"), eq("myName"), eq(attribute),
+                isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, container, request, response, velocityContext);
+        replay(tModel, servletContext, container, request, response, velocityContext, applicationContext);
         initializeModel();
         model.start(request, response, velocityContext, params);
         assertEquals(1, paramStack.size());
         assertEquals(params, paramStack.peek());
-        verify(tModel, servletContext, container, request, response, velocityContext);
+        verify(tModel, servletContext, container, request, response, velocityContext, applicationContext);
     }
 
     /**
@@ -164,19 +170,21 @@
         Map<String, Object> params = createParams();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
         paramStack.push(params);
+        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);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.end(composeStack, container, false, velocityContext, request, response, writer);
+        tModel.end(eq(composeStack), eq(container), eq(false), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.end(request, response, velocityContext);
         renderable.render(internalContextAdapter, writer);
         assertTrue(paramStack.isEmpty());
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertDefinitionVModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertDefinitionVModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertDefinitionVModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertDefinitionVModelTest.java Sat Nov 14 13:40:31 2009
@@ -37,8 +37,10 @@
 
 import org.apache.tiles.ArrayStack;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertDefinitionModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
@@ -94,17 +96,19 @@
         InternalContextAdapter internalContextAdapter = createMock(InternalContextAdapter.class);
         Writer writer = new StringWriter();
         Map<String, Object> params = createParams();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        tModel.execute(container, "myDefinitionName", "myTemplate",
-                "myTemplateType", "myTemplateExpression", "myRole",
-                "myPreparer", velocityContext, request, response, writer);
+        tModel.execute(eq(container), eq("myDefinitionName"), eq("myTemplate"),
+        		eq("myTemplateType"), eq("myTemplateExpression"), eq("myRole"),
+        		eq("myPreparer"), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -120,17 +124,19 @@
         TilesContainer container = createMock(TilesContainer.class);
         Map<String, Object> params = createParams();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.start(container, velocityContext, request, response);
+        tModel.start(eq(container), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, container, request, response, velocityContext);
+        replay(tModel, servletContext, container, request, response, velocityContext, applicationContext);
         initializeModel();
         model.start(request, response, velocityContext, params);
         assertEquals(1, paramStack.size());
         assertEquals(params, paramStack.peek());
-        verify(tModel, servletContext, container, request, response, velocityContext);
+        verify(tModel, servletContext, container, request, response, velocityContext, applicationContext);
     }
 
     /**
@@ -150,19 +156,21 @@
         Map<String, Object> params = createParams();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
         paramStack.push(params);
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.end(container, "myDefinitionName", "myTemplate",
-                "myTemplateType", "myTemplateExpression", "myRole",
-                "myPreparer", velocityContext, request, response, writer);
+        tModel.end(eq(container), eq("myDefinitionName"), eq("myTemplate"),
+        		eq("myTemplateType"), eq("myTemplateExpression"), eq("myRole"),
+        		eq("myPreparer"), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.end(request, response, velocityContext);
         renderable.render(internalContextAdapter, writer);
         assertTrue(paramStack.isEmpty());
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertTemplateVModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertTemplateVModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertTemplateVModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/InsertTemplateVModelTest.java Sat Nov 14 13:40:31 2009
@@ -37,8 +37,10 @@
 
 import org.apache.tiles.ArrayStack;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertTemplateModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
@@ -94,17 +96,19 @@
         InternalContextAdapter internalContextAdapter = createMock(InternalContextAdapter.class);
         Writer writer = new StringWriter();
         Map<String, Object> params = createParams();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
-        tModel.execute(container, "myTemplate", "myTemplateType",
-                "myTemplateExpression", "myRole", "myPreparer",
-                velocityContext, request, response, writer);
+        tModel.execute(eq(container), eq("myTemplate"), eq("myTemplateType"),
+        		eq("myTemplateExpression"), eq("myRole"), eq("myPreparer"),
+                isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.execute(request, response, velocityContext, params);
         renderable.render(internalContextAdapter, writer);
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**
@@ -120,17 +124,19 @@
         TilesContainer container = createMock(TilesContainer.class);
         Map<String, Object> params = createParams();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.start(container, velocityContext, request, response);
+        tModel.start(eq(container), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, container, request, response, velocityContext);
+        replay(tModel, servletContext, container, request, response, velocityContext, applicationContext);
         initializeModel();
         model.start(request, response, velocityContext, params);
         assertEquals(1, paramStack.size());
         assertEquals(params, paramStack.peek());
-        verify(tModel, servletContext, container, request, response, velocityContext);
+        verify(tModel, servletContext, container, request, response, velocityContext, applicationContext);
     }
 
     /**
@@ -150,19 +156,21 @@
         Map<String, Object> params = createParams();
         ArrayStack<Map<String, Object>> paramStack = new ArrayStack<Map<String, Object>>();
         paramStack.push(params);
+        ApplicationContext applicationContext = createMock(ApplicationContext.class);
 
+        expect(container.getApplicationContext()).andReturn(applicationContext);
         expect(request.getAttribute(ServletUtil.CURRENT_CONTAINER_ATTRIBUTE_NAME)).andReturn(container);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(paramStack);
-        tModel.end(container, "myTemplate", "myTemplateType",
-                "myTemplateExpression", "myRole",
-                "myPreparer", velocityContext, request, response, writer);
+        tModel.end(eq(container), eq("myTemplate"), eq("myTemplateType"),
+        		eq("myTemplateExpression"), eq("myRole"),
+        		eq("myPreparer"), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        replay(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
         initializeModel();
         Renderable renderable = model.end(request, response, velocityContext);
         renderable.render(internalContextAdapter, writer);
         assertTrue(paramStack.isEmpty());
-        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter);
+        verify(tModel, servletContext, request, response, velocityContext, container, internalContextAdapter, applicationContext);
     }
 
     /**

Modified: tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/PutAttributeVModelTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/PutAttributeVModelTest.java?rev=836174&r1=836173&r2=836174&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/PutAttributeVModelTest.java (original)
+++ tiles/sandbox/trunk/tiles3/tiles-velocity/src/test/java/org/apache/tiles/velocity/template/PutAttributeVModelTest.java Sat Nov 14 13:40:31 2009
@@ -34,8 +34,10 @@
 
 import org.apache.tiles.ArrayStack;
 import org.apache.tiles.TilesContainer;
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.PutAttributeModel;
+import org.apache.tiles.velocity.context.VelocityTilesRequestContext;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.junit.Before;
@@ -88,18 +90,20 @@
         TilesContainer container = createMock(TilesContainer.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", "myValue",
-                "myExpression", null, "myRole", "myType",
-                false, velocityContext, request, response);
+        tModel.execute(eq(container), eq(composeStack), eq("myName"), eq("myValue"),
+        		eq("myExpression"), (String) isNull(), eq("myRole"), eq("myType"),
+        		eq(false), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, container, servletContext, request, response, velocityContext);
+        replay(tModel, container, servletContext, request, response, velocityContext, applicationContext);
         initializeModel();
         assertEquals(VelocityUtil.EMPTY_RENDERABLE, model.execute(request, response, velocityContext, params));
-        verify(tModel, container, servletContext, request, response, velocityContext);
+        verify(tModel, container, servletContext, request, response, velocityContext, applicationContext);
     }
 
     /**
@@ -144,20 +148,22 @@
         ArrayStack<Object> composeStack = new ArrayStack<Object>();
         ArrayStack<Map<String, Object>> parameterMapStack = new ArrayStack<Map<String, Object>>();
         parameterMapStack.push(params);
+        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);
         expect(velocityContext.get(PARAMETER_MAP_STACK_KEY)).andReturn(parameterMapStack);
-        tModel.end(container, composeStack, "myName", "myValue",
-                "myExpression", null, "myRole", "myType",
-                false, velocityContext, request, response);
+        tModel.end(eq(container), eq(composeStack), eq("myName"), eq("myValue"),
+        		eq("myExpression"), (String) isNull(), eq("myRole"), eq("myType"),
+        		eq(false), isA(VelocityTilesRequestContext.class));
 
-        replay(tModel, container, servletContext, request, response, velocityContext);
+        replay(tModel, container, servletContext, request, response, velocityContext, applicationContext);
         initializeModel();
         assertEquals(VelocityUtil.EMPTY_RENDERABLE, model.end(request, response, velocityContext));
         assertTrue(parameterMapStack.isEmpty());
-        verify(tModel, container, servletContext, request, response, velocityContext);
+        verify(tModel, container, servletContext, request, response, velocityContext, applicationContext);
     }
 
     /**