You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by nl...@apache.org on 2012/07/11 20:07:01 UTC

svn commit: r1360333 - in /tiles/request/trunk: ./ tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/ tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/ tiles-request-jsp/src/main/java/o...

Author: nlebas
Date: Wed Jul 11 18:07:00 2012
New Revision: 1360333

URL: http://svn.apache.org/viewvc?rev=1360333&view=rev
Log:
update to autotag 1.1

Modified:
    tiles/request/trunk/pom.xml
    tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntime.java
    tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtil.java
    tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntimeTest.java
    tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtilTest.java
    tiles/request/trunk/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntime.java
    tiles/request/trunk/tiles-request-jsp/src/test/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntimeTest.java
    tiles/request/trunk/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntime.java
    tiles/request/trunk/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntimeTest.java

Modified: tiles/request/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tiles/request/trunk/pom.xml?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/pom.xml (original)
+++ tiles/request/trunk/pom.xml Wed Jul 11 18:07:00 2012
@@ -163,7 +163,7 @@ under the License.
             <dependency>
                 <groupId>org.apache.tiles</groupId>
                 <artifactId>tiles-autotag-core-runtime</artifactId>
-                <version>1.0.0</version>
+                <version>1.1-SNAPSHOT</version>
                 <optional>true</optional>
             </dependency>
             <dependency>

Modified: tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntime.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntime.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntime.java (original)
+++ tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntime.java Wed Jul 11 18:07:00 2012
@@ -36,7 +36,7 @@ import freemarker.template.TemplateModel
 /**
  * A Runtime for implementing a Freemarker Template Directive.   
  */
