Author: apetrelli
Date: Fri Feb 27 13:16:42 2009
New Revision: 748507

URL: http://svn.apache.org/viewvc?rev=748507&view=rev
Log:
TILESSB-7
Using a "Renderable" to render correctly page pieces.
Fixed "tools.xml" with the correct name.

Added:
    
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java
   (with props)
    
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AbstractDefaultToStringRenderable.java
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/AddAttributeVModel.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/Executable.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/ImportAttributeVModel.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/Tiles2Tool.java
    tiles/sandbox/trunk/tiles-velocity/src/main/resources/tools.xml

Added: 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java?rev=748507&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java
 Fri Feb 27 13:16:42 2009
@@ -0,0 +1,23 @@
+package org.apache.tiles.velocity.context;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+public class ExternalWriterHttpServletResponse extends
+        HttpServletResponseWrapper {
+
+    private PrintWriter writer;
+    
+    public ExternalWriterHttpServletResponse(HttpServletResponse response, 
PrintWriter writer) {
+        super(response);
+        this.writer = writer;
+    }
+
+    @Override
+    public PrintWriter getWriter() throws IOException {
+        return writer;
+    }
+}

Propchange: 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/ExternalWriterHttpServletResponse.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -21,9 +21,17 @@
 package org.apache.tiles.velocity.context;
 
 import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Writer;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.context.TilesRequestContextWrapper;
+import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.velocity.context.Context;
 
 /**
@@ -36,12 +44,14 @@
     private final Context ctx;
     
     private Object[] requestObjects;
+    
+    private Writer writer;
 
-    public VelocityTilesRequestContext(TilesRequestContext enclosedRequest, 
Context ctx) {
+    public VelocityTilesRequestContext(
+            TilesRequestContext enclosedRequest, Context ctx, Writer writer) {
         super(enclosedRequest);
         this.ctx = ctx;
-        // FIXME This should go into a renderer
-        //ctx.put("tiles", new 
Tiles2Tool(getContainer(ctx.getServletContext()), this));
+        this.writer = writer;
     }
 
     public void dispatch(String path) throws IOException {
@@ -49,6 +59,45 @@
     }
 
     @Override
+    public void include(String path) throws IOException {
+        Object[] requestObjects = super.getRequestObjects();
+        HttpServletRequest request = (HttpServletRequest) requestObjects[0];
+        HttpServletResponse response = (HttpServletResponse) requestObjects[1];
+        ServletUtil.setForceInclude(request, true);
+        RequestDispatcher rd = request.getRequestDispatcher(path);
+
+        if (rd == null) {
+            throw new IOException("No request dispatcher returned for path '"
+                    + path + "'");
+        }
+
+        PrintWriter printWriter = getPrintWriter();
+        try {
+            rd.include(request, new ExternalWriterHttpServletResponse(response,
+                    printWriter));
+        } catch (ServletException ex) {
+            throw ServletUtil.wrapServletException(ex, "ServletException 
including path '"
+                    + path + "'.");
+        } finally {
+            printWriter.flush();
+        }
+    }
+
+    @Override
+    public PrintWriter getPrintWriter() throws IOException {
+        if (writer instanceof PrintWriter) {
+            return (PrintWriter) writer;
+        } else {
+            return new PrintWriter(writer);
+        }
+    }
+
+    @Override
+    public Writer getWriter() throws IOException {
+        return writer;
+    }
+
+    @Override
     public Object[] getRequestObjects() {
         if (requestObjects == null) {
             Object[] parentRequestObjects = super.getRequestObjects();

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -20,6 +20,7 @@
  */
 package org.apache.tiles.velocity.context;
 
