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 2010/01/19 21:05:03 UTC

svn commit: r900938 [2/2] - in /tiles/framework/trunk: tiles-test-pom/tiles-test-alt/src/main/resources/org/apache/tiles/test/alt/velocity/ tiles-test-pom/tiles-test/src/main/webapp/WEB-INF/ tiles-test-pom/tiles-test/src/main/webapp/velocity/ tiles-vel...

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_overridden.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_overridden.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_overridden.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_overridden.vm Tue Jan 19 20:04:59 2010
@@ -19,8 +19,8 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/layout.vm"})
-  $tiles.putAttribute({"name":"title", "value":"This is the title.", "cascade":true})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/alternate-header.vm", "type":"velocity", "cascade":true})
-  $tiles.putAttribute({"name":"body", "value":"test.inner.definition"})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout.vm"})
+  #tiles_putAttribute({"name":"title", "value":"This is the title.", "cascade":true})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/alternate-header.vm", "type":"velocity", "cascade":true})#end
+  #tiles_putAttribute({"name":"body", "value":"test.inner.definition"})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_template.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_template.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_template.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_cascaded_template.vm Tue Jan 19 20:04:59 2010
@@ -19,8 +19,8 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/layout.vm"})
-  $tiles.putAttribute({"name":"title", "value":"This is the title.", "cascade":true})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity", "cascade":true})
-  $tiles.putAttribute({"name":"body", "value":"/velocity/layout_nobody.vm", "type":"velocity"})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout.vm"})
+  #tiles_putAttribute({"name":"title", "value":"This is the title.", "cascade":true})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity", "cascade":true})#end
+  #tiles_putAttribute({"name":"body", "value":"/velocity/layout_nobody.vm", "type":"velocity"})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el.vm Tue Jan 19 20:04:59 2010
@@ -21,8 +21,8 @@
  *#
 #set($bodyContent="Body Content defined by and el")
 
-$tiles.insertTemplate().start({"template":"/velocity/layout.vm"})
-  $tiles.putAttribute({"name":"title",  "value":"This is the title."})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body",   "value":$bodyContent})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout.vm"})
+  #tiles_putAttribute({"name":"title",  "value":"This is the title."})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body",   "value":$bodyContent})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el_singleeval.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el_singleeval.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el_singleeval.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_el_singleeval.vm Tue Jan 19 20:04:59 2010
@@ -22,8 +22,8 @@
 #set($doNotShowBody="$" + "{" + "requestScope.doNotShow}")
 #set($doNotShow="DO NOT SHOW!!!")
 
