Author: apetrelli
Date: Thu Oct 30 05:36:29 2008
New Revision: 709151

URL: http://svn.apache.org/viewvc?rev=709151&view=rev
Log:
TILES-327
UrlPreparer simplified.

Modified:
    
tiles/framework/trunk/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java
    
tiles/framework/trunk/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java

Modified: 
tiles/framework/trunk/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java?rev=709151&r1=709150&r2=709151&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java
 (original)
+++ 
tiles/framework/trunk/tiles-compat/src/main/java/org/apache/tiles/compat/preparer/UrlPreparer.java
 Thu Oct 30 05:36:29 2008
@@ -23,17 +23,10 @@
 
 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 org.apache.tiles.AttributeContext;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.preparer.PreparerException;
 import org.apache.tiles.preparer.ViewPreparerSupport;
-import org.apache.tiles.servlet.context.ServletTilesRequestContext;
 
 /**
  * Uses a URL that acts as a preparer. When
@@ -64,32 +57,11 @@
     public void execute(TilesRequestContext tilesContext,
             AttributeContext attributeContext) {
 
-        if (tilesContext instanceof ServletTilesRequestContext) {
-            ServletTilesRequestContext servletTilesContext =
-                (ServletTilesRequestContext) tilesContext;
-            HttpServletRequest request = servletTilesContext.getRequest();
-            HttpServletResponse response = servletTilesContext.getResponse();
-            ServletContext servletContext = (ServletContext) 
servletTilesContext
-                    .getApplicationContext().getContext();
-            RequestDispatcher rd = servletContext.getRequestDispatcher(url);
-            if (rd == null) {
-                throw new PreparerException(
-                    "Controller can't find url '" + url + "'.");
-            }
-
-            try {
-                rd.include(request, response);
-            } catch (ServletException e) {
-                throw new PreparerException(
-                        "The request dispatcher threw an exception", e);
-            } catch (IOException e) {
-                throw new PreparerException(
-                        "The request dispatcher threw an I/O exception", e);
-            }
-        } else {
-            throw new PreparerException("Cannot dispatch url '" + url
-                    + "' since this preparer has not been called under a 
servlet environment");
+        try {
+            tilesContext.include(url);
+        } catch (IOException e) {
+            throw new PreparerException("The inclusion of the URL " + url
+                    + " threw an I/O exception", e);
         }
     }
-
 }

Modified: 
tiles/framework/trunk/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java?rev=709151&r1=709150&r2=709151&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
 (original)
+++ 
tiles/framework/trunk/tiles-compat/src/test/java/org/apache/tiles/compat/preparer/UrlPreparerTest.java
 Thu Oct 30 05:36:29 2008
@@ -34,6 +34,7 @@
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.servlet.context.ServletTilesApplicationContext;
 import org.apache.tiles.servlet.context.ServletTilesRequestContext;
+import org.apache.tiles.servlet.context.ServletUtil;
 import org.easymock.EasyMock;
 
 import junit.framework.TestCase;
@@ -66,6 +67,7 @@
     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
@@ -78,7 +80,7 @@
         AttributeContext attributeContext = EasyMock
                 .createMock(AttributeContext.class);
 
-        EasyMock.expect(servletContext.getRequestDispatcher("/my/url.do"))
+        EasyMock.expect(request.getRequestDispatcher("/my/url.do"))
                 .andReturn(rd);
         rd.include(request, response);
         EasyMock


Reply via email to