You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2009/03/02 13:49:41 UTC

svn commit: r749295 - /tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/

Author: apetrelli
Date: Mon Mar  2 12:49:40 2009
New Revision: 749295

URL: http://svn.apache.org/viewvc?rev=749295&view=rev
Log:
TILESSB-7
Now the BodyExecutable.end method returns a Renderable.
Changed all the models and Tiles2Tool accordingly.

Modified:
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeVModel.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/GetAsStringVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java
    tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeVModel.java Mon Mar  2 12:49:40 2009
@@ -29,13 +29,14 @@
         return VelocityUtil.EMPTY_RENDERABLE;
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
         model.end(ServletUtil.getComposeStack(request), params.get("value"),
                 (String) params.get("expression"), null, (String) params
                         .get("role"), (String) params.get("type"));
+        return VelocityUtil.EMPTY_RENDERABLE;
     }
 
     public void start(HttpServletRequest request, HttpServletResponse response,

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeVModel.java Mon Mar  2 12:49:40 2009
@@ -7,7 +7,9 @@
 
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.AddListAttributeModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class AddListAttributeVModel implements BodyExecutable {
 
@@ -17,9 +19,10 @@
         this.model = model;
     }
     
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         model.end(ServletUtil.getComposeStack(request));
+        return VelocityUtil.EMPTY_RENDERABLE;
     }
 
     public void start(HttpServletRequest request, HttpServletResponse 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=749295&r1=749294&r2=749295&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:49:40 2009
@@ -6,6 +6,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 
 
@@ -28,7 +29,8 @@
      * @param request TODO
      * @param response TODO
      * @param velocityContext TODO
+     * @return TODO
      */
-    void end(HttpServletRequest request, HttpServletResponse response, Context velocityContext);
+    Renderable 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=749295&r1=749294&r2=749295&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:49:40 2009
@@ -37,16 +37,15 @@
         return VelocityUtil.EMPTY_RENDERABLE;
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
-        model
-                .end((MutableTilesContainer) ServletUtil.getCurrentContainer(
-                        request, servletContext), ServletUtil
-                        .getComposeStack(request), (String) params.get("name"),
-                        velocityContext, request, response);
-
+        model.end((MutableTilesContainer) ServletUtil.getCurrentContainer(
+                request, servletContext), ServletUtil
+                .getComposeStack(request), (String) params.get("name"),
+                velocityContext, request, response);
+        return VelocityUtil.EMPTY_RENDERABLE;
     }
 
     public void start(HttpServletRequest request, HttpServletResponse response,

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringVModel.java Mon Mar  2 12:49:40 2009
@@ -12,7 +12,6 @@
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.GetAsStringModel;
-import org.apache.tiles.velocity.TilesVelocityException;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -72,17 +71,22 @@
                 response);
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
-        try {
-            model.end(ServletUtil.getComposeStack(request), ServletUtil
-                    .getCurrentContainer(request, servletContext), response
-                    .getWriter(), VelocityUtil.toSimpleBoolean((Boolean) params
-                    .get("ignore"), false), velocityContext, request, response);
-        } catch (IOException e) {
-            throw new TilesVelocityException("Cannot end getAsString", e);
-        }
+        return new AbstractDefaultToStringRenderable(velocityContext, params, response, request){
+        
+            public boolean render(InternalContextAdapter context, Writer writer)
+                    throws IOException, MethodInvocationException, ParseErrorException,
+                    ResourceNotFoundException {
+                model.end(ServletUtil.getComposeStack(request), ServletUtil
+                        .getCurrentContainer(request, servletContext), response
+                        .getWriter(), VelocityUtil.toSimpleBoolean(
+                        (Boolean) params.get("ignore"), false),
+                        velocityContext, request, response, writer);
+                return true;
+            }
+        };
     }
 }

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeVModel.java Mon Mar  2 12:49:40 2009
@@ -11,7 +11,6 @@
 import org.apache.tiles.Attribute;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.template.InsertAttributeModel;