-$tiles.insertTemplate().start({"template":"/velocity/layout.vm"})
-  $tiles.putAttribute({"name":"title", "value":"This is the title."})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body", "value":$doNotShowBody})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout.vm"})
+  #tiles_putAttribute({"name":"title", "value":"This is the title."})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body", "value":$doNotShowBody})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_flush.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_flush.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_flush.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_flush.vm Tue Jan 19 20:04:59 2010
@@ -19,8 +19,8 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/layout.vm", "flush":true})
-  $tiles.putAttribute({"name":"title",  "value":"This is the title."})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body",   "value":"/velocity/body.vm", "type":"velocity"})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout.vm", "flush":true})
+  #tiles_putAttribute({"name":"title",  "value":"This is the title."})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body",   "value":"/velocity/body.vm", "type":"velocity"})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed.vm Tue Jan 19 20:04:59 2010
@@ -19,8 +19,8 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/layout_alt_title.vm"})
-  $tiles.putAttribute({"name":"title", "value":"This is the title.", "type":"reversed"})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body", "value":"/velocity/body.vm", "type":"velocity"})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout_alt_title.vm"})
+  #tiles_putAttribute({"name":"title", "value":"This is the title.", "type":"reversed"})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body", "value":"/velocity/body.vm", "type":"velocity"})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed_explicit.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed_explicit.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed_explicit.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_reversed_explicit.vm Tue Jan 19 20:04:59 2010
@@ -19,9 +19,9 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/layout_alt_title.vm"})
-  $tiles.putAttribute({"name":"title", "value":"This is the title.",
-    "type":"org.apache.tiles.test.renderer.ReverseStringAttributeRenderer"})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body", "value":"/velocity/body.vm", "type":"velocity"})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout_alt_title.vm"})
+  #tiles_putAttribute({"name":"title", "value":"This is the title.",
+    "type":"org.apache.tiles.test.renderer.ReverseStringAttributeRenderer"})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body", "value":"/velocity/body.vm", "type":"velocity"})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_servlet.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_servlet.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_servlet.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testput_servlet.vm Tue Jan 19 20:04:59 2010
@@ -19,8 +19,8 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/servlets/layoutServlet"})
-  $tiles.putAttribute({"name":"title",  "value":"This is the title."})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body",   "value":"/velocity/body.vm", "type":"velocity"})
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/servlets/layoutServlet"})
+  #tiles_putAttribute({"name":"title",  "value":"This is the title."})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body",   "value":"/velocity/body.vm", "type":"velocity"})#end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist.vm Tue Jan 19 20:04:59 2010
@@ -19,11 +19,11 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/putattributeslayout.vm"})
-  $tiles.putAttribute({"name":"stringTest", "value":"This is a string", "type":"string"})
-  $tiles.putListAttribute().start({"name":"list"})
-    $tiles.addAttribute({"value":"valueOne", "type":"string"})
-    $tiles.addAttribute({"value":"valueTwo", "type":"string"})
-    $tiles.addAttribute({"value":"valueThree", "type":"string"})
-  $tiles.putListAttribute().end()
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/putattributeslayout.vm"})
+  #tiles_putAttribute({"name":"stringTest", "value":"This is a string", "type":"string"})#end
+  #tiles_putListAttribute({"name":"list"})
+    #tiles_addAttribute({"value":"valueOne", "type":"string"})#end
+    #tiles_addAttribute({"value":"valueTwo", "type":"string"})#end
+    #tiles_addAttribute({"value":"valueThree", "type":"string"})#end
+  #end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_cascaded.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_cascaded.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_cascaded.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_cascaded.vm Tue Jan 19 20:04:59 2010
@@ -19,14 +19,14 @@
  * under the License.
  *
  *#
-$tiles.insertTemplate().start({"template":"/velocity/layout.vm"})
-  $tiles.putAttribute({"name":"title", "value":"This is the title."})
-  $tiles.putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"body", "value":"/velocity/putattributeslayout.vm", "type":"velocity"})
-  $tiles.putAttribute({"name":"stringTest", "value":"This is a string", "type":"string", "cascade":true})
-  $tiles.putListAttribute().start({"name":"list", "cascade":true})
-    $tiles.addAttribute({"value":"valueOne", "type":"string"})
-    $tiles.addAttribute({"value":"valueTwo", "type":"string"})
-    $tiles.addAttribute({"value":"valueThree", "type":"string"})
-  $tiles.putListAttribute().end()
-$tiles.insertTemplate().end()
+#tiles_insertTemplate({"template":"/velocity/layout.vm"})
+  #tiles_putAttribute({"name":"title", "value":"This is the title."})#end
+  #tiles_putAttribute({"name":"header", "value":"/velocity/header.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"body", "value":"/velocity/putattributeslayout.vm", "type":"velocity"})#end
+  #tiles_putAttribute({"name":"stringTest", "value":"This is a string", "type":"string", "cascade":true})#end
+  #tiles_putListAttribute({"name":"list", "cascade":true})
+    #tiles_addAttribute({"value":"valueOne", "type":"string"})#end
+    #tiles_addAttribute({"value":"valueTwo", "type":"string"})#end
+    #tiles_addAttribute({"value":"valueThree", "type":"string"})#end
+  #end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_inherit.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_inherit.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_inherit.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testputlist_inherit.vm Tue Jan 19 20:04:59 2010
@@ -19,8 +19,8 @@
  * under the License.
  *
  *#
