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