-import org.apache.tiles.velocity.TilesVelocityException;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
@@ -32,16 +31,23 @@
 
     private ServletContext servletContext;
     
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(velocityContext).pop();
-        try {
-            model.end(ServletUtil.getComposeStack(request), ServletUtil.getCurrentContainer(request, servletContext),
-                    VelocityUtil.toSimpleBoolean((Boolean) params.get("ignore"), false),
-                    velocityContext, request, response);
-        } catch (IOException e) {
-            throw new TilesVelocityException("Cannot end insertAttribute", e);
-        }
+        return new AbstractDefaultToStringRenderable(velocityContext, params,
+                response, request) {
+
+            public boolean render(InternalContextAdapter context, Writer writer)
+                    throws IOException, MethodInvocationException,
+                    ParseErrorException, ResourceNotFoundException {
+                model.end(ServletUtil.getComposeStack(request), ServletUtil
+                        .getCurrentContainer(request, servletContext),
+                        VelocityUtil.toSimpleBoolean((Boolean) params
+                                .get("ignore"), false), velocityContext,
+                        request, response, writer);
+                return true;
+            }
+        };
     }
 
     public void start(HttpServletRequest request, HttpServletResponse response,

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionVModel.java Mon Mar  2 12:49:40 2009
@@ -47,13 +47,23 @@
         };
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(velocityContext).pop();
-        model.execute(ServletUtil.getCurrentContainer(request, servletContext),
-                (String) params.get("name"), (String) params.get("template"),
-                (String) params.get("role"), (String) params.get("preparer"),
-                velocityContext, request, response);
+        return new AbstractDefaultToStringRenderable(velocityContext, params,
+                response, request) {
+
+            public boolean render(InternalContextAdapter context, Writer writer)
+                    throws IOException, MethodInvocationException,
+                    ParseErrorException, ResourceNotFoundException {
+                model.execute(ServletUtil.getCurrentContainer(request,
+                        servletContext), (String) params.get("name"),
+                        (String) params.get("template"), (String) params
+                                .get("role"), (String) params.get("preparer"),
+                        velocityContext, request, response, writer);
+                return true;
+            }
+        };
     }
 
     public void start(HttpServletRequest request, HttpServletResponse response,

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateVModel.java Mon Mar  2 12:49:40 2009
@@ -48,14 +48,22 @@
         };
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
-        model.end(ServletUtil.getCurrentContainer(request, servletContext),
-                (String) params.get("template"), (String) params.get("role"),
-                (String) params.get("preparer"), velocityContext, request,
-                response);
+        return new AbstractDefaultToStringRenderable(velocityContext, params, response, request) {
+        
+            public boolean render(InternalContextAdapter context, Writer writer)
+                    throws IOException, MethodInvocationException, ParseErrorException,
+                    ResourceNotFoundException {
+                model.end(ServletUtil.getCurrentContainer(request, servletContext),
+                        (String) params.get("template"), (String) params.get("role"),
+                        (String) params.get("preparer"), velocityContext, request,
+                        response, writer);
+                return true;
+            }
+        };
     }
 
     public void start(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=749295&r1=749294&r2=749295&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:49:40 2009
@@ -39,7 +39,7 @@
         return VelocityUtil.EMPTY_RENDERABLE;
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
@@ -48,6 +48,7 @@
                 (String) params.get("expression"), null, (String) params.get("role"),
                 (String) params.get("type"), VelocityUtil.toSimpleBoolean((Boolean) params.get("value"), false),
                 velocityContext, request, response);
+        return VelocityUtil.EMPTY_RENDERABLE;
     }
 
     public void start(HttpServletRequest request, HttpServletResponse response,

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeVModel.java Mon Mar  2 12:49:40 2009
@@ -10,6 +10,7 @@
 import org.apache.tiles.template.PutListAttributeModel;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class PutListAttributeVModel implements BodyExecutable {
 
@@ -23,7 +24,7 @@
         this.servletContext = servletContext;
     }
 
-    public void end(HttpServletRequest request, HttpServletResponse response,
+    public Renderable end(HttpServletRequest request, HttpServletResponse response,
             Context velocityContext) {
         Map<String, Object> params = VelocityUtil.getParameterStack(
                 velocityContext).pop();
@@ -32,6 +33,7 @@
                         .get("name"), VelocityUtil.toSimpleBoolean(
                         (Boolean) params.get("cascade"), false),
                 velocityContext, request, response);
+        return VelocityUtil.EMPTY_RENDERABLE;
     }
 
     public void start(HttpServletRequest request, HttpServletResponse response,

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java?rev=749295&r1=749294&r2=749295&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java Mon Mar  2 12:49:40 2009
@@ -152,13 +152,14 @@
         return this;
     }
     
-    public Tiles2Tool end() {
+    public Renderable end() {
         if (currentExecutable == null) {
             throw new NullPointerException("The current model to start has not been set");
         }
-        currentExecutable.end(getRequest(), getResponse(), getVelocityContext());
+        Renderable retValue = currentExecutable.end(getRequest(),
+                getResponse(), getVelocityContext());
         currentExecutable = null;
-        return this;
+        return retValue;
     }
 
     public Attribute getAttribute(String key) {