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) {