+import java.io.Writer;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
@@ -46,19 +47,22 @@
     private TilesRequestContextFactory parent;
 
     public TilesRequestContext createRequestContext(TilesApplicationContext 
context, Object... requestItems) {
-        if (requestItems.length == 3 && requestItems[0] instanceof Context
+        if (requestItems.length == 4 && requestItems[0] instanceof Context
                 && requestItems[1] instanceof HttpServletRequest
-                && requestItems[2] instanceof HttpServletResponse) {
+                && requestItems[2] instanceof HttpServletResponse
+                && requestItems[3] instanceof Writer) {
             Context ctx = (Context) requestItems[0];
             HttpServletRequest request = (HttpServletRequest) requestItems[1];
             HttpServletResponse response = (HttpServletResponse) 
requestItems[2];
+            Writer writer = (Writer) requestItems[3];
             TilesRequestContext enclosedRequest;
             if (parent != null) {
                 enclosedRequest = parent.createRequestContext(context, 
request, response);
             } else {
                 enclosedRequest = new ServletTilesRequestContext(context, 
request, response);
             }
-            return new VelocityTilesRequestContext(enclosedRequest, ctx);
+            return new VelocityTilesRequestContext(enclosedRequest,
+                    ctx, writer);
         } else if (requestItems.length == 1
             && requestItems[0] instanceof VelocityTilesRequestContext) {
             // FIXME is it necessary?

Added: 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AbstractDefaultToStringRenderable.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AbstractDefaultToStringRenderable.java?rev=748507&view=auto
==============================================================================
--- 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AbstractDefaultToStringRenderable.java
 (added)
+++ 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AbstractDefaultToStringRenderable.java
 Fri Feb 27 13:16:42 2009
@@ -0,0 +1,64 @@
+/**
+ * 
+ */
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.tiles.velocity.TilesVelocityException;
+import org.apache.velocity.context.Context;
+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 abstract class AbstractDefaultToStringRenderable implements Renderable {
+    protected final Context velocityContext;
+    protected final Map<String, Object> params;
+    protected final HttpServletResponse response;
+    protected final HttpServletRequest request;
+
+    private Log log = LogFactory.getLog(getClass());
+
+    public AbstractDefaultToStringRenderable(Context velocityContext,
+            Map<String, Object> params, HttpServletResponse response,
+            HttpServletRequest request) {
+        this.velocityContext = velocityContext;
+        this.params = params;
+        this.response = response;
+        this.request = request;
+    }
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        StringWriter writer = new StringWriter();
+        try {
+            render(null, writer);
+        } catch (MethodInvocationException e) {
+            throw new TilesVelocityException("Cannot invoke method when 
rendering", e);
+        } catch (ParseErrorException e) {
+            throw new TilesVelocityException("Cannot parse when rendering", e);
+        } catch (ResourceNotFoundException e) {
+            throw new TilesVelocityException("Cannot find resource when 
rendering", e);
+        } catch (IOException e) {
+            throw new TilesVelocityException("I/O exception when rendering", 
e);
+        } finally {
+            try {
+                writer.close();
+            } catch (IOException e) {
+                log.error("Error when closing a StringWriter, the impossible 
happened!", e);
+            }
+        }
+        return writer.toString();
+    }
+}
\ No newline at end of file

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -9,6 +9,7 @@
 import org.apache.tiles.template.AddAttributeModel;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class AddAttributeVModel implements Executable, BodyExecutable {
 
@@ -18,13 +19,13 @@
         this.model = model;
     }
 
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
         model.execute(ServletUtil.getComposeStack(request),
                 params.get("value"), (String) params.get("expression"), null,
                 (String) params.get("role"), (String) params.get("type"));
-
+        return null;
     }
 
     public void end(HttpServletRequest request, HttpServletResponse response,

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -11,6 +11,7 @@
 import org.apache.tiles.template.DefinitionModel;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class DefinitionVModel implements Executable, BodyExecutable {
 
@@ -23,7 +24,7 @@
         this.servletContext = servletContext;
     }
 
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
         model.execute((MutableTilesContainer) ServletUtil.getCurrentContainer(
@@ -32,7 +33,7 @@
                 (String) params.get("role"), (String) params.get("extends"),
                 (String) params.get("preparer"), velocityContext, request,
                 response);
-
+        return null;
     }
 
     public void end(HttpServletRequest request, HttpServletResponse response,

Modified: 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Executable.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Executable.java?rev=748507&r1=748506&r2=748507&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Executable.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Executable.java
 Fri Feb 27 13:16:42 2009
@@ -6,6 +6,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 
 
@@ -18,7 +19,8 @@
      * @param request TODO
      * @param response TODO
      * @param velocityContext TODO
+     * @return TODO
      */
-    void execute(HttpServletRequest request, HttpServletResponse response, 
Context velocityContext, Map<String, Object> params);
+    Renderable execute(HttpServletRequest request, HttpServletResponse 
response, Context velocityContext, Map<String, Object> params);
 
 }
\ No newline at end of file

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -15,6 +15,7 @@
 import org.apache.tiles.velocity.TilesVelocityException;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class GetAsStringVModel implements Executable, BodyExecutable {
 
@@ -27,7 +28,7 @@
         this.servletContext = servletContext;
     }
     
-    public void execute(HttpServletRequest request, HttpServletResponse 
response, Context velocityContext, Map<String, Object> params) {
+    public Renderable execute(HttpServletRequest request, HttpServletResponse 
response, Context velocityContext, Map<String, Object> params) {
         TilesContainer container = ServletUtil.getCurrentContainer(request,
                 servletContext);
         try {
@@ -42,6 +43,7 @@
         } catch (IOException e) {
             throw new TilesVelocityException("Cannot execute getAsString", e);
         }
+        return null;
     }
 
     public void start(HttpServletRequest request, HttpServletResponse 
response, Context velocityContext, Map<String, Object> params) {

Modified: 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java?rev=748507&r1=748506&r2=748507&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java
 Fri Feb 27 13:16:42 2009
@@ -10,6 +10,7 @@
 import org.apache.tiles.template.ImportAttributeModel;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class ImportAttributeVModel implements Executable {
 
@@ -23,7 +24,7 @@
         this.servletContext = servletContext;
     }
 
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
         Map<String, Object> attributes = model.getImportedAttributes(
@@ -36,6 +37,7 @@
             VelocityUtil.setAttribute(velocityContext, request, servletContext,
                     entry.getKey(), entry.getValue(), scope);
         }
+        return null;
     }
 
 }

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -13,6 +13,7 @@
 import org.apache.tiles.velocity.TilesVelocityException;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class InsertAttributeVModel implements Executable, BodyExecutable {
 
@@ -50,7 +51,7 @@
         
     }
 
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
         try {
@@ -63,6 +64,7 @@
         } catch (IOException e) {
             throw new TilesVelocityException("Cannot execute insertAttribute", 
e);
         }
+        return null;
     }
 
 }

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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -1,5 +1,7 @@
 package org.apache.tiles.velocity.template;
 
+import java.io.IOException;
+import java.io.Writer;
 import java.util.Map;
 
 import javax.servlet.ServletContext;
@@ -10,9 +12,14 @@
 import org.apache.tiles.template.InsertDefinitionModel;
 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 InsertDefinitionVModel implements Executable, BodyExecutable {
-
+    
     private InsertDefinitionModel model;
 
     private ServletContext servletContext;
@@ -23,13 +30,21 @@
         this.servletContext = servletContext;
     }
 
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
-        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 end(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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -10,6 +10,7 @@
 import org.apache.tiles.template.InsertTemplateModel;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class InsertTemplateVModel implements Executable, BodyExecutable {
 
@@ -23,13 +24,14 @@
         this.servletContext = servletContext;
     }
 
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
         model.execute(ServletUtil.getCurrentContainer(request, servletContext),
                 (String) params.get("template"), (String) params.get("role"),
                 (String) params.get("preparer"), velocityContext, request,
                 response);
+        return null;
     }
 
     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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -10,6 +10,7 @@
 import org.apache.tiles.template.PutAttributeModel;
 import org.apache.tiles.velocity.context.VelocityUtil;
 import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.Renderable;
 
 public class PutAttributeVModel implements Executable, BodyExecutable {
 
@@ -23,7 +24,7 @@
         this.servletContext = servletContext;
     }
     
-    public void execute(HttpServletRequest request,
+    public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
         model.execute(ServletUtil.getCurrentContainer(request, 
servletContext), ServletUtil.getComposeStack(request),
@@ -31,7 +32,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 null;
     }
 
     public void end(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=748507&r1=748506&r2=748507&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
 Fri Feb 27 13:16:42 2009
@@ -27,6 +27,7 @@
 import org.apache.tiles.AttributeContext;
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.velocity.runtime.Renderable;
 
 /**
  * 
@@ -106,9 +107,8 @@
         return this;
     }
     
-    public Tiles2Tool insertDefinition(Map<String, Object> params) {
-        execute(getRepository().getInsertDefinition(), params);
-        return this;
+    public Renderable insertDefinition(Map<String, Object> params) {
+        return execute(getRepository().getInsertDefinition(), params);
     }
     
     public Tiles2Tool insertDefinition() {
@@ -173,6 +173,11 @@
         return attribute;
     }
 
+    @Override
+    public String toString() {
+        return "";
+    }
+
     private TilesVelocityRepository getRepository() {
         if (repository != null) {
             return repository;
@@ -188,7 +193,7 @@
         return repository;
     }
     
-    private void execute(Executable executable, Map<String, Object> params) {
-        executable.execute(getRequest(), getResponse(), getVelocityContext(), 
params);
+    private Renderable execute(Executable executable, Map<String, Object> 
params) {
+        return executable.execute(getRequest(), getResponse(), 
getVelocityContext(), params);
     }
 }

Modified: tiles/sandbox/trunk/tiles-velocity/src/main/resources/tools.xml
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-velocity/src/main/resources/tools.xml?rev=748507&r1=748506&r2=748507&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-velocity/src/main/resources/tools.xml (original)
+++ tiles/sandbox/trunk/tiles-velocity/src/main/resources/tools.xml Fri Feb 27 
13:16:42 2009
@@ -19,6 +19,6 @@
 -->
 <tools>
   <toolbox scope="request">
-    <tool key="tiles" class="org.apache.tiles.velocity.Tiles2Tool"/>
+    <tool key="tiles" class="org.apache.tiles.velocity.template.Tiles2Tool"/>
   </toolbox>
 </tools>


Reply via email to