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,


Reply via email to