Author: apetrelli
Date: Fri Jan  8 19:07:59 2010
New Revision: 897303

URL: http://svn.apache.org/viewvc?rev=897303&view=rev
Log:
TILESSB-17
Moved force include management in abstract request classes.

Added:
    
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java
   (with props)
    
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java
   (with props)
Modified:
    
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractRequest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/RequestWrapper.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspRequest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletUtil.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletRequest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/test/java/org/apache/tiles/request/servlet/ServletRequestTest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java
    
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java
    
tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
    
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
    
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
    
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
    
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/InsertTemplateFMModelTest.java
    
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/IncludingServlet.java

Added: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java?rev=897303&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java
 Fri Jan  8 19:07:59 2010
@@ -0,0 +1,59 @@
+package org.apache.tiles.request;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.apache.tiles.request.scope.ContextResolver;
+import org.apache.tiles.request.util.ApplicationAccess;
+
+public abstract class AbstractClientRequest extends AbstractRequest {
+
+    private ApplicationContext applicationContext;
+
+    public AbstractClientRequest(ApplicationContext applicationContext) {
+        this.applicationContext = applicationContext;
+    }
+
+
+    @Override
+    public void dispatch(String path) throws IOException {
+        if (isForceInclude()) {
+            setForceInclude(true);
+            doForward(path);
+        } else {
+            doInclude(path);
+        }
+    }
+
+    @Override
+    public void include(String path) throws IOException {
+        setForceInclude(true);
+        doInclude(path);
+    }
+
+    @Override
+    public ApplicationContext getApplicationContext() {
+        return applicationContext;
+    }
+
+    @Override
+    public Map<String, Object> getContext(String scope) {
+        ContextResolver resolver = 
ApplicationAccess.getContextResolver(applicationContext);
+        return resolver.getContext(this, scope);
+    }
+
+    @Override
+    public String[] getAvailableScopes() {
+        ContextResolver resolver = 
ApplicationAccess.getContextResolver(applicationContext);
+        return resolver.getAvailableScopes(this);
+    }
+
+    public Map<String, Object> getApplicationScope() {
+        return applicationContext.getApplicationScope();
+    }
+
+    protected abstract void doForward(String path) throws IOException;
+
+    protected abstract void doInclude(String path) throws IOException;
+
+}

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractClientRequest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractRequest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractRequest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractRequest.java
 Fri Jan  8 19:07:59 2010
@@ -1,36 +1,24 @@
 package org.apache.tiles.request;
 
