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/14 13:15:15 UTC

svn commit: r753642 - in /tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity: context/VelocityUtil.java template/ImportAttributeVModel.java template/Tiles2Tool.java

Author: apetrelli
Date: Sat Mar 14 12:15:15 2009
New Revision: 753642

URL: http://svn.apache.org/viewvc?rev=753642&view=rev
Log:
TILES-377
Using a renderable to access to the Velocity context connected to the current template.

Modified:
    tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/context/VelocityUtil.java
    tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java
    tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java

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=753642&r1=753641&r2=753642&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 Sat Mar 14 12:15:15 2009
@@ -60,7 +60,7 @@
             HttpServletRequest request, ServletContext servletContext,
             String name, Object obj, String scope) {
         if (scope == null) {
-            scope = "request"; // FIXME Use "page"
+            scope = "page";
         }
         if ("page".equals(scope)) {
             velocityContext.put(name, obj);

Modified: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java?rev=753642&r1=753641&r2=753642&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java (original)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/ImportAttributeVModel.java Sat Mar 14 12:15:15 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,6 +12,10 @@
 import org.apache.tiles.template.ImportAttributeModel;
 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 ImportAttributeVModel implements Executable {
@@ -27,17 +33,29 @@
     public Renderable execute(HttpServletRequest request,
             HttpServletResponse response, Context velocityContext,
             Map<String, Object> params) {
-        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), velocityContext, request, response);
-        String scope = (String) params.get("scope");
-        for (Map.Entry<String, Object> entry : attributes.entrySet()) {
-            VelocityUtil.setAttribute(velocityContext, request, servletContext,
-                    entry.getKey(), entry.getValue(), scope);
-        }
-        return VelocityUtil.EMPTY_RENDERABLE;
+        return new AbstractDefaultToStringRenderable(velocityContext, params,
+                response, request) {
+
+            public boolean render(InternalContextAdapter context, Writer writer)
+                    throws IOException, MethodInvocationException,
+                    ParseErrorException, ResourceNotFoundException {
+                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),
+                        velocityContext, 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;
+            }
+        };
     }
 
 }

Modified: tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java?rev=753642&r1=753641&r2=753642&view=diff
==============================================================================
--- tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java (original)
+++ tiles/framework/trunk/tiles-velocity/src/main/java/org/apache/tiles/velocity/template/Tiles2Tool.java Sat Mar 14 12:15:15 2009
@@ -42,6 +42,10 @@
     
     private TilesVelocityRepository repository;
     
+    public Tiles2Tool() {
+        System.out.println("Hello");
+    }
+    
     public Tiles2Tool addAttribute(Map<String, Object> params) {
         execute(getRepository().getAddAttribute(), params);
         return this;
@@ -91,9 +95,8 @@
         return this;
     }
     
-    public Tiles2Tool importAttribute(Map<String, Object> params) {
-        execute(getRepository().getImportAttribute(), params);
-        return this;
+    public Renderable importAttribute(Map<String, Object> params) {
+        return execute(getRepository().getImportAttribute(), params);
     }
     
     public Renderable insertAttribute(Map<String, Object> params) {