-public class FreemarkerAutotagRuntime implements AutotagRuntime, TemplateDirectiveModel {
+public class FreemarkerAutotagRuntime implements AutotagRuntime<Request>, TemplateDirectiveModel {
 
     private Environment env;
     private TemplateDirectiveBody body;
@@ -65,7 +65,7 @@ public class FreemarkerAutotagRuntime im
     
     /** {@inheritDoc} */
     @Override
-    public Object getParameter(String name, Object defaultValue) {
-        return FreemarkerUtil.getAsObject((TemplateModel)params.get(name), defaultValue);
+    public <T> T getParameter(String name, Class<T> type, T defaultValue) {
+        return FreemarkerUtil.getAsObject((TemplateModel)params.get(name), type, defaultValue);
     }
 }

Modified: tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtil.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtil.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtil.java (original)
+++ tiles/request/trunk/tiles-request-freemarker/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtil.java Wed Jul 11 18:07:00 2012
@@ -46,11 +46,12 @@ public final class FreemarkerUtil {
      * model, or null if not specified.
      * @return The unwrapped object.
      */
-    public static Object getAsObject(TemplateModel model, Object defaultValue) {
+    public static <T> T getAsObject(TemplateModel model, Class<T> type, T defaultValue) {
         try {
-            Object retValue = defaultValue;
+            T retValue = defaultValue;
             if (model != null) {
-                Object value = DeepUnwrap.unwrap(model);
+                @SuppressWarnings("unchecked")
+                T value = (T) DeepUnwrap.unwrap(model);
                 if (value != null) {
                     retValue = value;
                 }

Modified: tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntimeTest.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntimeTest.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntimeTest.java (original)
+++ tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagRuntimeTest.java Wed Jul 11 18:07:00 2012
@@ -147,10 +147,10 @@ public class FreemarkerAutotagRuntimeTes
         replay(model, params, body);
         FreemarkerAutotagRuntime runtime = new FreemarkerAutotagRuntime();
         runtime.execute(env, params, new TemplateModel[0], body);
-        Object notnullParam = runtime.getParameter("notnullParam", null);
-        Object nullParam = runtime.getParameter("nullParam", null);
-        Object notnullParamDefault = runtime.getParameter("notnullParam", new Integer(24));
-        Object nullParamDefault = runtime.getParameter("nullParam", new Integer(24));
+        Object notnullParam = runtime.getParameter("notnullParam", Object.class, null);
+        Object nullParam = runtime.getParameter("nullParam", Object.class, null);
+        int notnullParamDefault = runtime.getParameter("notnullParam", Integer.class, new Integer(24));
+        int nullParamDefault = runtime.getParameter("nullParam", Integer.class, new Integer(24));
         assertEquals(42, notnullParam);
         assertEquals(null, nullParam);
         assertEquals(42, notnullParamDefault);

Modified: tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtilTest.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtilTest.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtilTest.java (original)
+++ tiles/request/trunk/tiles-request-freemarker/src/test/java/org/apache/tiles/request/freemarker/autotag/FreemarkerUtilTest.java Wed Jul 11 18:07:00 2012
@@ -62,7 +62,7 @@ public class FreemarkerUtilTest {
         new Environment(template, rootDataModel, out);
 
         replay(model);
-        assertEquals(new Integer(42), FreemarkerUtil.getAsObject(model, new Integer(1)));
+        assertEquals(new Integer(42), FreemarkerUtil.getAsObject(model, Integer.class, new Integer(1)));
         verify(template, rootDataModel, out, model);
     }
 
@@ -81,7 +81,7 @@ public class FreemarkerUtilTest {
         replay(template, rootDataModel, out);
         new Environment(template, rootDataModel, out);
 
-        assertEquals(new Integer(1), FreemarkerUtil.getAsObject(null, new Integer(1)));
+        assertEquals(new Integer(1), FreemarkerUtil.getAsObject(null, Integer.class, new Integer(1)));
         verify(template, rootDataModel, out);
     }
 
@@ -104,7 +104,7 @@ public class FreemarkerUtilTest {
 
         replay(model);
         try {
-            assertEquals(new Integer(42), FreemarkerUtil.getAsObject(model, new Integer(1)));
+            assertEquals(new Integer(42), FreemarkerUtil.getAsObject(model, Integer.class, new Integer(1)));
         } finally {
             verify(template, rootDataModel, out, model);
         }

Modified: tiles/request/trunk/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntime.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntime.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntime.java (original)
+++ tiles/request/trunk/tiles-request-jsp/src/main/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntime.java Wed Jul 11 18:07:00 2012
@@ -31,7 +31,7 @@ import org.apache.tiles.request.jsp.JspR
 /**
  * A Runtime for implementing JSP tag libraries.
  */
-public class JspAutotagRuntime extends SimpleTagSupport implements AutotagRuntime {
+public class JspAutotagRuntime extends SimpleTagSupport implements AutotagRuntime<Request> {
     /** {@inheritDoc} */
     @Override
     public void doTag() {
@@ -55,7 +55,7 @@ public class JspAutotagRuntime extends S
 
     /** {@inheritDoc} */
     @Override
-    public Object getParameter(String name, Object defaultValue) {
+    public <T> T getParameter(String name, Class<T> type, T defaultValue) {
         throw new UnsupportedOperationException("the parameters are injected into the tag itself, no need to fetch them");
     }
 }

Modified: tiles/request/trunk/tiles-request-jsp/src/test/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntimeTest.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-jsp/src/test/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntimeTest.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-jsp/src/test/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntimeTest.java (original)
+++ tiles/request/trunk/tiles-request-jsp/src/test/java/org/apache/tiles/request/jsp/autotag/JspAutotagRuntimeTest.java Wed Jul 11 18:07:00 2012
@@ -94,7 +94,7 @@ public class JspAutotagRuntimeTest {
         runtime.setJspContext(jspContext);
         runtime.setParent(parent);
         runtime.doTag();
-        runtime.getParameter("test", null);
+        runtime.getParameter("test", Object.class, null);
         verify(jspBody, jspContext, parent);
     }
 }

Modified: tiles/request/trunk/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntime.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntime.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntime.java (original)
+++ tiles/request/trunk/tiles-request-velocity/src/main/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntime.java Wed Jul 11 18:07:00 2012
@@ -40,7 +40,7 @@ import org.apache.velocity.tools.view.Vi
 /**
  * A Runtime for implementing Velocity Directives.
  */
-public class VelocityAutotagRuntime extends Directive implements AutotagRuntime {
+public class VelocityAutotagRuntime extends Directive implements AutotagRuntime<Request> {
     private InternalContextAdapter context;
     private Writer                 writer;
     private Node                   node;
@@ -70,12 +70,12 @@ public class VelocityAutotagRuntime exte
     /** {@inheritDoc} */
     @Override
     @SuppressWarnings("unchecked")
-    public Object getParameter(String name, Object defaultValue) {
+    public <T> T getParameter(String name, Class<T> type, T defaultValue) {
         if (params == null) {
             ASTMap astMap = (ASTMap) node.jjtGetChild(0);
             params = (Map<String, Object>) astMap.value(context);
         }
-        Object result = params.get(name);
+        T result = (T) params.get(name);
         if (result == null) {
             result = defaultValue;
         }

Modified: tiles/request/trunk/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntimeTest.java
URL: http://svn.apache.org/viewvc/tiles/request/trunk/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntimeTest.java?rev=1360333&r1=1360332&r2=1360333&view=diff
==============================================================================
--- tiles/request/trunk/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntimeTest.java (original)
+++ tiles/request/trunk/tiles-request-velocity/src/test/java/org/apache/tiles/request/velocity/autotag/VelocityAutotagRuntimeTest.java Wed Jul 11 18:07:00 2012
@@ -97,10 +97,10 @@ public class VelocityAutotagRuntimeTest 
         replay(context, writer, node, astMap, params);
         VelocityAutotagRuntime runtime = new VelocityAutotagRuntime();
         runtime.render(context, writer, node);
-        Object notnullParam = runtime.getParameter("notnullParam", null);
-        Object nullParam = runtime.getParameter("nullParam", null);
-        Object notnullParamDefault = runtime.getParameter("notnullParam", new Integer(24));
-        Object nullParamDefault = runtime.getParameter("nullParam", new Integer(24));
+        Object notnullParam = runtime.getParameter("notnullParam", Object.class, null);
+        Object nullParam = runtime.getParameter("nullParam", Object.class, null);
+        int notnullParamDefault = runtime.getParameter("notnullParam", Integer.class, new Integer(24));
+        int nullParamDefault = runtime.getParameter("nullParam", Integer.class, new Integer(24));
         assertEquals(42, notnullParam);
         assertEquals(null, nullParam);
         assertEquals(42, notnullParamDefault);