-$tiles.insertDefinition().start({"name":"velocity.test.putAttributes"})
-  $tiles.putListAttribute().start({"name":"list", "inherit":true})
-    $tiles.addAttribute({"value":"valueFour", "type":"string"})
-  $tiles.putListAttribute().end()
-$tiles.insertDefinition().end()
+#tiles_insertDefinition({"name":"velocity.test.putAttributes"})
+  #tiles_putListAttribute({"name":"list", "inherit":true})
+    #tiles_addAttribute({"value":"valueFour", "type":"string"})#end
+  #end
+#end

Modified: tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testsetcurrentcontainer.vm
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testsetcurrentcontainer.vm?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testsetcurrentcontainer.vm (original)
+++ tiles/framework/trunk/tiles-test-pom/tiles-test/src/main/webapp/velocity/testsetcurrentcontainer.vm Tue Jan 19 20:04:59 2010
@@ -20,6 +20,6 @@
  *
  *#
 $tiles.setCurrentContainer("alternate")
-$tiles.insertDefinition({"name":"velocity.test.definition"})
+#tiles_insertDefinition({"name":"velocity.test.definition"})#end
 $tiles.setCurrentContainer(null)
-$tiles.insertDefinition({"name":"velocity.test.definition"})
+#tiles_insertDefinition({"name":"velocity.test.definition"})#end

Modified: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityUtil.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityUtil.java?rev=900938&r1=900937&r2=900938&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityUtil.java (original)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityUtil.java Tue Jan 19 20:04:59 2010
@@ -22,6 +22,7 @@
 package org.apache.tiles.velocity.context;
 
 import java.io.IOException;
+import java.io.StringWriter;
 import java.io.Writer;
 import java.util.Map;
 
@@ -32,6 +33,9 @@
 import org.apache.velocity.context.Context;
 import org.apache.velocity.context.InternalContextAdapter;
 import org.apache.velocity.runtime.Renderable;
