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