-import java.util.Map;
-
-import org.apache.tiles.request.scope.ContextResolver;
-import org.apache.tiles.request.util.ApplicationAccess;
-
 public abstract class AbstractRequest implements Request{
+    /**
+     * Name of the attribute used to store the force-include option.
+     * @since 2.0.6
+     */
+    public static final String FORCE_INCLUDE_ATTRIBUTE_NAME =
+        
"org.apache.tiles.servlet.context.ServletTilesRequestContext.FORCE_INCLUDE";
 
-    private ApplicationContext applicationContext;
-
-    public AbstractRequest(ApplicationContext applicationContext) {
-        this.applicationContext = applicationContext;
-    }
-
-    @Override
-    public ApplicationContext getApplicationContext() {
-        return applicationContext;
-    }
-
-    @Override
-    public Map<String, Object> getContext(String scope) {
-        ContextResolver resolver = 
ApplicationAccess.getContextResolver(applicationContext);
-        return resolver.getContext(this, scope);
-    }
 
-    @Override
-    public String[] getAvailableScopes() {
-        ContextResolver resolver = 
ApplicationAccess.getContextResolver(applicationContext);
-        return resolver.getAvailableScopes(this);
+    protected void setForceInclude(boolean forceInclude) {
+        getContext("request").put(FORCE_INCLUDE_ATTRIBUTE_NAME, forceInclude);
     }
 
-    public Map<String, Object> getApplicationScope() {
-        return applicationContext.getApplicationScope();
+    protected boolean isForceInclude() {
+        Boolean forceInclude = (Boolean) getContext("request").get(
+                FORCE_INCLUDE_ATTRIBUTE_NAME);
+        if (forceInclude != null) {
+            return forceInclude;
+        }
+        return false;
     }
 }

Added: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java?rev=897303&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java
 Fri Jan  8 19:07:59 2010
@@ -0,0 +1,28 @@
+package org.apache.tiles.request;
+
+import java.io.IOException;
+
+import org.apache.tiles.request.util.RequestWrapper;
+
+public class AbstractViewRequest extends RequestWrapper {
+
+    public AbstractViewRequest(Request request) {
+        super(request);
+    }
+
+    @Override
+    public void dispatch(String path) throws IOException {
+        setForceInclude(true);
+        doInclude(path);
+    }
+
+    @Override
+    public void include(String path) throws IOException {
+        setForceInclude(true);
+        doInclude(path);
+    }
+
+    protected void doInclude(String path) throws IOException {
+        getWrappedRequest().include(path);
+    }
+}

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/AbstractViewRequest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/RequestWrapper.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/RequestWrapper.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/RequestWrapper.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/util/RequestWrapper.java
 Fri Jan  8 19:07:59 2010
@@ -27,6 +27,7 @@
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.tiles.request.AbstractRequest;
 import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.Request;
 import org.apache.tiles.request.scope.ContextResolver;
@@ -37,7 +38,7 @@
  * @since Tiles 2.0
  * @version $Rev$ $Date$
  */
-public class RequestWrapper implements Request {
+public class RequestWrapper extends AbstractRequest {
 
     /**
      * The wrapper request context object.
@@ -82,7 +83,7 @@
 
     @Override
     public String[] getNativeScopes() {
-       return null;
+        return null;
     }
 
     @Override

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/FreemarkerRequest.java
 Fri Jan  8 19:07:59 2010
@@ -21,7 +21,6 @@
 
 package org.apache.tiles.request.freemarker;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.Writer;
 import java.util.Locale;
@@ -30,10 +29,10 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.request.AbstractViewRequest;
 import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.Request;
 import org.apache.tiles.request.servlet.ServletRequest;
-import org.apache.tiles.request.util.RequestWrapper;
 
 import freemarker.core.Environment;
 import freemarker.ext.servlet.HttpRequestHashModel;
@@ -44,9 +43,9 @@
  * @version $Rev$ $Date$
  * @since 2.2.0
  */
-public class FreemarkerRequest extends RequestWrapper {
+public class FreemarkerRequest extends AbstractViewRequest {
 
-       private static final String[] SCOPES = {"page"};
+    private static final String[] SCOPES = {"page"};
 
     /**
      * The FreeMarker current environment.
@@ -110,13 +109,7 @@
 
     @Override
     public String[] getNativeScopes() {
-       return SCOPES;
-    }
-
-    /** {...@inheritdoc} */
-    @Override
-    public void dispatch(String path) throws IOException {
-        include(path);
+        return SCOPES;
     }
 
     /** {...@inheritdoc} */

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/FreemarkerRequestTest.java
 Fri Jan  8 19:07:59 2010
@@ -28,9 +28,13 @@
 import java.io.StringWriter;
 import java.util.HashMap;
 import java.util.Locale;
+import java.util.Map;
 
+import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.Request;
 import org.apache.tiles.request.freemarker.FreemarkerRequest;
+import org.apache.tiles.request.scope.ContextResolver;
+import org.apache.tiles.request.util.ApplicationAccess;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -89,11 +93,21 @@
     public void testDispatch() throws IOException {
         String path = "this way";
         Request enclosedRequest = createMock(Request.class);
+        ApplicationContext applicationContext = 
createMock(ApplicationContext.class);
+        ContextResolver resolver = createMock(ContextResolver.class);
+        Map<String, Object> applicationScope = new HashMap<String, Object>();
+        Map<String, Object> requestScope = new HashMap<String, Object>();
+        applicationScope.put(ApplicationAccess.CONTEXT_RESOLVER_ATTRIBUTE, 
resolver);
+
         enclosedRequest.include(path);
-        replay(enclosedRequest);
+        
expect(enclosedRequest.getApplicationContext()).andReturn(applicationContext);
+        
expect(applicationContext.getApplicationScope()).andReturn(applicationScope);
+        replay(enclosedRequest, applicationContext);
         context = new FreemarkerRequest(enclosedRequest, env);
+        expect(resolver.getContext(context, 
"request")).andReturn(requestScope);
+        replay(resolver);
         context.dispatch(path);
-        verify(enclosedRequest);
+        verify(enclosedRequest, applicationContext, resolver);
     }
 
     /**

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspRequest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspRequest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/JspRequest.java
 Fri Jan  8 19:07:59 2010
@@ -30,11 +30,11 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.PageContext;
 
+import org.apache.tiles.request.AbstractViewRequest;
 import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.Request;
 import org.apache.tiles.request.servlet.ServletRequest;
 import org.apache.tiles.request.servlet.ServletUtil;
-import org.apache.tiles.request.util.RequestWrapper;
 
 /**
  * Context implementation used for executing tiles within a
@@ -42,9 +42,9 @@
  *
  * @version $Rev$ $Date$
  */
-public class JspRequest extends RequestWrapper {
+public class JspRequest extends AbstractViewRequest {
 
-       private static final String[] SCOPES = {"page", "request", "session", 
"application"};
+    private static final String[] SCOPES = {"page", "request", "session", 
"application"};
 
     /**
      * The current page context.
@@ -101,30 +101,12 @@
 
     @Override
     public String[] getNativeScopes() {
-       return SCOPES;
-    }
-
-    /**
-     * Dispatches a path. In fact it "includes" it!
-     *
-     * @param path The path to dispatch to.
-     * @throws IOException If something goes wrong during dispatching.
-     * @see 
org.apache.tiles.request.servlet.ServletRequest#dispatch(java.lang.String)
-     */
-    @Override
-    public void dispatch(String path) throws IOException {
-        include(path);
+        return SCOPES;
     }
 
     /** {...@inheritdoc} */
     @Override
-
-    public void include(String path) throws IOException {
-        Boolean retValue = Boolean.valueOf(true);
-        pageContext
-                .setAttribute(
-                        
org.apache.tiles.request.servlet.ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME,
-                        retValue, PageContext.REQUEST_SCOPE);
+    protected void doInclude(String path) throws IOException {
         try {
             pageContext.include(path, false);
         } catch (ServletException e) {

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletRequest.java
 Fri Jan  8 19:07:59 2010
@@ -36,7 +36,7 @@
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 
-import org.apache.tiles.request.AbstractRequest;
+import org.apache.tiles.request.AbstractClientRequest;
 import org.apache.tiles.request.ApplicationContext;
 
 /**
@@ -44,7 +44,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class PortletRequest extends AbstractRequest {
+public class PortletRequest extends AbstractClientRequest {
 
     private static final String[] SCOPES = {"request", "portletSession", 
"session", "application"};
 
@@ -132,20 +132,9 @@
             PortletContext context, javax.portlet.PortletRequest request,
             PortletResponse response) {
         super(applicationContext);
-        this.context = context;
-        initialize(request, response);
-    }
 
-    /**
-     * <p>Initialize (or reinitialize) this {...@link PortletRequest} instance
-     * for the specified Portlet API objects.</p>
-     *
-     * @param request  The <code>PortletRequest</code> for this request
-     * @param response The <code>PortletResponse</code> for this request
-     */
-    public void initialize(javax.portlet.PortletRequest request,
-            PortletResponse response) {
         // Save the specified Portlet API object references
+        this.context = context;
         this.request = request;
         this.response = response;
 
@@ -262,28 +251,40 @@
     }
 
     /** {...@inheritdoc} */
-    public void dispatch(String path) throws IOException {
-        include(path);
+    public void doForward(String path) throws IOException {
+        if (((RenderResponse)response).isCommitted()) {
+            if (isRenderRequest) {
+                include(path);
+            } else {
+                throw new IOException("Cannot forward or include the path '"
+                        + path + "' because the response has been committed "
+                        + "and the request is not a RenderRequest");
+            }
+        } else {
+            forward(path);
+        }
     }
 
     /** {...@inheritdoc} */
-    public void include(String path) throws IOException {
-        if (isRenderRequest) {
-            try {
-                PortletRequestDispatcher rd = 
context.getRequestDispatcher(path);
-
-                if (rd == null) {
-                    throw new IOException(
-                            "No portlet request dispatcher returned for path '"
-                                    + path + "'");
-                }
-
-                rd.include((RenderRequest) request,
-                    (RenderResponse) response);
-            } catch (PortletException e) {
-                throw new IOException("PortletException while including path '"
-                        + path + "'.", e);
+    public void doInclude(String path) throws IOException {
+        if (!isRenderRequest) {
+            throw new IOException("Cannot include the path '" + path
+                    + "' because the request is not a RenderRequest");
+        }
+        try {
+            PortletRequestDispatcher rd = context.getRequestDispatcher(path);
+
+            if (rd == null) {
+                throw new IOException(
+                        "No portlet request dispatcher returned for path '"
+                                + path + "'");
             }
+
+            rd.include((RenderRequest) request,
+                (RenderResponse) response);
+        } catch (PortletException e) {
+            throw new IOException("PortletException while including path '"
+                    + path + "'.", e);
         }
     }
 
@@ -334,4 +335,22 @@
     public boolean isUserInRole(String role) {
         return request.isUserInRole(role);
     }
+
+    /** {...@inheritdoc} */
+    private void forward(String path) throws IOException {
+        try {
+            PortletRequestDispatcher rd = context.getRequestDispatcher(path);
+
+            if (rd == null) {
+                throw new IOException(
+                        "No portlet request dispatcher returned for path '"
+                                + path + "'");
+            }
+
+            rd.forward(request, response);
+        } catch (PortletException e) {
+            throw new IOException("PortletException while including path '"
+                    + path + "'.", e);
+        }
+    }
 }

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletUtil.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-portlet/src/main/java/org/apache/tiles/request/portlet/PortletUtil.java
 Fri Jan  8 19:07:59 2010
@@ -42,36 +42,6 @@
     private PortletUtil() {
     }
 
-    /**
-     * Returns true if forced include of the result is needed.
-     *
-     * @param request The portlet request.
-     * @return If <code>true</code> the include operation must be forced.
-     * @since 2.0.6
-     */
-    public static boolean isForceInclude(PortletRequest request) {
-        Boolean retValue = (Boolean) request
-                
.getAttribute(org.apache.tiles.request.servlet.ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME);
-        return retValue != null && retValue.booleanValue();
-    }
-
-    /**
-     * Sets the option that enables the forced include of the response.
-     *
-     * @param request The portlet request.
-     * @param forceInclude If <code>true</code> the include operation must be
-     * forced.
-     * @since 2.0.6
-     */
-    public static void setForceInclude(PortletRequest request,
-            boolean forceInclude) {
-        Boolean retValue = Boolean.valueOf(forceInclude);
-        request
-                .setAttribute(
-                        
org.apache.tiles.request.servlet.ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME,
-                        retValue);
-    }
-
     public static ApplicationContext getApplicationContext(
             PortletContext portletContext) {
         return (ApplicationContext) portletContext

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletRequest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletRequest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletRequest.java
 Fri Jan  8 19:07:59 2010
@@ -32,7 +32,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.tiles.request.AbstractRequest;
+import org.apache.tiles.request.AbstractClientRequest;
 import org.apache.tiles.request.ApplicationContext;
 
 /**
@@ -40,9 +40,9 @@
  *
  * @version $Rev$ $Date$
  */
-public class ServletRequest extends AbstractRequest {
+public class ServletRequest extends AbstractClientRequest {
 
-       private static final String[] SCOPES = {"request", "session", 
"application"};
+    private static final String[] SCOPES = {"request", "session", 
"application"};
 
     /**
      * The request object to use.
@@ -191,25 +191,21 @@
 
     @Override
     public String[] getNativeScopes() {
-       return SCOPES;
+        return SCOPES;
     }
 
     /** {...@inheritdoc} */
-    public void dispatch(String path) throws IOException {
-        if (response.isCommitted() || ServletUtil.isForceInclude(request)) {
-            include(path);
+    public void doForward(String path) throws IOException {
+        if (response.isCommitted()) {
+            doInclude(path);
         } else {
             forward(path);
         }
     }
 
-    /**
-     * Forwards to a path.
-     *
-     * @param path The path to forward to.
-     * @throws IOException If something goes wrong during the operation.
-     */
-    protected void forward(String path) throws IOException {
+
+    /** {...@inheritdoc} */
+    public void doInclude(String path) throws IOException {
         RequestDispatcher rd = request.getRequestDispatcher(path);
 
         if (rd == null) {
@@ -218,17 +214,20 @@
         }
 
         try {
-            rd.forward(request, response);
+            rd.include(request, response);
         } catch (ServletException ex) {
             throw ServletUtil.wrapServletException(ex, "ServletException 
including path '"
                     + path + "'.");
         }
     }
 
-
-    /** {...@inheritdoc} */
-    public void include(String path) throws IOException {
-        ServletUtil.setForceInclude(request, true);
+    /**
+     * Forwards to a path.
+     *
+     * @param path The path to forward to.
+     * @throws IOException If something goes wrong during the operation.
+     */
+    protected void forward(String path) throws IOException {
         RequestDispatcher rd = request.getRequestDispatcher(path);
 
         if (rd == null) {
@@ -237,7 +236,7 @@
         }
 
         try {
-            rd.include(request, response);
+            rd.forward(request, response);
         } catch (ServletException ex) {
             throw ServletUtil.wrapServletException(ex, "ServletException 
including path '"
                     + path + "'.");

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/main/java/org/apache/tiles/request/servlet/ServletUtil.java
 Fri Jan  8 19:07:59 2010
@@ -25,7 +25,6 @@
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
 
 import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.util.ApplicationAccess;
@@ -39,13 +38,6 @@
 public final class ServletUtil {
 
     /**
-     * Name of the attribute used to store the force-include option.
-     * @since 2.0.6
-     */
-    public static final String FORCE_INCLUDE_ATTRIBUTE_NAME =
-        
"org.apache.tiles.servlet.context.ServletTilesRequestContext.FORCE_INCLUDE";
-
-    /**
      * Wraps a ServletException to create an IOException with the root cause 
if present.
      *
      * @param ex The exception to wrap.
@@ -68,35 +60,6 @@
         return retValue;
     }
 
-    /**
-     * Returns true if forced include of the result is needed.
-     *
-     * @param request The HTTP request.
-     * @return If <code>true</code> the include operation must be forced.
-     * @since 2.0.6
-     */
-    public static boolean isForceInclude(HttpServletRequest request) {
-        Boolean retValue = (Boolean) request
-                .getAttribute(ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME);
-        return retValue != null && retValue.booleanValue();
-    }
-
-    /**
-     * Sets the option that enables the forced include of the response.
-     *
-     * @param request The HTTP request.
-     * @param forceInclude If <code>true</code> the include operation must be
-     * forced.
-     * @since 2.0.6
-     */
-    public static void setForceInclude(HttpServletRequest request,
-            boolean forceInclude) {
-        Boolean retValue = Boolean.valueOf(forceInclude);
-        request.setAttribute(
-                ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME,
-                retValue);
-    }
-
     public static ApplicationContext getApplicationContext(ServletContext 
servletContext) {
         return (ApplicationContext) servletContext
                 .getAttribute(ApplicationAccess.APPLICATION_CONTEXT_ATTRIBUTE);

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/test/java/org/apache/tiles/request/servlet/ServletRequestTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/test/java/org/apache/tiles/request/servlet/ServletRequestTest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/test/java/org/apache/tiles/request/servlet/ServletRequestTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-servlet/src/test/java/org/apache/tiles/request/servlet/ServletRequestTest.java
 Fri Jan  8 19:07:59 2010
@@ -45,11 +45,6 @@
 public class ServletRequestTest extends TestCase {
 
     /**
-     * Test path to check forward and include.
-     */
-    private static final String TEST_PATH = "testPath.jsp";
-
-    /**
      * The request context.
      */
     private ServletRequest context;
@@ -265,27 +260,6 @@
     }
 
     /**
-     * Tests the forced inclusion in the request.
-     *
-     * @throws IOException If something goes wrong.
-     */
-    public void testForceInclude() throws IOException {
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        MockHttpServletResponse response = new 
CommitSupportMockHttpServletResponse();
-        MockServletTilesRequestContext context = new 
MockServletTilesRequestContext(
-                applicationContext, request, response);
-        context.dispatch(TEST_PATH);
-        assertEquals("Forward has not been called", 1, 
context.getForwardCount());
-        assertEquals("Include has been called", 0, context.getIncludeCount());
-        assertFalse("Force include has been incorrectly set.", ServletUtil
-                .isForceInclude(request));
-        ServletUtil.setForceInclude(request, true);
-        context.dispatch(TEST_PATH);
-        assertEquals("Forward has been called", 1, context.getForwardCount());
-        assertEquals("Include has not been called", 1, 
context.getIncludeCount());
-    }
-
-    /**
      * Tests a generic map.
      *
      * @param <K> The key type.
@@ -313,78 +287,4 @@
                     currentMap.containsValue(value));
         }
     }
-
-    /**
-     * Extends {...@link MockHttpServletResponse} to override
-     * {...@link MockHttpServletResponse#isCommitted()} method.
-     */
-    private static class CommitSupportMockHttpServletResponse extends
-            MockHttpServletResponse {
-
-        /** {...@inheritdoc} */
-        @Override
-        public boolean isCommitted() {
-            return false;
-        }
-    }
-
-    /**
-     * Extends {...@link ServletRequest} to check forward and include.
-     */
-    private static class MockServletTilesRequestContext extends
-            ServletRequest {
-
-        /**
-         * The number of times that forward has been called.
-         */
-        private int forwardCount = 0;
-
-        /**
-         * The number of times that include has been called.
-         */
-        private int includeCount = 0;
-
-        /**
-         * Constructor.
-         *
-         * @param applicationContext The Tiles application context.
-         * @param request The request.
-         * @param response The response.
-         */
-        public MockServletTilesRequestContext(
-                ApplicationContext applicationContext,
-                HttpServletRequest request, HttpServletResponse response) {
-            super(applicationContext, request, response);
-        }
-
-        /** {...@inheritdoc} */
-        @Override
-        protected void forward(String path) {
-            forwardCount++;
-        }
-
-        /** {...@inheritdoc} */
-        @Override
-        public void include(String path) {
-            includeCount++;
-        }
-
-        /**
-         * Returns the forward count.
-         *
-         * @return The forward count.
-         */
-        public int getForwardCount() {
-            return forwardCount;
-        }
-
-        /**
-         * Returns the include count.
-         *
-         * @return The include count.
-         */
-        public int getIncludeCount() {
-            return includeCount;
-        }
-    }
 }

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/VelocityRequest.java
 Fri Jan  8 19:07:59 2010
@@ -31,12 +31,12 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.request.AbstractViewRequest;
 import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.Request;
 import org.apache.tiles.request.servlet.ExternalWriterHttpServletResponse;
 import org.apache.tiles.request.servlet.ServletRequest;
 import org.apache.tiles.request.servlet.ServletUtil;
-import org.apache.tiles.request.util.RequestWrapper;
 import org.apache.velocity.context.Context;
 
 /**
@@ -45,9 +45,9 @@
  * @version $Rev$ $Date$
  * @since 2.2.0
  */
-public class VelocityRequest extends RequestWrapper {
+public class VelocityRequest extends AbstractViewRequest {
 
-       private static final String[] SCOPES = {"page"};
+    private static final String[] SCOPES = {"page"};
 
     /**
      * The Velocity current context.
@@ -83,22 +83,15 @@
 
     @Override
     public String[] getNativeScopes() {
-       return SCOPES;
+        return SCOPES;
     }
 
     /** {...@inheritdoc} */
     @Override
-    public void dispatch(String path) throws IOException {
-        include(path);
-    }
-
-    /** {...@inheritdoc} */
-    @Override
-    public void include(String path) throws IOException {
+    protected void doInclude(String path) throws IOException {
         Object[] requestObjects = super.getRequestObjects();
         HttpServletRequest request = (HttpServletRequest) requestObjects[0];
         HttpServletResponse response = (HttpServletResponse) requestObjects[1];
-        ServletUtil.setForceInclude(request, true);
         RequestDispatcher rd = request.getRequestDispatcher(path);
 
         if (rd == null) {

Modified: 
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-request/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/VelocityRequestTest.java
 Fri Jan  8 19:07:59 2010
@@ -32,8 +32,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.tiles.request.AbstractRequest;
 import org.apache.tiles.request.Request;
-import org.apache.tiles.request.servlet.ServletUtil;
 import org.apache.tiles.request.servlet.ExternalWriterHttpServletResponse;
 import org.apache.tiles.request.velocity.VelocityRequest;
 import org.apache.velocity.context.Context;
@@ -70,20 +70,19 @@
     }
 
     /**
-     * Tests {...@link VelocityRequest#dispatch(String)}.
+     * Tests {...@link VelocityRequest#doInclude(String)}.
      *
      * @throws IOException If something goes wrong.
      * @throws ServletException If something goes wrong.
      */
     @Test
-    public void testDispatch() throws IOException, ServletException {
+    public void testDoInclude() throws IOException, ServletException {
         String path = "this way";
         Request enclosedRequest = createMock(Request.class);
         HttpServletRequest servletRequest = 
createMock(HttpServletRequest.class);
         HttpServletResponse response = createMock(HttpServletResponse.class);
         RequestDispatcher dispatcher = createMock(RequestDispatcher.class);
 
-        servletRequest.setAttribute(ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME, 
true);
         expect(servletRequest.getRequestDispatcher("this 
way")).andReturn(dispatcher);
         dispatcher.include(eq(servletRequest), 
isA(ExternalWriterHttpServletResponse.class));
         replay(servletRequest, response, dispatcher);
@@ -93,35 +92,7 @@
 
         replay(velocityContext, enclosedRequest);
         context = new VelocityRequest(enclosedRequest, velocityContext, 
writer);
-        context.dispatch(path);
-        verify(velocityContext, enclosedRequest, servletRequest, response, 
dispatcher);
-    }
-
-    /**
-     * Tests {...@link VelocityRequest#include(String)}.
-     *
-     * @throws IOException If something goes wrong.
-     * @throws ServletException If something goes wrong.
-     */
-    @Test
-    public void testInclude() throws IOException, ServletException {
-        String path = "this way";
-        Request enclosedRequest = createMock(Request.class);
-        HttpServletRequest servletRequest = 
createMock(HttpServletRequest.class);
-        HttpServletResponse response = createMock(HttpServletResponse.class);
-        RequestDispatcher dispatcher = createMock(RequestDispatcher.class);
-
-        servletRequest.setAttribute(ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME, 
true);
-        expect(servletRequest.getRequestDispatcher("this 
way")).andReturn(dispatcher);
-        dispatcher.include(eq(servletRequest), 
isA(ExternalWriterHttpServletResponse.class));
-        replay(servletRequest, response, dispatcher);
-        Object[] requestItems = new Object[] {servletRequest, response};
-
-        expect(enclosedRequest.getRequestObjects()).andReturn(requestItems);
-
-        replay(velocityContext, enclosedRequest);
-        context = new VelocityRequest(enclosedRequest, velocityContext, 
writer);
-        context.include(path);
+        context.doInclude(path);
         verify(velocityContext, enclosedRequest, servletRequest, response, 
dispatcher);
     }
 

Modified: 
tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
 Fri Jan  8 19:07:59 2010
@@ -23,22 +23,14 @@
 
 import java.io.IOException;
 
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+
+import junit.framework.TestCase;
 
 import org.apache.tiles.AttributeContext;
-import org.apache.tiles.request.ApplicationContext;
 import org.apache.tiles.request.Request;
-import org.apache.tiles.request.servlet.ServletUtil;
-import org.apache.tiles.request.servlet.ServletApplicationContext;
-import org.apache.tiles.request.servlet.ServletRequest;
 import org.easymock.EasyMock;
 
-import junit.framework.TestCase;
-
 /**
  * Tests {...@link UrlPreparer}.
  *
@@ -64,28 +56,15 @@
      * @throws IOException If something goes wrong.
      * @throws ServletException If something goes wrong.
      */
-    public void testExecute() throws ServletException, IOException {
-        HttpServletRequest request = EasyMock
-                .createMock(HttpServletRequest.class);
-        request.setAttribute(ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME, true);
-        HttpServletResponse response = EasyMock
-                .createMock(HttpServletResponse.class);
-        ServletContext servletContext = EasyMock
-                .createMock(ServletContext.class);
-        RequestDispatcher rd = EasyMock.createMock(RequestDispatcher.class);
-        ApplicationContext applicationContext = new ServletApplicationContext(
-                servletContext);
-        Request requestContext = new ServletRequest(
-                applicationContext, request, response);
+    public void testExecute() throws IOException {
+        Request requestContext = EasyMock.createMock(Request.class);
         AttributeContext attributeContext = EasyMock
                 .createMock(AttributeContext.class);
 
-        EasyMock.expect(request.getRequestDispatcher("/my/url.do"))
-                .andReturn(rd);
-        rd.include(request, response);
+        requestContext.include("/my/url.do");
         EasyMock
-                .replay(request, response, servletContext, attributeContext, 
rd);
+                .replay(requestContext, attributeContext);
         preparer.execute(requestContext, attributeContext);
-        EasyMock.verify(rd);
+        EasyMock.verify(requestContext, attributeContext);
     }
 }

Modified: 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/context/FreeMarkerUtil.java
 Fri Jan  8 19:07:59 2010
@@ -55,31 +55,6 @@
     }
 
     /**
-     * Returns true if forced include of the result is needed.
-     *
-     * @param env The current FreeMarker environment.
-     * @return If <code>true</code> the include operation must be forced.
-     * @since 2.2.0
-     */
-    public static boolean isForceInclude(Environment env) {
-        return org.apache.tiles.request.servlet.ServletUtil
-                
.isForceInclude(FreemarkerRequestUtil.getRequestHashModel(env).getRequest());
-    }
-
-    /**
-     * Sets the option that enables the forced include of the response.
-     *
-     * @param env The current FreeMarker environment.
-     * @param forceInclude If <code>true</code> the include operation must be
-     * forced.
-     * @since 2.2.0
-     */
-    public static void setForceInclude(Environment env, boolean forceInclude) {
-        org.apache.tiles.request.servlet.ServletUtil.setForceInclude(
-                FreemarkerRequestUtil.getRequestHashModel(env).getRequest(), 
forceInclude);
-    }
-
-    /**
      * Unwraps a TemplateModel to extract a string.
      *
      * @param model The TemplateModel to unwrap.

Modified: 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
 Fri Jan  8 19:07:59 2010
@@ -75,7 +75,6 @@
                         .getApplicationContext(env), env);
         model.start(request);
         FreeMarkerUtil.evaluateBody(body);
-        FreeMarkerUtil.setForceInclude(env, true);
         model.end(FreeMarkerUtil.getAsString(parms.get("template")), 
FreeMarkerUtil.getAsString(parms.get("templateType")),
                 FreeMarkerUtil.getAsString(parms.get("templateExpression")),
                 FreeMarkerUtil.getAsString(parms.get("role")),

Modified: 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/context/FreeMarkerUtilTest.java
 Fri Jan  8 19:07:59 2010
@@ -101,56 +101,6 @@
 
     /**
      * Test method for {...@link 
org.apache.tiles.freemarker.context.FreeMarkerUtil
-     * #isForceInclude(freemarker.core.Environment)}.
-     * @throws TemplateModelException If something goes wrong.
-     */
-    @Test
-    public void testIsForceInclude() throws TemplateModelException {
-        HttpServletRequest request = createMock(HttpServletRequest.class);
-        ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
-        HttpRequestHashModel requestModel = new HttpRequestHashModel(request, 
objectWrapper);
-
-        expect(model.get("Request")).andReturn(requestModel);
-        expect(
-                request
-                        
.getAttribute(org.apache.tiles.request.servlet.ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME))
-                .andReturn(true);
-
-        replay(template, model, request, objectWrapper);
-        env = new Environment(template, model, writer);
-        locale = Locale.ITALY;
-        env.setLocale(locale);
-        assertTrue(isForceInclude(env));
-        verify(template, model, request, objectWrapper);
-    }
-
-    /**
-     * Test method for {...@link 
org.apache.tiles.freemarker.context.FreeMarkerUtil
-     * #setForceInclude(freemarker.core.Environment, boolean)}.
-     * @throws TemplateModelException If something goes wrong.
-     */
-    @Test
-    public void testSetForceInclude() throws TemplateModelException {
-        HttpServletRequest request = createMock(HttpServletRequest.class);
-        ObjectWrapper objectWrapper = createMock(ObjectWrapper.class);
-        HttpRequestHashModel requestModel = new HttpRequestHashModel(request, 
objectWrapper);
-
-        expect(model.get("Request")).andReturn(requestModel);
-        request
-                .setAttribute(
-                        
org.apache.tiles.request.servlet.ServletUtil.FORCE_INCLUDE_ATTRIBUTE_NAME,
-                        true);
-
-        replay(template, model, request, objectWrapper);
-        env = new Environment(template, model, writer);
-        locale = Locale.ITALY;
-        env.setLocale(locale);
-        setForceInclude(env, true);
-        verify(template, model, request, objectWrapper);
-    }
-
-    /**
-     * Test method for {...@link 
org.apache.tiles.freemarker.context.FreeMarkerUtil
      * #setAttribute(freemarker.core.Environment, java.lang.String, 
java.lang.Object, java.lang.String)}.
      * @throws TemplateModelException If something goes wrong.
      */

Modified: 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/InsertTemplateFMModelTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/InsertTemplateFMModelTest.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/InsertTemplateFMModelTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-freemarker/src/test/java/org/apache/tiles/freemarker/template/InsertTemplateFMModelTest.java
 Fri Jan  8 19:07:59 2010
@@ -117,8 +117,6 @@
         ApplicationContext applicationContext = 
createMock(ApplicationContext.class);
 
         HttpServletRequest request = createMock(HttpServletRequest.class);
-        request.setAttribute(org.apache.tiles.request.servlet.ServletUtil
-                .FORCE_INCLUDE_ATTRIBUTE_NAME, true);
         replay(request);
         HttpRequestHashModel requestModel = new HttpRequestHashModel(request, 
objectWrapper);
 

Modified: 
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/IncludingServlet.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/IncludingServlet.java?rev=897303&r1=897302&r2=897303&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/IncludingServlet.java
 (original)
+++ 
tiles/sandbox/trunk/tiles3/tiles-test-pom/tiles-test/src/main/java/org/apache/tiles/test/servlet/IncludingServlet.java
 Fri Jan  8 19:07:59 2010
@@ -42,12 +42,6 @@
     private String include;
 
     /**
-     * Init parameter value, that indicates the path to include in case of
-     * error.
-     */
-    private String errorInclude;
-
-    /**
      * Initializes the servlet, reading the <code>include</code> init
      * parameter.
      *
@@ -60,7 +54,6 @@
         super.init(config);
 
         include = config.getInitParameter("include");
-        errorInclude = config.getInitParameter("errorInclude");
     }
 
     /**
@@ -74,10 +67,6 @@
     @Override
     protected void doGet(HttpServletRequest request,
             HttpServletResponse response) throws ServletException, IOException 
{
-        if 
(org.apache.tiles.request.servlet.ServletUtil.isForceInclude(request)) {
-            request.getRequestDispatcher(include).include(request, response);
-        } else {
-            request.getRequestDispatcher(errorInclude).include(request, 
response);
-        }
+        request.getRequestDispatcher(include).include(request, response);
     }
 }


Reply via email to