+import org.apache.velocity.runtime.parser.node.ASTBlock;
+import org.apache.velocity.runtime.parser.node.ASTMap;
+import org.apache.velocity.runtime.parser.node.Node;
 
 /**
  * Utilities for Velocity usage in Tiles.
@@ -135,4 +139,34 @@
             servletContext.setAttribute(name, obj);
         }
     }
+
+    public static String getBodyAsString(InternalContextAdapter context, Node node)
+            throws IOException {
+        ASTBlock block = (ASTBlock) node.jjtGetChild(1);
+        StringWriter stringWriter = new StringWriter();
+        block.render(context, stringWriter);
+        stringWriter.close();
+        String body = stringWriter.toString();
+        if (body != null) {
+            body = body.replaceAll("^\\s*|\\s*$", "");
+            if (body.length() <= 0) {
+                body = null;
+            }
+        }
+        return body;
+    }
+
+    public static void evaluateBody(InternalContextAdapter context, Writer writer,
+            Node node) throws IOException {
+        ASTBlock block = (ASTBlock) node.jjtGetChild(1);
+        block.render(context, writer);
+    }
+
+    public static Map<String, Object> getParameters(InternalContextAdapter context,
+            Node node) {
+        ASTMap astMap = (ASTMap) node.jjtGetChild(0);
+        Map<String, Object> params = (Map<String, Object>) astMap
+                .value(context);
+        return params;
+    }
 }

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,48 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.ArrayStack;
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.AddAttributeModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
+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.parser.node.Node;
+import org.apache.velocity.tools.view.ViewContext;
+
+public class AddAttributeDirective extends BodyBlockDirective {
+
+    private AddAttributeModel model = new AddAttributeModel();
+
+    @Override
+    public String getName() {
+        return "tiles_addAttribute";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, String body,
+            HttpServletRequest request, HttpServletResponse response,
+            ServletContext servletContext) throws IOException {
+        model.end(ServletUtil.getComposeStack(request), params.get("value"), (String) params
+                .get("expression"), body, (String) params.get("role"),
+                (String) params.get("type"));
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request));
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddAttributeDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,46 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.ArrayStack;
+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.InternalContextAdapter;
+import org.apache.velocity.exception.MethodInvocationException;
+import org.apache.velocity.exception.ParseErrorException;
+import org.apache.velocity.exception.ResourceNotFoundException;
+import org.apache.velocity.runtime.parser.node.Node;
+import org.apache.velocity.tools.view.ViewContext;
+
+public class AddListAttributeDirective extends BlockDirective {
+
+    private AddListAttributeModel model = new AddListAttributeModel();
+
+    @Override
+    public String getName() {
+        return "tiles_addListAttribute";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end(ServletUtil.getComposeStack(request));
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request), (String) params.get("role"));
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/AddListAttributeDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BlockDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BlockDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BlockDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BlockDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,55 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.velocity.context.VelocityUtil;
+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.directive.Directive;
+import org.apache.velocity.runtime.parser.node.Node;
+import org.apache.velocity.tools.view.ViewContext;
+
+public abstract class BlockDirective extends Directive {
+
+    /** {@inheritDoc} */
+
+    @Override
+    public int getType() {
+        return BLOCK;
+    }
+
+    /** {@inheritDoc} */
+
+    @Override
+    public boolean render(InternalContextAdapter context, Writer writer, Node node)
+            throws IOException, ResourceNotFoundException, ParseErrorException,
+            MethodInvocationException {
+        ViewContext viewContext = (ViewContext) context
+                .getInternalUserContext();
+        Map<String, Object> params = VelocityUtil.getParameters(context, node);
+        HttpServletRequest request = viewContext.getRequest();
+        HttpServletResponse response = viewContext.getResponse();
+        ServletContext servletContext = viewContext.getServletContext();
+        start(context, writer, params, request, response, servletContext);
+        VelocityUtil.evaluateBody(context, writer, node);
+        end(context, writer, params, request, response, servletContext);
+        return true;
+    }
+
+    public abstract void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext);
+
+    public abstract void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException;
+}
\ No newline at end of file

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BlockDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BlockDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyBlockDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyBlockDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyBlockDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyBlockDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,55 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.velocity.context.VelocityUtil;
+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.directive.Directive;
+import org.apache.velocity.runtime.parser.node.Node;
+import org.apache.velocity.tools.view.ViewContext;
+
+public abstract class BodyBlockDirective extends Directive {
+
+    /** {@inheritDoc} */
+
+    @Override
+    public int getType() {
+        return BLOCK;
+    }
+
+    /** {@inheritDoc} */
+
+    @Override
+    public boolean render(InternalContextAdapter context, Writer writer, Node node)
+            throws IOException, ResourceNotFoundException, ParseErrorException,
+            MethodInvocationException {
+        ViewContext viewContext = (ViewContext) context
+                .getInternalUserContext();
+        Map<String, Object> params = VelocityUtil.getParameters(context, node);
+        HttpServletRequest request = viewContext.getRequest();
+        HttpServletResponse response = viewContext.getResponse();
+        ServletContext servletContext = viewContext.getServletContext();
+        start(context, null, params, request, response, servletContext);
+        String body = VelocityUtil.getBodyAsString(context, node);
+        end(context, writer, params, body, request, response, servletContext);
+        return true;
+    }
+
+    public abstract void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext);
+
+    public abstract void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, String body,
+            HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)
+            throws IOException;
+}
\ No newline at end of file

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyBlockDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/BodyBlockDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,44 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.mgmt.MutableTilesContainer;
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.DefinitionModel;
+import org.apache.velocity.context.InternalContextAdapter;
+
+public class DefinitionDirective extends BlockDirective {
+
+    private DefinitionModel model = new DefinitionModel();
+
+    @Override
+    public String getName() {
+        return "tiles_definition";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end((MutableTilesContainer) ServletUtil.getCurrentContainer(
+                request, servletContext), ServletUtil.getComposeStack(request), context, request,
+                response);
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request), (String) params.get("name"), (String) params
+                .get("template"), (String) params.get("role"), (String) params
+                .get("extends"), (String) params.get("preparer"));
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/DefinitionDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,62 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.ArrayStack;
+import org.apache.tiles.Attribute;
+import org.apache.tiles.TilesContainer;
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.DefaultAttributeResolver;
+import org.apache.tiles.template.GetAsStringModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
+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.directive.Directive;
+import org.apache.velocity.runtime.parser.node.Node;
+import org.apache.velocity.tools.view.ViewContext;
+
+public class GetAsStringDirective extends BlockDirective {
+
+    private GetAsStringModel model = new GetAsStringModel(
+            new DefaultAttributeResolver());
+
+    @Override
+    public String getName() {
+        return "tiles_getAsString";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end(ServletUtil.getComposeStack(request), ServletUtil
+                .getCurrentContainer(request, servletContext), writer,
+                VelocityUtil.toSimpleBoolean((Boolean) params.get("ignore"),
+                        false), context, request, response, writer);
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request), ServletUtil
+                .getCurrentContainer(request, servletContext), VelocityUtil
+                .toSimpleBoolean((Boolean) params.get("ignore"), false),
+                (String) params.get("preparer"), (String) params.get("role"),
+                params.get("defaultValue"), (String) params
+                        .get("defaultValueRole"), (String) params
+                        .get("defaultValueType"), (String) params.get("name"),
+                (Attribute) params.get("value"), context, request, response,
+                writer);
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/GetAsStringDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,63 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.ArrayStack;
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.ImportAttributeModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
+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.directive.Directive;
+import org.apache.velocity.runtime.parser.node.Node;
+import org.apache.velocity.tools.view.ViewContext;
+
+public class ImportAttributeDirective extends Directive {
+
+    private ImportAttributeModel model = new ImportAttributeModel();
+
+    @Override
+    public String getName() {
+        return "tiles_importAttribute";
+    }
+
+    @Override
+    public int getType() {
+        return LINE;
+    }
+
+    @Override
+    public boolean render(InternalContextAdapter context, Writer writer, Node node)
+            throws IOException, ResourceNotFoundException, ParseErrorException,
+            MethodInvocationException {
+        ViewContext viewContext = (ViewContext) context
+                .getInternalUserContext();
+        Map<String, Object> params = VelocityUtil.getParameters(context, node);
+        HttpServletRequest request = viewContext.getRequest();
+        HttpServletResponse response = viewContext.getResponse();
+        ServletContext servletContext = viewContext.getServletContext();
+        Map<String, Object> attributes = model.getImportedAttributes(
+                ServletUtil
+                        .getCurrentContainer(request, servletContext),
+                (String) params.get("name"), (String) params
+                        .get("toName"), VelocityUtil.toSimpleBoolean(
+                        (Boolean) params.get("ignore"), false),
+                context, request, response);
+        String scope = (String) params.get("scope");
+        for (Map.Entry<String, Object> entry : attributes.entrySet()) {
+            VelocityUtil.setAttribute(context, request,
+                    servletContext, entry.getKey(), entry.getValue(),
+                    scope);
+        }
+        return true;
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,51 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.Attribute;
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.DefaultAttributeResolver;
+import org.apache.tiles.template.InsertAttributeModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
+import org.apache.velocity.context.InternalContextAdapter;
+
+public class InsertAttributeDirective extends BlockDirective {
+
+    private InsertAttributeModel model = new InsertAttributeModel(
+            new DefaultAttributeResolver());
+
+    @Override
+    public String getName() {
+        return "tiles_insertAttribute";
+    }
+
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end(ServletUtil.getComposeStack(request), ServletUtil.getCurrentContainer(request,
+                servletContext), VelocityUtil.toSimpleBoolean((Boolean) params
+                        .get("ignore"), false), context, request, response,
+                writer);
+    }
+
+    public void start(InternalContextAdapter context,
+            Writer writer, Map<String, Object> params,
+            HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request), ServletUtil.getCurrentContainer(request,
+                servletContext), VelocityUtil.toSimpleBoolean((Boolean) params
+                        .get("ignore"), false), (String) params
+                .get("preparer"), (String) params.get("role"), params
+                .get("defaultValue"), (String) params.get("defaultValueRole"),
+                (String) params.get("defaultValueType"), (String) params
+                        .get("name"), (Attribute) params.get("value"), context,
+                request, response);
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertAttributeDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,45 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.InsertDefinitionModel;
+import org.apache.velocity.context.InternalContextAdapter;
+
+public class InsertDefinitionDirective extends BlockDirective {
+
+    private InsertDefinitionModel model = new InsertDefinitionModel();
+
+    @Override
+    public String getName() {
+        return "tiles_insertDefinition";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end(ServletUtil.getCurrentContainer(request,
+                servletContext), (String) params.get("name"), (String) params
+                .get("template"), (String) params.get("templateType"),
+                (String) params.get("templateExpression"), (String) params
+                        .get("role"), (String) params.get("preparer"), context,
+                request, response, writer);
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getCurrentContainer(request,
+                servletContext), context, request, response);
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertDefinitionDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,45 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.InsertTemplateModel;
+import org.apache.velocity.context.InternalContextAdapter;
+
+public class InsertTemplateDirective extends BlockDirective {
+
+    private InsertTemplateModel model = new InsertTemplateModel();
+
+    @Override
+    public String getName() {
+        return "tiles_insertTemplate";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end(ServletUtil.getCurrentContainer(request, servletContext),
+                (String) params.get("template"), (String) params
+                        .get("templateType"), (String) params
+                        .get("templateExpression"),
+                (String) params.get("role"), (String) params.get("preparer"),
+                context, request, response, writer);
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getCurrentContainer(request, servletContext),
+                context, request, response);
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/InsertTemplateDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,45 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.PutAttributeModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
+import org.apache.velocity.context.InternalContextAdapter;
+
+public class PutAttributeDirective extends BodyBlockDirective {
+
+    private PutAttributeModel model = new PutAttributeModel();
+
+    @Override
+    public String getName() {
+        return "tiles_putAttribute";
+    }
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, String body,
+            HttpServletRequest request, HttpServletResponse response,
+            ServletContext servletContext) throws IOException {
+        model.end(ServletUtil.getCurrentContainer(request, servletContext),
+                ServletUtil.getComposeStack(request), (String) params.get("name"), params.get("value"),
+                (String) params.get("expression"), body, (String) params
+                        .get("role"), (String) params.get("type"), VelocityUtil
+                        .toSimpleBoolean((Boolean) params.get("cascade"), false),
+                context, request, response, writer);
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request));
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutAttributeDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeDirective.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeDirective.java?rev=900938&view=auto
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeDirective.java (added)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeDirective.java Tue Jan 19 20:04:59 2010
@@ -0,0 +1,46 @@
+package org.apache.tiles.velocity.template;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.tiles.servlet.context.ServletUtil;
+import org.apache.tiles.template.PutListAttributeModel;
+import org.apache.tiles.velocity.context.VelocityUtil;
+import org.apache.velocity.context.InternalContextAdapter;
+
+public class PutListAttributeDirective extends BlockDirective {
+
+    private PutListAttributeModel model = new PutListAttributeModel();
+
+    @Override
+    public void end(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext)
+            throws IOException {
+        model.end(ServletUtil.getCurrentContainer(request, servletContext),
+                ServletUtil.getComposeStack(request), (String) params
+                        .get("name"), VelocityUtil.toSimpleBoolean(
+                        (Boolean) params.get("cascade"), false),
+                context, request, response);
+    }
+
+    @Override
+    public void start(InternalContextAdapter context, Writer writer,
+            Map<String, Object> params, HttpServletRequest request,
+            HttpServletResponse response, ServletContext servletContext) {
+        model.start(ServletUtil.getComposeStack(request), (String) params
+                .get("role"), VelocityUtil.toSimpleBoolean((Boolean) params
+                .get("inherit"), false));
+    }
+
+    @Override
+    public String getName() {
+        return "tiles_putListAttribute";
+    }
+
+}

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeDirective.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/PutListAttributeDirective.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL