Author: apetrelli
Date: Fri Feb 23 06:33:46 2007
New Revision: 510956

URL: http://svn.apache.org/viewvc?view=rev&rev=510956
Log:
TILES-114
Using varargs instead of request/response and PageContext, to remove JSP (and, 
in general, technology) dependencies.

Modified:
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/ComponentContext.java
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/TilesContainer.java
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDecorationFilter.java
    
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDispatchServlet.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicComponentContext.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/enhanced/EnhancedContextFactory.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/filter/TilesDecorationFilter.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingKeyedDefinitionsFactoryTilesContainer.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertAttributeTag.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertDefinitionTag.java
    
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/RenderTagSupport.java

Modified: 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/ComponentContext.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/ComponentContext.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/ComponentContext.java
 (original)
+++ 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/ComponentContext.java
 Fri Feb 23 06:33:46 2007
@@ -21,7 +21,6 @@
  */
 package org.apache.tiles;
 
-import javax.servlet.jsp.PageContext;
 import java.util.Map;
 import java.util.Iterator;
 
@@ -69,28 +68,6 @@
      * @param value value of the attribute
      */
     void putAttribute(String name, ComponentAttribute value);
-
-    /**
-     * Find the attribute
-     *
-     * @param beanName name of the bean
-     * @param pageContext current pageContext.
-     * @return search for the attribute in one of the scopes.
-     */
-    ComponentAttribute findAttribute(String beanName, PageContext pageContext);
-
-    /**
-     * Find the named attribute.
-     *
-     * @param beanName name of the bean
-     * @param scope scope of the bean
-     * @param pageContext current pageContext
-     * @return component attribute - if found.
-     */
-    ComponentAttribute getAttribute(
-        String beanName,
-        int scope,
-        PageContext pageContext);
 
     /**
      * Clear the attributes

Modified: 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/TilesContainer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/TilesContainer.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/TilesContainer.java
 (original)
+++ 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/TilesContainer.java
 Fri Feb 23 06:33:46 2007
@@ -21,9 +21,9 @@
  */
 package org.apache.tiles;
 
-import javax.servlet.jsp.PageContext;
 import java.util.Map;
 import java.io.IOException;
+import java.io.Writer;
 
 /**
  * An encapsulation of the tiles framework.  This interface is
@@ -54,120 +54,64 @@
 
     /**
      * Retrive the component context of the current request.
-     * @param request the current request.
-     * @param response the current reponse.
+     * @param requestItems the current request objects.
      * @return map of the attributes in the current component context.
      */
-    ComponentContext getComponentContext(Object request, Object response);
-
-    /**
-     * Retrieve the component context of the current request
-     * @param context the current request.
-     * @return map of the attributes in the current component context.
-     */
-    ComponentContext getComponentContext(PageContext context);
-
-    /**
-     * Starts a new context, where attribute values are stored independently
-     * from others.<br>
-     * When the use of the contexts is finished, call
-     * [EMAIL PROTECTED] TilesContainer#endContext(Object, Object)}
-     *
-     * @param request the current request.
-     * @param response the current reponse.
-     * @return The newly created context.
-     */
-    ComponentContext startContext(Object request, Object response);
+    ComponentContext getComponentContext(Object... requestItems);
 
     /**
      * Starts a new context, where attribute values are stored independently
      * from others.<br>
      * When the use of the contexts is finished, call
-     * [EMAIL PROTECTED] TilesContainer#endContext(PageContext)}
+     * [EMAIL PROTECTED] TilesContainer#endContext(Object...)}
      *
-     * @param context the current request.
+     * @param requestItems the current request objects.
      * @return The newly created context.
      */
-    ComponentContext startContext(PageContext context);
-    
-    /**
-     * Ends a context, where attribute values are stored independently
-     * from others.<br>
-     * It must be called after a
-     * [EMAIL PROTECTED] TilesContainer#startContext(Object, Object)} call.
-     *
-     * @param request the current request.
-     * @param response the current reponse.
-     */
-    void endContext(Object request, Object response);
+    ComponentContext startContext(Object... requestItems);
     
     /**
      * Ends a context, where attribute values are stored independently
      * from others.<br>
      * It must be called after a
-     * [EMAIL PROTECTED] TilesContainer#startContext(PageContext)} call.
+     * [EMAIL PROTECTED] TilesContainer#startContext(Object...)} call.
      *
-     * @param context the current request.
+     * @param requestItems the current request objects.
      */
