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);
 }


Reply via email to