Author: apetrelli
Date: Mon Mar 2 12:39:13 2009
New Revision: 749294
URL: http://svn.apache.org/viewvc?rev=749294&view=rev
Log:
TILESSB-7
Removed the use of a real Renderable when not necessary.
Modified:
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContext.java
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactory.java
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyExecutable.java
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java
Modified:
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContext.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContext.java?rev=749294&r1=749293&r2=749294&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContext.java
(original)
+++
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContext.java
Mon Mar 2 12:39:13 2009
@@ -85,6 +85,10 @@
@Override
public PrintWriter getPrintWriter() throws IOException {
+ if (writer == null) {
+ throw new IllegalStateException(
+ "A writer-less Tiles request has been created, cannot
return a PrintWriter");
+ }
if (writer instanceof PrintWriter) {
return (PrintWriter) writer;
} else {
@@ -94,6 +98,10 @@
@Override
public Writer getWriter() throws IOException {
+ if (writer == null) {
+ throw new IllegalStateException(
+ "A writer-less Tiles request has been created, cannot
return a PrintWriter");
+ }
return writer;
}
Modified:
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactory.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactory.java?rev=749294&r1=749293&r2=749294&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactory.java
(original)
+++
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityTilesRequestContextFactory.java
Mon Mar 2 12:39:13 2009
@@ -47,14 +47,18 @@
private TilesRequestContextFactory parent;
public TilesRequestContext createRequestContext(TilesApplicationContext
context, Object... requestItems) {
- if (requestItems.length == 4 && requestItems[0] instanceof Context
+ if ((requestItems.length == 3 || requestItems.length == 4)
+ && requestItems[0] instanceof Context
&& requestItems[1] instanceof HttpServletRequest
&& requestItems[2] instanceof HttpServletResponse
- && requestItems[3] instanceof Writer) {
+ && ((requestItems.length == 4 && requestItems[3] instanceof
Writer) || requestItems.length == 3)) {
Context ctx = (Context) requestItems[0];
HttpServletRequest request = (HttpServletRequest) requestItems[1];
HttpServletResponse response = (HttpServletResponse)
requestItems[2];
- Writer writer = (Writer) requestItems[3];
+ Writer writer = null;
+ if (requestItems.length == 4) {
+ writer = (Writer) requestItems[3];
+ }
TilesRequestContext enclosedRequest;
if (parent != null) {
enclosedRequest = parent.createRequestContext(context,
request, response);
Modified:
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyExecutable.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyExecutable.java?rev=749294&r1=749293&r2=749294&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyExecutable.java
(original)
+++
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyExecutable.java
Mon Mar 2 12:39:13 2009
@@ -19,7 +19,7 @@
* @param response TODO
* @param velocityContext TODO
*/
- public abstract void start(HttpServletRequest request, HttpServletResponse
response, Context velocityContext, Map<String, Object> params);
+ void start(HttpServletRequest request, HttpServletResponse response,
Context velocityContext, Map<String, Object> params);
/**
* Returns a string representation of attribute value. If the attribute is
@@ -29,6 +29,6 @@
* @param response TODO
* @param velocityContext TODO
*/
- public abstract void end(HttpServletRequest request, HttpServletResponse
response, Context velocityContext);
+ void end(HttpServletRequest request, HttpServletResponse response, Context
velocityContext);
}
\ No newline at end of file
Modified:
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java?rev=749294&r1=749293&r2=749294&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
(original)
+++
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionVModel.java
Mon Mar 2 12:39:13 2009
@@ -1,7 +1,5 @@
package org.apache.tiles.velocity.template;
-import java.io.IOException;
-import java.io.Writer;
import java.util.Map;
import javax.servlet.ServletContext;
@@ -13,10 +11,6 @@
import org.apache.tiles.template.DefinitionModel;
import org.apache.tiles.velocity.context.VelocityUtil;
import org.apache.velocity.context.Context;
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.exception.MethodInvocationException;
-import org.apache.velocity.exception.ParseErrorException;
-import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.Renderable;
public class DefinitionVModel implements Executable, BodyExecutable {
@@ -33,23 +27,14 @@
public Renderable execute(HttpServletRequest request,
HttpServletResponse response, Context velocityContext,
Map<String, Object> params) {
- return new AbstractDefaultToStringRenderable(velocityContext, params,
- response, request) {
+ model.execute((MutableTilesContainer) ServletUtil.getCurrentContainer(
+ request, servletContext), ServletUtil.getComposeStack(request),
+ (String) params.get("name"), (String) params.get("template"),
+ (String) params.get("role"), (String) params.get("extends"),
+ (String) params.get("preparer"), velocityContext, request,
+ response);
- public boolean render(InternalContextAdapter context, Writer
writer)
- throws IOException, MethodInvocationException,
- ParseErrorException, ResourceNotFoundException {
- model.execute((MutableTilesContainer) ServletUtil
- .getCurrentContainer(request, servletContext),
- ServletUtil.getComposeStack(request), (String) params
- .get("name"), (String) params.get("template"),
- (String) params.get("role"), (String) params
- .get("extends"), (String) params
- .get("preparer"), velocityContext, request,
- response, writer);
- return true;
- }
- };
+ return VelocityUtil.EMPTY_RENDERABLE;
}
public void end(HttpServletRequest request, HttpServletResponse response,
Modified:
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java?rev=749294&r1=749293&r2=749294&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java
(original)
+++
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java
Mon Mar 2 12:39:13 2009
@@ -1,7 +1,5 @@
package org.apache.tiles.velocity.template;
-import java.io.IOException;
-import java.io.Writer;
import java.util.Map;
import javax.servlet.ServletContext;
@@ -12,10 +10,6 @@
import org.apache.tiles.template.PutAttributeModel;
import org.apache.tiles.velocity.context.VelocityUtil;
import org.apache.velocity.context.Context;
-import org.apache.velocity.context.InternalContextAdapter;
-import org.apache.velocity.exception.MethodInvocationException;
-import org.apache.velocity.exception.ParseErrorException;
-import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.Renderable;
public class PutAttributeVModel implements Executable, BodyExecutable {
@@ -33,23 +27,16 @@
public Renderable execute(HttpServletRequest request,
HttpServletResponse response, Context velocityContext,
Map<String, Object> params) {
- return new AbstractDefaultToStringRenderable(velocityContext, params,
response, request) {
+ model.execute(ServletUtil.getCurrentContainer(request,
+ servletContext), ServletUtil.getComposeStack(request),
+ (String) params.get("name"), params.get("value"),
+ (String) params.get("expression"), null,
+ (String) params.get("role"), (String) params
+ .get("type"), VelocityUtil.toSimpleBoolean(
+ (Boolean) params.get("value"), false),
+ velocityContext, request, response);
- public boolean render(InternalContextAdapter context, Writer
writer)
- throws IOException, MethodInvocationException,
- ParseErrorException, ResourceNotFoundException {
- model.execute(ServletUtil.getCurrentContainer(request,
- servletContext), ServletUtil.getComposeStack(request),
- (String) params.get("name"), params.get("value"),
- (String) params.get("expression"), null,
- (String) params.get("role"), (String) params
- .get("type"), VelocityUtil.toSimpleBoolean(
- (Boolean) params.get("value"), false),
- velocityContext, request, response, writer);
- return true;
- }
-
- };
+ return VelocityUtil.EMPTY_RENDERABLE;
}
public void end(HttpServletRequest request, HttpServletResponse response,