-    void endContext(PageContext context);
+    void endContext(Object... requestItems);
 
     /**
-     * @param request the current request
-     * @param response the current response
      * @param definition the requested definition
+     * @param requestItems the current request objects.
      * @throws TilesException is processing fails.
      */
-    void prepare(Object request, Object response, String definition) throws 
TilesException;
-
-    /**
-     * @param pageContext the current pageContext
-     * @param definition the current definition
-     * @throws TilesException is processing fails.
-     */
-    void prepare(PageContext pageContext, String definition) throws 
TilesException;
+    void prepare(String definition, Object... requestItems) throws 
TilesException;
 
     /**
      * Render the given tiles request
-     *
-     * @param request the current request
-     * @param response the current response
      * @param definition the current definition
+     * @param requestItems the current request objects.
+     *
      * @throws TilesException is processing fails.
      */
-    void render(Object request, Object response, String definition) throws 
TilesException;
-
-    /**
-     * @param pageContext the current pageContext.
-     * @param definition the requested definition.
-     * @throws TilesException is processing fails.
-     */
-    void render(PageContext pageContext, String definition) throws 
TilesException;
+    void render(String definition, Object... requestItems) throws 
TilesException;
 
     /**
      * Render the given ComponentAttribute.
-     * @param pageContext
      * @param attribute
+     * @param writer TODO
+     * @param requestItems the current request objects.
      * @throws TilesException
      */
-    void render(PageContext pageContext, ComponentAttribute attribute)
+    void render(ComponentAttribute attribute, Writer writer, Object... 
requestItems)
         throws TilesException, IOException;
 
     /**
      * Determine whether or not the definition exists.
-     * 
-     * @param pageContext the current page context
      * @param definition the name of the definition.
-     * @return true if the definition is found.
-     */
-    boolean isValidDefinition(PageContext pageContext, String definition);
-
-    /**
-     * Determine whether or not the definition exists.
+     * @param requestItems the current request objects.
      *
-     * @param request the current request
-     * @param response the current response
-     * @param definition the name of the definition.
      * @return true if the definition is found.
      */
-    boolean isValidDefinition(Object request, Object response, String 
definition);
+    boolean isValidDefinition(String definition, Object... requestItems);
 }

Modified: 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
 (original)
+++ 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/mgmt/MutableTilesContainer.java
 Fri Feb 23 06:33:46 2007
@@ -21,8 +21,6 @@
  */
 package org.apache.tiles.mgmt;
 
-import javax.servlet.jsp.PageContext;
-
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.TilesException;
 
@@ -38,18 +36,8 @@
      * Register a new definition with the container.
      *
      * @param definition
-     * @param context The PageContext to use
-     */
-    void register(TileDefinition definition, PageContext context)
-            throws TilesException;
-
-    /**
-     * Register a new definition with the container.
-     *
-     * @param definition
-     * @param request The request object to use.
-     * @param response The response object to use.
+     * @param requestItems the current request objects.
      */
-    void register(TileDefinition definition, Object request, Object response)
+    void register(TileDefinition definition, Object... requestItems)
             throws TilesException;
 }

Modified: 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDecorationFilter.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDecorationFilter.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDecorationFilter.java
 (original)
+++ 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDecorationFilter.java
 Fri Feb 23 06:33:46 2007
@@ -154,7 +154,7 @@
         mutator.mutate(container.getComponentContext(req, res), req);
         try {
             String definitionName = getDefinitionForRequest(req);
-            container.render(req, res, definitionName);
+            container.render(definitionName, req, res);
         } catch (TilesException e) {
             throw new ServletException("Error wrapping jsp with tile 
definition. "+e.getMessage(), e);
         }

Modified: 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDispatchServlet.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDispatchServlet.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDispatchServlet.java
 (original)
+++ 
tiles/framework/trunk/tiles-api/src/main/java/org/apache/tiles/web/TilesDispatchServlet.java
 Fri Feb 23 06:33:46 2007
@@ -71,7 +71,7 @@
             if (LOG.isDebugEnabled()) {
                 LOG.info("Dispatching to tile '" + definition + "'");
             }
-            container.render(req, res, definition);
+            container.render(definition, req, res);
         } catch (TilesException e) {
             throw new ServletException("Error rendering tile.", e);
         }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicComponentContext.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicComponentContext.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicComponentContext.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicComponentContext.java
 Fri Feb 23 06:33:46 2007
