Author: ddewolf Date: Wed Nov 1 09:21:11 2006 New Revision: 469990 URL: http://svn.apache.org/viewvc?view=rev&rev=469990 Log: Adding new method to ContextFactory. This will allow us to encapsulate some of the jsp specific processing within the container/context.
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java?view=diff&rev=469990&r1=469989&r2=469990 ============================================================================== --- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java (original) +++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java Wed Nov 1 09:21:11 2006 @@ -19,6 +19,7 @@ package org.apache.tiles.context; import javax.servlet.ServletContext; +import javax.servlet.jsp.PageContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.portlet.PortletContext; @@ -31,7 +32,7 @@ import org.apache.tiles.context.portlet.PortletTilesRequestContext; import org.apache.tiles.context.servlet.ServletTilesApplicationContext; import org.apache.tiles.context.servlet.ServletTilesRequestContext; -import org.apache.tiles.context.TilesContextFactory; +import org.apache.tiles.context.jsp.JspTilesRequestContext; import java.util.Map; @@ -79,5 +80,14 @@ throw new IllegalArgumentException("Invalid context specified. " + context.getClass().getName()); } + } + + public TilesRequestContext createRequestContext(TilesApplicationContext context, + PageContext pageContext) { + if (context instanceof ServletTilesApplicationContext) { + ServletTilesApplicationContext app = (ServletTilesApplicationContext)context; + return new JspTilesRequestContext(app.getServletContext(), pageContext); + } + throw new IllegalArgumentException("The context/pageContext combination is not supported."); } } Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java?view=diff&rev=469990&r1=469989&r2=469990 ============================================================================== --- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java (original) +++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java Wed Nov 1 09:21:11 2006 @@ -20,6 +20,7 @@ import org.apache.tiles.TilesApplicationContext; import org.apache.tiles.TilesRequestContext; +import javax.servlet.jsp.PageContext; import java.util.Map; /** @@ -46,10 +47,20 @@ /** * Create a TilesRequestContext for the given context, * request, and response. - * @param context - * @param request - * @param response + * @param context the associated [EMAIL PROTECTED] TilesApplicationContext} + * @param request the associated request. Typically a ServletRequest or PortletRequest. + * @param response the associated response. Typically a ServletResponse or PortletResponse. * @return TilesRequestContext */ - TilesRequestContext createRequestContext(TilesApplicationContext context, Object request, Object response); + TilesRequestContext createRequestContext(TilesApplicationContext context, + Object request, Object response); + + /** + * Create a TilesRequestContext for the given tiles and page contexts. + * @param context + * @param pageContext + * @return + */ + TilesRequestContext createRequestContext(TilesApplicationContext context, + PageContext pageContext); }