@@ -27,7 +27,6 @@
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.ComponentAttribute;
 
-import javax.servlet.jsp.PageContext;
 import java.io.Serializable;
 import java.util.*;
 
@@ -154,51 +153,6 @@
         }
 
         attributes.put(name, value);
-    }
-
-    /**
-     * Find object in one of the contexts.
-     * Order : component then pageContext.findAttribute()
-     *
-     * @param beanName    Name of the bean to find.
-     * @param pageContext Page context.
-     * @return Requested bean or <code>null</code> if not found.
-     */
-    public ComponentAttribute findAttribute(String beanName, PageContext 
pageContext) {
-        ComponentAttribute attribute = getAttribute(beanName);
-        if (attribute == null) {
-            Object attributeValue = pageContext.findAttribute(beanName);
-            attribute = new ComponentAttribute(attributeValue);
-        }
-
-        return attribute;
-    }
-
-    /**
-     * Get object from requested context.
-     * Context can be 'component'.
-     *
-     * @param beanName    Name of the bean to find.
-     * @param scope       Search scope (see [EMAIL PROTECTED] PageContext}).
-     * @param pageContext Page context.
-     * @return requested bean or <code>null</code> if not found.
-     */
-    public ComponentAttribute getAttribute(
-        String beanName,
-        int scope,
-        PageContext pageContext) {
-
-        if (scope == ComponentConstants.COMPONENT_SCOPE) {
-            return getAttribute(beanName);
-        }
-
-        Object attributeValue =
-            pageContext.getAttribute(beanName, scope);
-        if(attributeValue != null) {
-            return new ComponentAttribute(attributeValue);
-        }
-
-        return null;
     }
 
     /**

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/BasicTilesContextFactory.java
 Fri Feb 23 06:33:46 2007
@@ -67,32 +67,32 @@
     }
 
     public TilesRequestContext createRequestContext(TilesApplicationContext 
context,
-                                                    Object request,
-                                                    Object response) {
-        ServletContext servletContext = getServletContext(context);
-        PortletContext portletContext = getPortletContext(context);
-        if (servletContext != null) {
-            return new ServletTilesRequestContext(servletContext,
-                (HttpServletRequest) request,
-                (HttpServletResponse) response);
-        } else if (portletContext != null) {
-            PortletTilesApplicationContext app = 
(PortletTilesApplicationContext) context;
-            return new PortletTilesRequestContext(app.getPortletContext(),
-                (PortletRequest) request,
-                (PortletResponse) response);
+                                                    Object... requestItems) {
+        if (requestItems.length == 2) {
+            ServletContext servletContext = getServletContext(context);
+            PortletContext portletContext = getPortletContext(context);
+            if (servletContext != null) {
+                return new ServletTilesRequestContext(servletContext,
+                    (HttpServletRequest) requestItems[0],
+                    (HttpServletResponse) requestItems[1]);
+            } else if (portletContext != null) {
+                PortletTilesApplicationContext app = 
(PortletTilesApplicationContext) context;
+                return new PortletTilesRequestContext(app.getPortletContext(),
+                    (PortletRequest) requestItems[0],
+                    (PortletResponse) requestItems[1]);
+            } else {
+                throw new IllegalArgumentException("Invalid context specified. 
"
+                    + context.getClass().getName());
+            }
+        } else if (requestItems.length == 1) {
+            ServletContext servletContext = getServletContext(context);
+            if (servletContext != null) {
+                return new JspTilesRequestContext(servletContext, 
(PageContext) requestItems[0]);
+            }
+            throw new IllegalArgumentException("The context/pageContext 
combination is not supported.");
         } else {
-            throw new IllegalArgumentException("Invalid context specified. "
-                + context.getClass().getName());
+            throw new IllegalArgumentException("The context/pageContext 
combination is not supported.");
         }
-    }
-
-    public TilesRequestContext createRequestContext(TilesApplicationContext 
context,
-                                                    PageContext pageContext) {
-        ServletContext servletContext = getServletContext(context);
-        if (servletContext != null) {
-            return new JspTilesRequestContext(servletContext, pageContext);
-        }
-        throw new IllegalArgumentException("The context/pageContext 
combination is not supported.");
     }
 
     protected ServletContext getServletContext(TilesApplicationContext 
context) {

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/TilesContextFactory.java
 Fri Feb 23 06:33:46 2007
@@ -24,7 +24,6 @@
 import org.apache.tiles.TilesApplicationContext;
 import org.apache.tiles.context.TilesRequestContext;
 
-import javax.servlet.jsp.PageContext;
 import java.util.Map;
 
 /**
@@ -58,15 +57,5 @@
      * @return TilesRequestContext
      */
     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);
+                                             Object... requestItems);
 }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/enhanced/EnhancedContextFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/enhanced/EnhancedContextFactory.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/enhanced/EnhancedContextFactory.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/context/enhanced/EnhancedContextFactory.java
 Fri Feb 23 06:33:46 2007
@@ -25,8 +25,6 @@
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.context.BasicTilesContextFactory;
 
-import javax.servlet.jsp.PageContext;
-
 /**
  * @version $Rev$ $Date$
  */
@@ -37,18 +35,12 @@
         return new EnhancedTilesApplicationContext(root);
     }
 
-
-    public TilesRequestContext createRequestContext(TilesApplicationContext 
context, Object request, Object response) {
-        if (context instanceof EnhancedTilesApplicationContext) {
-            context = ((EnhancedTilesApplicationContext) 
context).getRootContext();
-        }
-        return super.createRequestContext(context, request, response);
-    }
-
-    public TilesRequestContext createRequestContext(TilesApplicationContext 
context, PageContext pageContext) {
+    @Override
+    public TilesRequestContext createRequestContext(TilesApplicationContext 
context,
+            Object... requestItems) {
         if (context instanceof EnhancedTilesApplicationContext) {
             context = ((EnhancedTilesApplicationContext) 
context).getRootContext();
         }
-        return super.createRequestContext(context, pageContext);
+        return super.createRequestContext(context, requestItems);
     }
 }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/filter/TilesDecorationFilter.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/filter/TilesDecorationFilter.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/filter/TilesDecorationFilter.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/filter/TilesDecorationFilter.java
 Fri Feb 23 06:33:46 2007
@@ -86,7 +86,7 @@
         ctx.putAttribute(targetAttributeName, attr);
 
         try {
-            container.render(request, response, definition);
+            container.render(definition, request, response);
         } catch (TilesException e) {
             throw new ServletException("Error wrapping jsp with tile 
definition.", e);
         }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/BasicTilesContainer.java
 Fri Feb 23 06:33:46 2007
@@ -40,8 +40,8 @@
 import org.apache.tiles.preparer.PreparerFactory;
 import org.apache.tiles.preparer.ViewPreparer;
 
-import javax.servlet.jsp.PageContext;
 import java.io.IOException;
+import java.io.Writer;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
@@ -108,23 +108,13 @@
                        initParameters);
     }
 
-       public ComponentContext startContext(Object request, Object response) {
-        TilesRequestContext tilesContext = getRequestContext(request, 
response);
+       public ComponentContext startContext(Object... requestItems) {
+        TilesRequestContext tilesContext = getRequestContext(requestItems);
                return startContext(tilesContext);
        }
 
-       public ComponentContext startContext(PageContext context) {
-        TilesRequestContext tilesContext = getRequestContext(context);
-        return startContext(tilesContext);
-       }
-
-    public void endContext(Object request, Object response) {
-        TilesRequestContext tilesContext = getRequestContext(request, 
response);
-        endContext(tilesContext);
-    }
-
-    public void endContext(PageContext context) {
-        TilesRequestContext tilesContext = getRequestContext(context);
+    public void endContext(Object... requestItems) {
+        TilesRequestContext tilesContext = getRequestContext(requestItems);
         endContext(tilesContext);
     }
     
@@ -201,17 +191,12 @@
         this.context = context;
     }
 
-    public ComponentContext getComponentContext(Object request, Object 
response) {
-        TilesRequestContext tilesContext = getRequestContext(request, 
response);
+    public ComponentContext getComponentContext(Object... requestItems) {
+        TilesRequestContext tilesContext = getRequestContext(requestItems);
         return getComponentContext(tilesContext);
 
     }
 
-    public ComponentContext getComponentContext(PageContext pageContext) {
-        TilesRequestContext tilesContext = getRequestContext(pageContext);
-        return getComponentContext(tilesContext);
-    }
-
     private ComponentContext getComponentContext(TilesRequestContext 
tilesContext) {
         ComponentContext context = 
BasicComponentContext.getContext(tilesContext);
         if (context == null) {
@@ -221,22 +206,13 @@
         return context;
     }
 
-    private TilesRequestContext getRequestContext(Object request, Object 
response) {
+    private TilesRequestContext getRequestContext(Object... requestItems) {
         return getContextFactory().createRequestContext(
             getApplicationContext(),
-            request,
-            response
+            requestItems
         );
     }
 
-    private TilesRequestContext getRequestContext(PageContext context) {
-        return getContextFactory().createRequestContext(
-            getApplicationContext(),
-            context
-        );
-    }
-
-
     public TilesContextFactory getContextFactory() {
         return contextFactory;
     }
@@ -285,20 +261,11 @@
         this.preparerFactory = preparerFactory;
     }
 
-    public void prepare(Object request, Object response, String preparer)
+    public void prepare(String preparer, Object... requestItems)
         throws TilesException {
         TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
             getApplicationContext(),
-            request,
-            response
-        );
-        prepare(requestContext, preparer, false);
-    }
-
-    public void prepare(PageContext context, String preparer)
-        throws TilesException {
-        TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
-            getApplicationContext(), context
+            requestItems
         );
         prepare(requestContext, preparer, false);
     }
@@ -331,24 +298,15 @@
 
     /**
      * Render the specified definition.
+     * @param requestItems the TilesRequestContext
      *
-     * @param request the TilesRequestContext
      * @throws TilesException
      */
-    public void render(Object request, Object response, String definitionName)
+    public void render(String definitionName, Object... requestItems)
         throws TilesException {
         TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
             getApplicationContext(),
-            request,
-            response
-        );
-        render(requestContext, definitionName);
-    }
-
-    public void render(PageContext context, String definitionName)
-        throws TilesException {
-        TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
-            getApplicationContext(), context
+            requestItems
         );
         render(requestContext, definitionName);
     }
@@ -406,14 +364,14 @@
         }
     }
 
-    public void render(PageContext pageContext, ComponentAttribute attr)
+    public void render(ComponentAttribute attr, Writer writer, Object... 
requestItems)
         throws TilesException, IOException {
-        ComponentContext context = getComponentContext(pageContext);
-        TilesRequestContext request = getRequestContext(pageContext);
+        ComponentContext context = getComponentContext(requestItems);
+        TilesRequestContext request = getRequestContext(requestItems);
 
-        String type = calculateType(pageContext, attr);
+        String type = calculateType(attr, requestItems);
         if ("string".equalsIgnoreCase(type)) {
-            pageContext.getOut().print(attr.getValue());
+            writer.write(attr.getValue().toString());
             return;
 
         }
@@ -425,25 +383,26 @@
             }
         }
 
-        if (isDefinition(pageContext, attr)) {
+        if (isDefinition(attr, requestItems)) {
             render(request, attr.getValue().toString());
         } else {
             request.dispatch(attr.getValue().toString());
         }
     }
 
-    private boolean isDefinition(PageContext pageContext, ComponentAttribute 
attr) {
+    private boolean isDefinition(ComponentAttribute attr, Object... 
requestItems) {
         return ComponentAttribute.DEFINITION.equals(attr.getType()) ||
-            isValidDefinition(pageContext, attr.getValue().toString());
+            isValidDefinition(attr.getValue().toString(), requestItems);
     }
 
-    private String calculateType(PageContext pageContext, ComponentAttribute 
attr) throws TilesException {
+    private String calculateType(ComponentAttribute attr,
+            Object... requestItems) throws TilesException {
         String type = attr.getType();
         if (type == null) {
             Object valueContent = attr.getValue();
             if (valueContent instanceof String) {
                 String valueString = (String) valueContent;
-                if (isValidDefinition(pageContext, valueString)) {
+                if (isValidDefinition(valueString, requestItems)) {
                     type = ComponentAttribute.DEFINITION;
                 } else if (valueString.startsWith("/")) {
                     type = ComponentAttribute.TEMPLATE;
@@ -527,12 +486,8 @@
         return filenames;
     }
 
-    public boolean isValidDefinition(Object request, Object response, String 
definitionName) {
-        return isValidDefinition(getRequestContext(request, response), 
definitionName);
-    }
-
-    public boolean isValidDefinition(PageContext pageContext, String 
definitionName) {
-        return isValidDefinition(getRequestContext(pageContext), 
definitionName);
+    public boolean isValidDefinition(String definitionName, Object... 
requestItems) {
+        return isValidDefinition(getRequestContext(requestItems), 
definitionName);
     }
 
     private boolean isValidDefinition(TilesRequestContext context, String 
definitionName) {

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingKeyedDefinitionsFactoryTilesContainer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingKeyedDefinitionsFactoryTilesContainer.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingKeyedDefinitionsFactoryTilesContainer.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingKeyedDefinitionsFactoryTilesContainer.java
 Fri Feb 23 06:33:46 2007
@@ -25,8 +25,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.servlet.jsp.PageContext;
-
 import org.apache.tiles.TilesException;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.definition.ComponentDefinition;
@@ -55,20 +53,10 @@
     private Map<String, DefinitionManager> key2definitionManager
             = new HashMap<String, DefinitionManager>();
 
-    public void register(TileDefinition definition, PageContext context)
-        throws TilesException {
-        TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
-                getApplicationContext(), context
-            );
-        register(definition, requestContext);
-    }
-
-    public void register(TileDefinition definition, Object request,
-            Object response) throws TilesException {
+    public void register(TileDefinition definition, Object... requestItems) 
throws TilesException {
         TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
                 getApplicationContext(),
-                request,
-                response
+                requestItems
             );
         register(definition, requestContext);
     }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/impl/mgmt/CachingTilesContainer.java
 Fri Feb 23 06:33:46 2007
@@ -21,8 +21,6 @@
  */
 package org.apache.tiles.impl.mgmt;
 
-import javax.servlet.jsp.PageContext;
-
 import org.apache.tiles.TilesException;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.definition.ComponentDefinition;
@@ -45,20 +43,10 @@
 
     private DefinitionManager mgr = new DefinitionManager();
 
-    public void register(TileDefinition definition, PageContext context)
-        throws TilesException {
-        TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
-                getApplicationContext(), context
-            );
-        register(definition, requestContext);
-    }
-
-    public void register(TileDefinition definition, Object request,
-            Object response) throws TilesException {
+    public void register(TileDefinition definition, Object... requestItems) 
throws TilesException {
         TilesRequestContext requestContext = 
getContextFactory().createRequestContext(
                 getApplicationContext(),
-                request,
-                response
+                requestItems
             );
         register(definition, requestContext);
     }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertAttributeTag.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertAttributeTag.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertAttributeTag.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertAttributeTag.java
 Fri Feb 23 06:33:46 2007
@@ -119,6 +119,6 @@
      */
     protected void render(ComponentAttribute attr)
         throws TilesException, IOException {
-        container.render(pageContext, attr);
+        container.render(attr, pageContext.getOut(), pageContext);
     }
 }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertDefinitionTag.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertDefinitionTag.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertDefinitionTag.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/InsertDefinitionTag.java
 Fri Feb 23 06:33:46 2007
@@ -48,6 +48,6 @@
 
 
     protected void render() throws JspException, TilesException {
-        container.render(pageContext, name);
+        container.render(name, pageContext);
     }
 }

Modified: 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/RenderTagSupport.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/RenderTagSupport.java?view=diff&rev=510956&r1=510955&r2=510956
==============================================================================
--- 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/RenderTagSupport.java
 (original)
+++ 
tiles/framework/trunk/tiles-core/src/main/java/org/apache/tiles/taglib/RenderTagSupport.java
 Fri Feb 23 06:33:46 2007
@@ -117,7 +117,7 @@
      */
     protected void execute() throws TilesException, JspException, IOException {
         if (preparer != null) {
-            container.prepare(pageContext, preparer);
+            container.prepare(preparer, pageContext);
         }
         render();
     }


Reply via email to