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/06/13 19:18:53 UTC

svn commit: r1349964 [1/2] - in /tiles/autotag/trunk: ./ maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/ maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/ maven-autotag-plugin/src/test/java/org/apache/tiles/autotag...

Author: nlebas
Date: Wed Jun 13 17:18:51 2012
New Revision: 1349964

URL: http://svn.apache.org/viewvc?rev=1349964&view=rev
Log:
AUTOTAG-16: use generics to remove the dependency on tiles-request-api,
remove the need for casting in generated classes

Added:
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleRequest.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleRequest.java
Modified:
    tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojo.java
    tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojo.java
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojoTest.java
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojoTest.java
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/AnnotatedExampleModel.java
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExcluded.java
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExecutableModel.java
    tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleModel.java
    tiles/autotag/trunk/pom.xml
    tiles/autotag/trunk/tiles-autotag-core-runtime/pom.xml
    tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AutotagRuntime.java
    tiles/autotag/trunk/tiles-autotag-core/pom.xml
    tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java
    tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGenerator.java
    tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/BasicTemplateGenerator.java
    tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateClassGenerator.java
    tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateGenerator.java
    tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/AnnotatedExampleModel.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExcluded.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExecutableModel.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleModel.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateParameterTest.java
    tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java
    tiles/autotag/trunk/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm
    tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat
    tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat
    tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java
    tiles/autotag/trunk/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/bodyTag.vm
    tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-jsp/src/test/resources/org/apache/tiles/autotag/jsp/test/DoStuffNoBodyTag.java
    tiles/autotag/trunk/tiles-autotag-jsp/src/test/resources/org/apache/tiles/autotag/jsp/test/DoStuffTag.java
    tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java
    tiles/autotag/trunk/tiles-autotag-velocity/src/main/resources/org/apache/tiles/autotag/velocity/velocityDirective.vm
    tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java
    tiles/autotag/trunk/tiles-autotag-velocity/src/test/resources/org/apache/tiles/autotag/velocity/test/DoStuffDirective.javat
    tiles/autotag/trunk/tiles-autotag-velocity/src/test/resources/org/apache/tiles/autotag/velocity/test/DoStuffNoBodyDirective.javat

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojo.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojo.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojo.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojo.java Wed Jun 13 17:18:51 2012
@@ -79,6 +79,13 @@ public abstract class AbstractGenerateMo
     File resourcesOutputDirectory;
 
     /**
+     * Name of the request class.
+     * @parameter expression="org.apache.tiles.request.Request"
+     * @required
+     */
+    String requestClass;
+
+    /**
      * Name of the package.
      * @parameter expression="sample"
      * @required
@@ -106,7 +113,7 @@ public abstract class AbstractGenerateMo
             propsStream.close();
             TemplateGenerator generator = createTemplateGeneratorFactory(
                     new VelocityEngine(props)).createTemplateGenerator();
-            generator.generate(packageName, suite, getParameters(), getRuntimeClass());
+            generator.generate(packageName, suite, getParameters(), getRuntimeClass(), requestClass);
             if (generator.isGeneratingResources()) {
                 Resource resource = new Resource();
                 resource.setDirectory(resourcesOutputDirectory.getAbsolutePath());

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojo.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojo.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojo.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojo.java Wed Jun 13 17:18:51 2012
@@ -107,6 +107,13 @@ public class CreateDescriptorMojo extend
     Set<String> excludes;
 
     /**
+     * Name of the request class.
+     * @parameter expression="org.apache.tiles.request.Request"
+     * @required
+     */
+    String requestClass;
+
+    /**
      * @parameter expression="${project}"
      * @required
      * @readonly
@@ -123,6 +130,7 @@ public class CreateDescriptorMojo extend
             QDoxTemplateSuiteFactory factory = new QDoxTemplateSuiteFactory(filesSet.toArray(files));
             factory.setSuiteName(name);
             factory.setSuiteDocumentation(documentation);
+            factory.setRequestClass(requestClass);
             TemplateSuite suite = factory.createTemplateSuite();
             XStream xstream = new XStream();
             File dir = new File(outputDirectory, "META-INF");

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojoTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojoTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojoTest.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/AbstractGenerateMojoTest.java Wed Jun 13 17:18:51 2012
@@ -73,12 +73,13 @@ public class AbstractGenerateMojoTest {
         mojo.classesOutputDirectory = classesOutputDirectory;
         mojo.packageName = "my.package";
         mojo.project = mavenProject;
+        mojo.requestClass = "my.package.Request";
 
         expect(mojo.createTemplateGeneratorFactory(isA(VelocityEngine.class))).andReturn(factory);
         expect(factory.createTemplateGenerator()).andReturn(generator);
         expect(mojo.getParameters()).andReturn(params);
         expect(mojo.getRuntimeClass()).andReturn("my.package.Runtime");
-        generator.generate(eq("my.package"), isA(TemplateSuite.class), eq(params), eq("my.package.Runtime"));
+        generator.generate(eq("my.package"), isA(TemplateSuite.class), eq(params), eq("my.package.Runtime"), eq("my.package.Request"));
         expect(generator.isGeneratingClasses()).andReturn(true);
         expect(generator.isGeneratingResources()).andReturn(true);
         mavenProject.addResource(isA(Resource.class));

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojoTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojoTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojoTest.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/CreateDescriptorMojoTest.java Wed Jun 13 17:18:51 2012
@@ -42,8 +42,8 @@ import org.apache.tiles.autotag.model.Te
 import org.apache.tiles.autotag.plugin.internal.AnnotatedExampleModel;
 import org.apache.tiles.autotag.plugin.internal.ExampleExecutableModel;
 import org.apache.tiles.autotag.plugin.internal.ExampleModel;
+import org.apache.tiles.autotag.plugin.internal.ExampleRequest;
 import org.apache.tiles.autotag.plugin.internal.NotFeasibleExampleModel;
-import org.apache.tiles.request.Request;
 import org.junit.Test;
 
 import com.thoughtworks.xstream.XStream;
@@ -74,6 +74,7 @@ public class CreateDescriptorMojoTest {
         mojo.name = "test";
         mojo.documentation = "This are the docs";
         mojo.project = mavenProject;
+        mojo.requestClass = ExampleRequest.class.getName();
 
         mavenProject.addResource(isA(Resource.class));
 
@@ -109,7 +110,7 @@ public class CreateDescriptorMojoTest {
         assertEquals("Parameter two.", parameter.getDocumentation());
         parameter = parameters.get(2);
         assertEquals("request", parameter.getName());
-        assertEquals(Request.class.getName(), parameter.getType());
+        assertEquals(ExampleRequest.class.getName(), parameter.getType());
         assertEquals("The request.", parameter.getDocumentation());
         parameter = parameters.get(3);
         assertEquals("modelBody", parameter.getName());
@@ -152,7 +153,7 @@ public class CreateDescriptorMojoTest {
         assertEquals("Parameter two.", parameter.getDocumentation());
         parameter = parameters.get(2);
         assertEquals("request", parameter.getName());
-        assertEquals(Request.class.getName(), parameter.getType());
+        assertEquals(ExampleRequest.class.getName(), parameter.getType());
         assertEquals("The request.", parameter.getDocumentation());
 
         assertNull(suite.getTemplateClassByName(NotFeasibleExampleModel.class.getName()));

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/AnnotatedExampleModel.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/AnnotatedExampleModel.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/AnnotatedExampleModel.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/AnnotatedExampleModel.java Wed Jun 13 17:18:51 2012
@@ -22,7 +22,6 @@ package org.apache.tiles.autotag.plugin.
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.core.runtime.annotation.Parameter;
-import org.apache.tiles.request.Request;
 
 /**
  * Example start/stop template.
@@ -41,7 +40,7 @@ public class AnnotatedExampleModel {
      */
     public void execute(
             @Parameter(defaultValue = "hello", name = "alternateOne", required = true) String one,
-            int two, Request request, ModelBody modelBody) {
+            int two, ExampleRequest request, ModelBody modelBody) {
         // Does nothing.
     }
 }

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExcluded.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExcluded.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExcluded.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExcluded.java Wed Jun 13 17:18:51 2012
@@ -21,7 +21,6 @@
 package org.apache.tiles.autotag.plugin.internal;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.Request;
 
 /**
  * Example start/stop template.
@@ -38,7 +37,7 @@ public class ExampleExcluded {
      * @param request The request.
      * @param modelBody The model body.
      */
-    public void execute(String one, int two, Request request, ModelBody modelBody) {
+    public void execute(String one, int two, ExampleRequest request, ModelBody modelBody) {
         // Does nothing.
     }
 }

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExecutableModel.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExecutableModel.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExecutableModel.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleExecutableModel.java Wed Jun 13 17:18:51 2012
@@ -20,8 +20,6 @@
  */
 package org.apache.tiles.autotag.plugin.internal;
 
-import org.apache.tiles.request.Request;
-
 /**
  * Example executable template.
  *
@@ -36,7 +34,7 @@ public class ExampleExecutableModel {
      * @param two Parameter two.
      * @param request The request.
      */
-    public void execute(String one, int two, Request request) {
+    public void execute(String one, int two, ExampleRequest request) {
         // Does nothing.
     }
 }

Modified: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleModel.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleModel.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleModel.java (original)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleModel.java Wed Jun 13 17:18:51 2012
@@ -21,7 +21,6 @@
 package org.apache.tiles.autotag.plugin.internal;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.Request;
 
 /**
  * Example start/stop template.
@@ -38,7 +37,7 @@ public class ExampleModel {
      * @param request The request.
      * @param modelBody The model body.
      */
-    public void execute(String one, int two, Request request, ModelBody modelBody) {
+    public void execute(String one, int two, ExampleRequest request, ModelBody modelBody) {
         // Does nothing.
     }
 }

Added: tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleRequest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleRequest.java?rev=1349964&view=auto
==============================================================================
--- tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleRequest.java (added)
+++ tiles/autotag/trunk/maven-autotag-plugin/src/test/java/org/apache/tiles/autotag/plugin/internal/ExampleRequest.java Wed Jun 13 17:18:51 2012
@@ -0,0 +1,5 @@
+package org.apache.tiles.autotag.plugin.internal;
+
+public class ExampleRequest {
+
+}

Modified: tiles/autotag/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/pom.xml?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/pom.xml (original)
+++ tiles/autotag/trunk/pom.xml Wed Jun 13 17:18:51 2012
@@ -72,11 +72,6 @@ under the License.
                 <version>1.10.1</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.tiles</groupId>
-                <artifactId>tiles-request-api</artifactId>
-                <version>1.0.0</version>
-            </dependency>
-            <dependency>
                 <groupId>org.easymock</groupId>
                 <artifactId>easymock</artifactId>
                 <version>3.0</version>

Modified: tiles/autotag/trunk/tiles-autotag-core-runtime/pom.xml
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core-runtime/pom.xml?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core-runtime/pom.xml (original)
+++ tiles/autotag/trunk/tiles-autotag-core-runtime/pom.xml Wed Jun 13 17:18:51 2012
@@ -113,10 +113,6 @@ under the License.
 
   <dependencies>
       <dependency>
-          <groupId>org.apache.tiles</groupId>
-          <artifactId>tiles-request-api</artifactId>
-      </dependency>
-      <dependency>
       	<groupId>junit</groupId>
       	<artifactId>junit</artifactId>
       	<scope>test</scope>

Modified: tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AutotagRuntime.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AutotagRuntime.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AutotagRuntime.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core-runtime/src/main/java/org/apache/tiles/autotag/core/runtime/AutotagRuntime.java Wed Jun 13 17:18:51 2012
@@ -20,21 +20,19 @@
  */
 package org.apache.tiles.autotag.core.runtime;
 
-import org.apache.tiles.request.Request;
-
 /**
  * Builder interface for creating requests.
  * The implementations are expected to provide a default constructor,
  * and to implement another interface that can be used to provide the 
  * parameters needed to build the actual request object.
  */
-public interface AutotagRuntime {
+public interface AutotagRuntime<R> {
     /**
      * Creates a new Request instance.
      * 
      * @return The Request.
      */
-    Request createRequest();
+    R createRequest();
     
     /**
      * Creates a new ModelBody instance to match the request.
@@ -49,5 +47,5 @@ public interface AutotagRuntime {
      * @param defaultValue The default value if none is specified.
      * @return The value of the parameter.
      */
-    Object getParameter(String name, Object defaultValue);
+    <T> T getParameter(String name, Class<T> type, T defaultValue);
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/pom.xml
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/pom.xml?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/pom.xml (original)
+++ tiles/autotag/trunk/tiles-autotag-core/pom.xml Wed Jun 13 17:18:51 2012
@@ -57,10 +57,6 @@ under the License.
 			<artifactId>qdox</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>org.apache.tiles</groupId>
-			<artifactId>tiles-request-api</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>org.easymock</groupId>
 			<artifactId>easymock</artifactId>
 			<scope>test</scope>

Modified: tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java Wed Jun 13 17:18:51 2012
@@ -33,7 +33,6 @@ import org.apache.tiles.autotag.model.Te
 import org.apache.tiles.autotag.model.TemplateParameter;
 import org.apache.tiles.autotag.model.TemplateSuite;
 import org.apache.tiles.autotag.model.TemplateSuiteFactory;
-import org.apache.tiles.request.Request;
 
 import com.thoughtworks.qdox.JavaDocBuilder;
 import com.thoughtworks.qdox.model.Annotation;
@@ -71,6 +70,11 @@ public class QDoxTemplateSuiteFactory im
     private String suiteDocumentation;
 
     /**
+     * The request class the suite.
+     */
+    private String requestClass;
+
+    /**
      * Constructor.
      *
      * @param sourceFiles All the source files to parse.
@@ -122,6 +126,15 @@ public class QDoxTemplateSuiteFactory im
         this.suiteDocumentation = suiteDocumentation;
     }
 
+    /**
+     * Sets the request class used by the suite.
+     *
+     * @param requestClass The request class name.
+     */
+    public void setRequestClass(String requestClass) {
+        this.requestClass = requestClass;
+    }
+
     @Override
     public TemplateSuite createTemplateSuite() {
         List<TemplateClass> classes = new ArrayList<TemplateClass>();
@@ -198,9 +211,11 @@ public class QDoxTemplateSuiteFactory im
                     }
                 }
             }
+            String parameterType = parameter.getType()
+                    .getFullyQualifiedName();
             TemplateParameter templateParameter = new TemplateParameter(
-                    parameter.getName(), exportedName, parameter.getType()
-                            .getFullyQualifiedName(), defaultValue, required);
+                    parameter.getName(), exportedName, parameterType, defaultValue, required,
+                    requestClass.equals(parameterType));
             params.add(templateParameter);
         }
         TemplateMethod templateMethod = new TemplateMethod(method.getName(),
@@ -238,7 +253,7 @@ public class QDoxTemplateSuiteFactory im
             JavaParameter[] params = method.getParameters();
             if (params.length > 0) {
                 JavaParameter param = params[params.length - 1];
-                if (Request.class.getName().equals(
+                if (requestClass.equals(
                         param.getType().getFullyQualifiedName())) {
                     return true;
                 }
@@ -246,7 +261,7 @@ public class QDoxTemplateSuiteFactory im
             if (params.length >= 2) {
                 JavaParameter param1 = params[params.length - 2];
                 JavaParameter param2 = params[params.length - 1];
-                if (Request.class.getName().equals(
+                if (requestClass.equals(
                         param1.getType().getFullyQualifiedName())
                         && ModelBody.class.getName().equals(
                                 param2.getType().getFullyQualifiedName())) {

Modified: tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGenerator.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGenerator.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGenerator.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGenerator.java Wed Jun 13 17:18:51 2012
@@ -61,11 +61,11 @@ public abstract class AbstractTemplateCl
     @Override
     public void generate(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         File dir = new File(directory, getDirectoryName(directory, packageName,
-                suite, clazz, parameters, runtimeClass));
+                suite, clazz, parameters, runtimeClass, requestClass));
         dir.mkdirs();
-        File file = new File(dir, getFilename(dir, packageName, suite, clazz, parameters, runtimeClass));
+        File file = new File(dir, getFilename(dir, packageName, suite, clazz, parameters, runtimeClass, requestClass));
         VelocityContext context = new VelocityContext();
         context.put("packageName", packageName);
         context.put("suite", suite);
@@ -73,10 +73,11 @@ public abstract class AbstractTemplateCl
         context.put("stringTool", new StringTool());
         context.put("parameters", parameters);
         context.put("runtimeClass", runtimeClass);
+        context.put("requestClass", requestClass);
         try {
             file.createNewFile();
             Template template = velocityEngine.getTemplate(getTemplatePath(dir,
-                    packageName, suite, clazz, parameters, runtimeClass));
+                    packageName, suite, clazz, parameters, runtimeClass, requestClass));
             Writer writer = new FileWriter(file);
             try {
                 template.merge(context, writer);
@@ -112,7 +113,8 @@ public abstract class AbstractTemplateCl
      * @return The template path.
      */
     protected abstract String getTemplatePath(File directory,
-            String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass);
+            String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
+            String runtimeClass, String requestClass);
 
     /**
      * Calculates and returns the filename of the generated file.
@@ -125,7 +127,8 @@ public abstract class AbstractTemplateCl
      * @return The template path.
      */
     protected abstract String getFilename(File directory, String packageName,
-            TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass);
+            TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass,
+            String requestClass);
 
     /**
      * Calculates and returns the directory where the file will be written..
@@ -138,5 +141,7 @@ public abstract class AbstractTemplateCl
      * @return The template path.
      */
     protected abstract String getDirectoryName(File directory,
-            String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass);
+            String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, 
+            String runtimeClass, String requestClass);
+    
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/BasicTemplateGenerator.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/BasicTemplateGenerator.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/BasicTemplateGenerator.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/BasicTemplateGenerator.java Wed Jun 13 17:18:51 2012
@@ -77,14 +77,14 @@ class BasicTemplateGenerator implements 
 
     @Override
     public void generate(String packageName, TemplateSuite suite, Map<String, String> parameters, 
-        String runtimeClass) {
+        String runtimeClass, String requestClass) {
         for (TSGeneratorDirectoryPair pair : templateSuiteGenerators) {
             pair.getGenerator().generate(pair.getDirectory(), packageName, suite, parameters);
         }
         for (TemplateClass templateClass : suite.getTemplateClasses()) {
             for (TCGeneratorDirectoryPair pair : templateClassGenerators) {
                 pair.getGenerator().generate(pair.getDirectory(), packageName,
-                        suite, templateClass, parameters, runtimeClass);
+                        suite, templateClass, parameters, runtimeClass, requestClass);
             }
         }
     }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateClassGenerator.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateClassGenerator.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateClassGenerator.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateClassGenerator.java Wed Jun 13 17:18:51 2012
@@ -45,5 +45,5 @@ public interface TemplateClassGenerator 
      */
     void generate(File directory, String packageName, TemplateSuite suite,
             TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass);
+            String runtimeClass, String requestClass);
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateGenerator.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateGenerator.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateGenerator.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/TemplateGenerator.java Wed Jun 13 17:18:51 2012
@@ -39,9 +39,10 @@ public interface TemplateGenerator {
      * @param suite The template suite.
      * @param parameters Configuration parameters.
      * @param runtimeClass The RequestBuilder implementation.
+     * @param requestClass The request class to use.
      */
     void generate(String packageName, TemplateSuite suite, Map<String, String> parameters, 
-        String runtimeClass);
+        String runtimeClass, String requestClass);
 
     /**
      * Indicates that this generator generates resources.

Modified: tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java Wed Jun 13 17:18:51 2012
@@ -21,7 +21,6 @@
 package org.apache.tiles.autotag.model;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.Request;
 
 /**
  * It represents a parameter in a method in a parsed template class.
@@ -47,7 +46,7 @@ public class TemplateParameter {
     private String documentation;
 
     /**
-     * The type of the prameter.
+     * The type of the parameter.
      */
     private String type;
 
@@ -62,6 +61,11 @@ public class TemplateParameter {
     private boolean required;
 
     /**
+     * Indicates that this parameter is the request.
+     */
+    private boolean request;
+
+    /**
      * Constructor.
      *
      * @param name The name of the parameter.
@@ -71,12 +75,13 @@ public class TemplateParameter {
      * @param defaultValue The default value, as it will be written in Java code.
      * @param required Indicates that this parameter is required.
      */
-    public TemplateParameter(String name, String exportedName, String type, String defaultValue, boolean required) {
+    public TemplateParameter(String name, String exportedName, String type, String defaultValue, boolean required, boolean request) {
         this.name = name;
         this.exportedName = exportedName;
         this.type = type;
         this.defaultValue = defaultValue;
         this.required = required;
+        this.request = request;
     }
 
     /**
@@ -158,7 +163,7 @@ public class TemplateParameter {
      * @return <code>true</code> if the parameter is a request.
      */
     public boolean isRequest() {
-        return Request.class.getName().equals(type);
+        return request;
     }
 
     /**
@@ -176,6 +181,6 @@ public class TemplateParameter {
         return "TemplateParameter [name=" + name + ", exportedName="
                 + exportedName + ", documentation=" + documentation + ", type="
                 + type + ", defaultValue=" + defaultValue + ", required="
-                + required + "]";
+                + required + ", request=" + request + "]";
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java Wed Jun 13 17:18:51 2012
@@ -28,13 +28,13 @@ import java.util.List;
 import org.apache.tiles.autotag.core.internal.AnnotatedExampleModel;
 import org.apache.tiles.autotag.core.internal.ExampleExecutableModel;
 import org.apache.tiles.autotag.core.internal.ExampleModel;
+import org.apache.tiles.autotag.core.internal.ExampleRequest;
 import org.apache.tiles.autotag.core.internal.NotFeasibleExampleModel;
 import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.model.TemplateClass;
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
 import org.apache.tiles.autotag.model.TemplateSuite;
-import org.apache.tiles.request.Request;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -45,6 +45,7 @@ import org.junit.Test;
  */
 public class QDoxTemplateSuiteFactoryTest {
 
+    private static final String REQUEST_CLASS = ExampleRequest.class.getName();
     /**
      * The factory to test.
      */
@@ -63,6 +64,7 @@ public class QDoxTemplateSuiteFactoryTes
                 getClass().getResource("/org/apache/tiles/autotag/core/internal/NotFeasibleExampleModel.java"));
         factory.setSuiteName("The suite name");
         factory.setSuiteDocumentation("This are the docs");
+        factory.setRequestClass(REQUEST_CLASS);
     }
 
     /**
@@ -97,7 +99,7 @@ public class QDoxTemplateSuiteFactoryTes
         assertEquals("Parameter two.", parameter.getDocumentation());
         parameter = parameters.get(2);
         assertEquals("request", parameter.getName());
-        assertEquals(Request.class.getName(), parameter.getType());
+        assertEquals(REQUEST_CLASS, parameter.getType());
         assertEquals("The request.", parameter.getDocumentation());
         parameter = parameters.get(3);
         assertEquals("modelBody", parameter.getName());
@@ -140,7 +142,7 @@ public class QDoxTemplateSuiteFactoryTes
         assertEquals("Parameter two.", parameter.getDocumentation());
         parameter = parameters.get(2);
         assertEquals("request", parameter.getName());
-        assertEquals(Request.class.getName(), parameter.getType());
+        assertEquals(REQUEST_CLASS, parameter.getType());
         assertEquals("The request.", parameter.getDocumentation());
 
         assertNull(suite.getTemplateClassByName(NotFeasibleExampleModel.class.getName()));

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/AnnotatedExampleModel.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/AnnotatedExampleModel.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/AnnotatedExampleModel.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/AnnotatedExampleModel.java Wed Jun 13 17:18:51 2012
@@ -22,7 +22,6 @@ package org.apache.tiles.autotag.core.in
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.core.runtime.annotation.Parameter;
-import org.apache.tiles.request.Request;
 
 /**
  * Example start/stop template.
@@ -41,7 +40,7 @@ public class AnnotatedExampleModel {
      */
     public void execute(
             @Parameter(defaultValue = "hello", name = "alternateOne", required = true) String one,
-            int two, Request request, ModelBody modelBody) {
+            int two, ExampleRequest request, ModelBody modelBody) {
         // Does nothing.
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExcluded.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExcluded.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExcluded.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExcluded.java Wed Jun 13 17:18:51 2012
@@ -21,7 +21,6 @@
 package org.apache.tiles.autotag.core.internal;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.Request;
 
 /**
  * Example start/stop template.
@@ -38,7 +37,7 @@ public class ExampleExcluded {
      * @param request The request.
      * @param modelBody The model body.
      */
-    public void execute(String one, int two, Request request, ModelBody modelBody) {
+    public void execute(String one, int two, ExampleRequest request, ModelBody modelBody) {
         // Does nothing.
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExecutableModel.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExecutableModel.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExecutableModel.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleExecutableModel.java Wed Jun 13 17:18:51 2012
@@ -20,8 +20,6 @@
  */
 package org.apache.tiles.autotag.core.internal;
 
-import org.apache.tiles.request.Request;
-
 /**
  * Example executable template.
  *
@@ -36,7 +34,7 @@ public class ExampleExecutableModel {
      * @param two Parameter two.
      * @param request The request.
      */
-    public void execute(String one, int two, Request request) {
+    public void execute(String one, int two, ExampleRequest request) {
         // Does nothing.
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleModel.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleModel.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleModel.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleModel.java Wed Jun 13 17:18:51 2012
@@ -21,7 +21,6 @@
 package org.apache.tiles.autotag.core.internal;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.Request;
 
 /**
  * Example start/stop template.
@@ -38,7 +37,7 @@ public class ExampleModel {
      * @param request The request.
      * @param modelBody The model body.
      */
-    public void execute(String one, int two, Request request, ModelBody modelBody) {
+    public void execute(String one, int two, ExampleRequest request, ModelBody modelBody) {
         // Does nothing.
     }
 }

Added: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleRequest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleRequest.java?rev=1349964&view=auto
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleRequest.java (added)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleRequest.java Wed Jun 13 17:18:51 2012
@@ -0,0 +1,5 @@
+package org.apache.tiles.autotag.core.internal;
+
+public class ExampleRequest {
+
+}

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGeneratorTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGeneratorTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateClassGeneratorTest.java Wed Jun 13 17:18:51 2012
@@ -100,17 +100,18 @@ public class AbstractTemplateClassGenera
         Map<String, String> parameters = createMock(Map.class);
         String packageName = "org.apache.tiles.autotag.test";
         String runtimeClass = "org.apache.tiles.autotag.test.DoStuffRuntime";
+        String requestClass = "org.apache.tiles.autotag.test.DoStuffRequest";
 
-        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass)).andReturn("mydir");
+        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("mydir");
         File mydir = new File(directory, "mydir");
-        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass)).andReturn("myfile.txt");
+        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("myfile.txt");
         String sampleVmPath = "/sample.vm";
-        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass)).andReturn(sampleVmPath);
+        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn(sampleVmPath);
         expect(velocityEngine.getTemplate("/sample.vm")).andReturn(template);
         template.merge(isA(VelocityContext.class), isA(FileWriter.class));
 
         replay(velocityEngine, generator, suite, clazz, template, parameters);
-        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass);
+        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass);
         verify(velocityEngine, generator, suite, clazz, template, parameters);
     }
 
@@ -129,16 +130,17 @@ public class AbstractTemplateClassGenera
         Map<String, String> parameters = createMock(Map.class);
         String packageName = "org.apache.tiles.autotag.test";
         String runtimeClass = "org.apache.tiles.autotag.test.DoStuffRuntime";
+        String requestClass = "org.apache.tiles.autotag.test.DoStuffRequest";
 
-        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass)).andReturn("mydir");
+        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("mydir");
         File mydir = new File(directory, "mydir");
-        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass)).andReturn("myfile.txt");
+        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("myfile.txt");
         String sampleVmPath = "/sample.vm";
-        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass)).andReturn(sampleVmPath);
+        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn(sampleVmPath);
         expect(velocityEngine.getTemplate("/sample.vm")).andThrow(new ResourceNotFoundException("hello"));
 
         replay(velocityEngine, generator, suite, clazz, template, parameters);
-        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass);
+        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass);
         verify(velocityEngine, generator, suite, clazz, template, parameters);
     }
 
@@ -157,16 +159,17 @@ public class AbstractTemplateClassGenera
         Map<String, String> parameters = createMock(Map.class);
         String packageName = "org.apache.tiles.autotag.test";
         String runtimeClass = "org.apache.tiles.autotag.test.DoStuffRuntime";
+        String requestClass = "org.apache.tiles.autotag.test.DoStuffRequest";
 
-        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass)).andReturn("mydir");
+        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("mydir");
         File mydir = new File(directory, "mydir");
-        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass)).andReturn("myfile.txt");
+        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("myfile.txt");
         String sampleVmPath = "/sample.vm";
-        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass)).andReturn(sampleVmPath);
+        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn(sampleVmPath);
         expect(velocityEngine.getTemplate("/sample.vm")).andThrow(new ParseErrorException("hello"));
 
         replay(velocityEngine, generator, suite, clazz, template, parameters);
-        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass);
+        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass);
         verify(velocityEngine, generator, suite, clazz, template, parameters);
     }
 
@@ -185,16 +188,17 @@ public class AbstractTemplateClassGenera
         Map<String, String> parameters = createMock(Map.class);
         String packageName = "org.apache.tiles.autotag.test";
         String runtimeClass = "org.apache.tiles.autotag.test.DoStuffRuntime";
+        String requestClass = "org.apache.tiles.autotag.test.DoStuffRequest";
 
-        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass)).andReturn("mydir");
+        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("mydir");
         File mydir = new File(directory, "mydir");
-        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass)).andReturn("myfile.txt");
+        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("myfile.txt");
         String sampleVmPath = "/sample.vm";
-        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass)).andReturn(sampleVmPath);
+        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn(sampleVmPath);
         expect(velocityEngine.getTemplate("/sample.vm")).andThrow(new Exception());
 
         replay(velocityEngine, generator, suite, clazz, template, parameters);
-        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass);
+        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass);
         verify(velocityEngine, generator, suite, clazz, template, parameters);
     }
 
@@ -215,18 +219,19 @@ public class AbstractTemplateClassGenera
         Map<String, String> parameters = createMock(Map.class);
         String packageName = "org.apache.tiles.autotag.test";
         String runtimeClass = "org.apache.tiles.autotag.test.DoStuffRuntime";
+        String requestClass = "org.apache.tiles.autotag.test.DoStuffRequest";
 
-        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass)).andReturn("mydir");
+        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("mydir");
         File mydir = new File(directory, "mydir");
-        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass)).andReturn("myfile.txt");
+        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("myfile.txt");
         String sampleVmPath = "/sample.vm";
-        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass)).andReturn(sampleVmPath);
+        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn(sampleVmPath);
         expect(velocityEngine.getTemplate("/sample.vm")).andReturn(template);
         template.merge(isA(VelocityContext.class), isA(FileWriter.class));
         expectLastCall().andThrow(new IOException());
 
         replay(velocityEngine, generator, suite, clazz, template, parameters);
-        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass);
+        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass);
         verify(velocityEngine, generator, suite, clazz, template, parameters);
     }
 
@@ -247,18 +252,19 @@ public class AbstractTemplateClassGenera
         Map<String, String> parameters = createMock(Map.class);
         String packageName = "org.apache.tiles.autotag.test";
         String runtimeClass = "org.apache.tiles.autotag.test.DoStuffRuntime";
+        String requestClass = "org.apache.tiles.autotag.test.DoStuffRequest";
 
-        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass)).andReturn("mydir");
+        expect(generator.getDirectoryName(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("mydir");
         File mydir = new File(directory, "mydir");
-        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass)).andReturn("myfile.txt");
+        expect(generator.getFilename(mydir , packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn("myfile.txt");
         String sampleVmPath = "/sample.vm";
-        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass)).andReturn(sampleVmPath);
+        expect(generator.getTemplatePath(mydir, packageName, suite, clazz, parameters, runtimeClass, requestClass)).andReturn(sampleVmPath);
         expect(velocityEngine.getTemplate("/sample.vm")).andReturn(template);
         template.merge(isA(VelocityContext.class), isA(FileWriter.class));
         expectLastCall().andThrow(new ClassParseException());
 
         replay(velocityEngine, generator, suite, clazz, template, parameters);
-        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass);
+        generator.generate(directory, packageName, suite, clazz, parameters, runtimeClass, requestClass);
         verify(velocityEngine, generator, suite, clazz, template, parameters);
     }
 

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java Wed Jun 13 17:18:51 2012
@@ -62,7 +62,7 @@ public class BasicTemplateGeneratorTest 
 
         expect(suite.getTemplateClasses()).andReturn(templateClasses);
         templateSuiteGenerator.generate(file, "my.package", suite, parameters);
-        templateClassGenerator.generate(file, "my.package", suite, templateClass, parameters, "my.Runtime");
+        templateClassGenerator.generate(file, "my.package", suite, templateClass, parameters, "my.Runtime", "my.Request");
 
         replay(suite, templateClass, templateSuiteGenerator, templateClassGenerator, parameters);
         TSGeneratorDirectoryPair tsPair = new TSGeneratorDirectoryPair(file, templateSuiteGenerator);
@@ -74,7 +74,7 @@ public class BasicTemplateGeneratorTest 
         BasicTemplateGenerator generator = new BasicTemplateGenerator(tsList, tcList, true, false);
         assertTrue(generator.isGeneratingClasses());
         assertFalse(generator.isGeneratingResources());
-        generator.generate("my.package", suite, parameters, "my.Runtime");
+        generator.generate("my.package", suite, parameters, "my.Runtime", "my.Request");
         verify(suite, templateClass, templateSuiteGenerator, templateClassGenerator, parameters);
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateParameterTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateParameterTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateParameterTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/model/TemplateParameterTest.java Wed Jun 13 17:18:51 2012
@@ -23,7 +23,6 @@ package org.apache.tiles.autotag.model;
 import static org.junit.Assert.*;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
-import org.apache.tiles.request.Request;
 import org.junit.Test;
 
 /**
@@ -38,7 +37,7 @@ public class TemplateParameterTest {
      */
     @Test
     public void testTemplateParameter() {
-        TemplateParameter parameter = new TemplateParameter("name", "exportedName", "type", "defaultValue", true);
+        TemplateParameter parameter = new TemplateParameter("name", "exportedName", "type", "defaultValue", true, false);
         assertEquals("name", parameter.getName());
         assertEquals("exportedName", parameter.getExportedName());
         assertEquals("type", parameter.getType());
@@ -48,17 +47,17 @@ public class TemplateParameterTest {
         assertFalse(parameter.isBody());
         assertFalse(parameter.isRequest());
 
-        parameter = new TemplateParameter("name", "exportedName", Request.class.getName(), "defaultValue", false);
+        parameter = new TemplateParameter("name", "exportedName", "my.Request", "defaultValue", false, true);
         assertEquals("name", parameter.getName());
         assertEquals("exportedName", parameter.getExportedName());
-        assertEquals(Request.class.getName(), parameter.getType());
+        assertEquals("my.Request", parameter.getType());
         assertEquals("defaultValue", parameter.getDefaultValue());
         assertFalse(parameter.isRequired());
         assertEquals("ExportedName", parameter.getGetterSetterSuffix());
         assertFalse(parameter.isBody());
         assertTrue(parameter.isRequest());
 
-        parameter = new TemplateParameter("name", "exportedName", ModelBody.class.getName(), "defaultValue", false);
+        parameter = new TemplateParameter("name", "exportedName", ModelBody.class.getName(), "defaultValue", false, false);
         assertEquals("name", parameter.getName());
         assertEquals("exportedName", parameter.getExportedName());
         assertEquals(ModelBody.class.getName(), parameter.getType());
@@ -74,7 +73,7 @@ public class TemplateParameterTest {
      */
     @Test
     public void testSetDocumentation() {
-        TemplateParameter parameter = new TemplateParameter("name", "exportedName", "type", "defaultValue", true);
+        TemplateParameter parameter = new TemplateParameter("name", "exportedName", "type", "defaultValue", true, false);
         parameter.setDocumentation("docs");
         assertEquals("docs", parameter.getDocumentation());
     }
@@ -84,10 +83,10 @@ public class TemplateParameterTest {
      */
     @Test
     public void testToString() {
-        TemplateParameter parameter = new TemplateParameter("name", "exportedName", "type", "defaultValue", true);
+        TemplateParameter parameter = new TemplateParameter("name", "exportedName", "type", "defaultValue", true, false);
         assertEquals(
                 "TemplateParameter [name=name, exportedName=exportedName, "
-                        + "documentation=null, type=type, defaultValue=defaultValue, required=true]",
+                        + "documentation=null, type=type, defaultValue=defaultValue, required=true, request=false]",
                 parameter.toString());
     }
 

Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java (original)
+++ tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java Wed Jun 13 17:18:51 2012
@@ -47,21 +47,21 @@ public class FMModelGenerator extends Ab
     @Override
     protected String getDirectoryName(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         return packageName.replaceAll("\\.", "/");
     }
 
     @Override
     protected String getFilename(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         return clazz.getTagClassPrefix() + "FMModel.java";
     }
 
     @Override
     protected String getTemplatePath(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         return "/org/apache/tiles/autotag/freemarker/fmModel.vm";
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm (original)
+++ tiles/autotag/trunk/tiles-autotag-freemarker/src/main/resources/org/apache/tiles/autotag/freemarker/fmModel.vm Wed Jun 13 17:18:51 2012
@@ -29,7 +29,6 @@ import java.util.Map;
 import org.apache.tiles.autotag.core.runtime.ModelBody;
 #end
 import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateDirectiveBody;
@@ -64,17 +63,17 @@ public class ${clazz.tagClassPrefix}FMMo
     @Override
     public void execute(Environment env, @SuppressWarnings("rawtypes") Map params, TemplateModel[] loopVars,
             TemplateDirectiveBody body) throws TemplateException, IOException {
-        AutotagRuntime runtime = new ${runtimeClass}();
+        AutotagRuntime<${requestClass}> runtime = new ${runtimeClass}();
         if (runtime instanceof TemplateDirectiveModel) {
             ((TemplateDirectiveModel) runtime).execute(env, params, loopVars, body);
         }
-        Request request = runtime.createRequest();
+        ${requestClass} request = runtime.createRequest();
 #if(${clazz.hasBody()})
         ModelBody modelBody = runtime.createModelBody();
 #end
         model.execute(
 #foreach($parameter in ${clazz.parameters})
-            ($stringTool.getClassToCast(${parameter.type})) runtime.getParameter("${parameter.exportedName}", $stringTool.getDefaultValue(${parameter.type}, ${parameter.defaultValue})),
+            runtime.getParameter("${parameter.exportedName}", ${stringTool.getClassToCast(${parameter.type})}.class, $stringTool.getDefaultValue(${parameter.type}, ${parameter.defaultValue})),
 #end
                 request#if(${clazz.hasBody()}), modelBody#end
 

Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java Wed Jun 13 17:18:51 2012
@@ -36,7 +36,6 @@ import org.apache.tiles.autotag.model.Te
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
 import org.apache.tiles.autotag.model.TemplateSuite;
-import org.apache.tiles.request.Request;
 import org.apache.velocity.app.VelocityEngine;
 import org.junit.Test;
 
@@ -47,6 +46,8 @@ import org.junit.Test;
  */
 public class FMModelGeneratorTest {
 
+    public static final String REQUEST_CLASS = "org.apache.tiles.autotag.freemarker.test.Request";
+    
     /**
      * Test method for {@link TagClassGenerator#generate(File, String, TemplateSuite, TemplateClass, java.util.Map)}.
      * @throws Exception If something goes wrong.
@@ -67,19 +68,19 @@ public class FMModelGeneratorTest {
         TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs.");
 
         List<TemplateParameter> params = new ArrayList<TemplateParameter>();
-        TemplateParameter param = new TemplateParameter("one", "one", "java.lang.String", null, true);
+        TemplateParameter param = new TemplateParameter("one", "one", "java.lang.String", null, true, false);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "two", "int", null, false);
+        param = new TemplateParameter("two", "two", "int", null, false, false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("three", "three", "boolean", null, false);
+        param = new TemplateParameter("three", "three", "boolean", null, false, false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", "request", Request.class.getName(), null, false);
+        param = new TemplateParameter("request", "request", REQUEST_CLASS, null, false, true);
         param.setDocumentation("The request.");
         params.add(param);
-        param = new TemplateParameter("modelBody", "modelBody", ModelBody.class.getName(), null, false);
+        param = new TemplateParameter("modelBody", "modelBody", ModelBody.class.getName(), null, false, false);
         param.setDocumentation("The body.");
         params.add(param);
         TemplateMethod executeMethod = new TemplateMethod("execute", params);
@@ -89,7 +90,7 @@ public class FMModelGeneratorTest {
         clazz.setDocumentation("Documentation of the DoStuff class.");
 
         generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null,
-                           "org.apache.tiles.autotag.freemarker.test.Runtime");
+                           "org.apache.tiles.autotag.freemarker.test.Runtime", REQUEST_CLASS);
 
         InputStream expected = getClass()
                 .getResourceAsStream(
@@ -103,16 +104,16 @@ public class FMModelGeneratorTest {
 
         suite.addTemplateClass(clazz);
         params = new ArrayList<TemplateParameter>();
-        param = new TemplateParameter("one", "one", "java.lang.Double", null, true);
+        param = new TemplateParameter("one", "one", "java.lang.Double", null, true, false);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "two", "float", null, false);
+        param = new TemplateParameter("two", "two", "float", null, false, false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("three", "three", "java.util.Date", null, false);
+        param = new TemplateParameter("three", "three", "java.util.Date", null, false, false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", "request", Request.class.getName(), null, false);
+        param = new TemplateParameter("request", "request", REQUEST_CLASS, null, false, true);
         param.setDocumentation("The request.");
         params.add(param);
         executeMethod = new TemplateMethod("execute", params);
@@ -124,7 +125,7 @@ public class FMModelGeneratorTest {
         suite.addTemplateClass(clazz);
 
         generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null,
-                           "org.apache.tiles.autotag.freemarker.test.Runtime");
+                           "org.apache.tiles.autotag.freemarker.test.Runtime", REQUEST_CLASS);
 
         expected = getClass()
                 .getResourceAsStream(

Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java Wed Jun 13 17:18:51 2012
@@ -36,7 +36,6 @@ import org.apache.tiles.autotag.model.Te
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
 import org.apache.tiles.autotag.model.TemplateSuite;
-import org.apache.tiles.request.Request;
 import org.apache.velocity.app.VelocityEngine;
 import org.junit.Test;
 
@@ -47,6 +46,8 @@ import org.junit.Test;
  */
 public class FMModelRepositoryGeneratorTest {
 
+    public static final String REQUEST_CLASS = "org.apache.tiles.autotag.freemarker.test.Request";
+
     /**
      * Test method for {@link FMModelRepositoryGenerator#generate(File, String, TemplateSuite, java.util.Map)}.
      * @throws Exception If something goes wrong.
@@ -67,19 +68,19 @@ public class FMModelRepositoryGeneratorT
         TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs.");
 
         List<TemplateParameter> params = new ArrayList<TemplateParameter>();
-        TemplateParameter param = new TemplateParameter("one", "one", "java.lang.String", null, true);
+        TemplateParameter param = new TemplateParameter("one", "one", "java.lang.String", null, true, false);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "two", "int", null, false);
+        param = new TemplateParameter("two", "two", "int", null, false, false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("three", "three", "long", null, false);
+        param = new TemplateParameter("three", "three", "long", null, false, false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", "request", Request.class.getName(), null, false);
+        param = new TemplateParameter("request", "request", REQUEST_CLASS, null, false, true);
         param.setDocumentation("The request.");
         params.add(param);
-        param = new TemplateParameter("modelBody", "modelBody", ModelBody.class.getName(), null, false);
+        param = new TemplateParameter("modelBody", "modelBody", ModelBody.class.getName(), null, false, false);
         param.setDocumentation("The body.");
         params.add(param);
         TemplateMethod executeMethod = new TemplateMethod("execute", params);
@@ -90,16 +91,16 @@ public class FMModelRepositoryGeneratorT
 
         suite.addTemplateClass(clazz);
         params = new ArrayList<TemplateParameter>();
-        param = new TemplateParameter("one", "one", "java.lang.Double", null, true);
+        param = new TemplateParameter("one", "one", "java.lang.Double", null, true, false);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "two", "float", null, false);
+        param = new TemplateParameter("two", "two", "float", null, false, false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("three", "three", "java.util.Date", null, false);
+        param = new TemplateParameter("three", "three", "java.util.Date", null, false, false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", "request", Request.class.getName(), null, false);
+        param = new TemplateParameter("request", "request", REQUEST_CLASS, null, false, true);
         param.setDocumentation("The request.");
         params.add(param);
         executeMethod = new TemplateMethod("execute", params);

Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat (original)
+++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat Wed Jun 13 17:18:51 2012
@@ -8,7 +8,6 @@ import java.util.Map;
 
 import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateDirectiveBody;
@@ -41,16 +40,16 @@ public class DoStuffFMModel implements T
     @Override
     public void execute(Environment env, @SuppressWarnings("rawtypes") Map params, TemplateModel[] loopVars,
             TemplateDirectiveBody body) throws TemplateException, IOException {
-        AutotagRuntime runtime = new org.apache.tiles.autotag.freemarker.test.Runtime();
+        AutotagRuntime<org.apache.tiles.autotag.freemarker.test.Request> runtime = new org.apache.tiles.autotag.freemarker.test.Runtime();
         if (runtime instanceof TemplateDirectiveModel) {
             ((TemplateDirectiveModel) runtime).execute(env, params, loopVars, body);
         }
-        Request request = runtime.createRequest();
+        org.apache.tiles.autotag.freemarker.test.Request request = runtime.createRequest();
         ModelBody modelBody = runtime.createModelBody();
         model.execute(
-            (java.lang.String) runtime.getParameter("one", null),
-            (java.lang.Integer) runtime.getParameter("two", 0),
-            (java.lang.Boolean) runtime.getParameter("three", false),
+            runtime.getParameter("one", java.lang.String.class, null),
+            runtime.getParameter("two", java.lang.Integer.class, 0),
+            runtime.getParameter("three", java.lang.Boolean.class, false),
                 request, modelBody
         );
     }

Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat (original)
+++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/resources/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat Wed Jun 13 17:18:51 2012
@@ -7,7 +7,6 @@ import java.io.IOException;
 import java.util.Map;
 
 import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateDirectiveBody;
@@ -40,15 +39,15 @@ public class DoStuffNoBodyFMModel implem
     @Override
     public void execute(Environment env, @SuppressWarnings("rawtypes") Map params, TemplateModel[] loopVars,
             TemplateDirectiveBody body) throws TemplateException, IOException {
-        AutotagRuntime runtime = new org.apache.tiles.autotag.freemarker.test.Runtime();
+        AutotagRuntime<org.apache.tiles.autotag.freemarker.test.Request> runtime = new org.apache.tiles.autotag.freemarker.test.Runtime();
         if (runtime instanceof TemplateDirectiveModel) {
             ((TemplateDirectiveModel) runtime).execute(env, params, loopVars, body);
         }
-        Request request = runtime.createRequest();
+        org.apache.tiles.autotag.freemarker.test.Request request = runtime.createRequest();
         model.execute(
-            (java.lang.Double) runtime.getParameter("one", null),
-            (java.lang.Float) runtime.getParameter("two", 0.0f),
-            (java.util.Date) runtime.getParameter("three", null),
+            runtime.getParameter("one", java.lang.Double.class, null),
+            runtime.getParameter("two", java.lang.Float.class, 0.0f),
+            runtime.getParameter("three", java.util.Date.class, null),
                 request
         );
     }

Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java (original)
+++ tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java Wed Jun 13 17:18:51 2012
@@ -47,21 +47,21 @@ public class TagClassGenerator extends A
     @Override
     protected String getDirectoryName(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         return packageName.replaceAll("\\.", "/");
     }
 
     @Override
     protected String getFilename(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         return clazz.getTagClassPrefix() + "Tag.java";
     }
 
     @Override
     protected String getTemplatePath(File directory, String packageName,
             TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
-            String runtimeClass) {
+            String runtimeClass, String requestClass) {
         return "/org/apache/tiles/autotag/jsp/bodyTag.vm";
     }
 }

Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/bodyTag.vm
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/bodyTag.vm?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/bodyTag.vm (original)
+++ tiles/autotag/trunk/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/bodyTag.vm Wed Jun 13 17:18:51 2012
@@ -31,7 +31,6 @@ import javax.servlet.jsp.tagext.SimpleTa
 import org.apache.tiles.autotag.core.runtime.ModelBody;
 #end
 import org.apache.tiles.autotag.core.runtime.AutotagRuntime;
-import org.apache.tiles.request.Request;
 
 /**
 #foreach($line in $stringTool.splitOnNewlines(${clazz.documentation}))
@@ -83,7 +82,7 @@ public class ${clazz.tagClassPrefix}Tag 
     /** {@inheritDoc} */
     @Override
     public void doTag() throws JspException, IOException {
-        AutotagRuntime runtime = new ${runtimeClass}();
+        AutotagRuntime<${requestClass}> runtime = new ${runtimeClass}();
         if (runtime instanceof SimpleTagSupport) {
             SimpleTagSupport tag = (SimpleTagSupport) runtime;
             tag.setJspContext(getJspContext());
@@ -91,7 +90,7 @@ public class ${clazz.tagClassPrefix}Tag 
             tag.setParent(getParent());
             tag.doTag();
         }
-        Request request = runtime.createRequest();        
+        ${requestClass} request = runtime.createRequest();        
 #if(${clazz.hasBody()})
         ModelBody modelBody = runtime.createModelBody();
 #end

Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java?rev=1349964&r1=1349963&r2=1349964&view=diff
==============================================================================
--- tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java (original)
+++ tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java Wed Jun 13 17:18:51 2012
@@ -38,7 +38,6 @@ import org.apache.tiles.autotag.model.Te
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
 import org.apache.tiles.autotag.model.TemplateSuite;
-import org.apache.tiles.request.Request;
 import org.apache.velocity.app.VelocityEngine;
 import org.junit.Test;
 
@@ -48,6 +47,8 @@ import org.junit.Test;
  * @version $Rev$ $Date$
  */
 public class TLDGeneratorTest {
+    
+    public static final String REQUEST_CLASS = "org.apache.tiles.autotag.jsp.test.Request";
 
     /**
      * Test method for {@link TLDGenerator#generate(File, String, TemplateSuite, Map)}.
@@ -71,19 +72,19 @@ public class TLDGeneratorTest {
         parameters.put("taglibURI", "http://www.initrode.net/tags/test");
 
         List<TemplateParameter> params = new ArrayList<TemplateParameter>();
-        TemplateParameter param = new TemplateParameter("one", "one", "java.lang.String", null, true);
+        TemplateParameter param = new TemplateParameter("one", "one", "java.lang.String", null, true, false);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "two", "int", null, false);
+        param = new TemplateParameter("two", "two", "int", null, false, false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("three", "three", "long", null, false);
+        param = new TemplateParameter("three", "three", "long", null, false, false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", "request", Request.class.getName(), null, false);
+        param = new TemplateParameter("request", "request", REQUEST_CLASS, null, false, true);
         param.setDocumentation("The request.");
         params.add(param);
-        param = new TemplateParameter("modelBody", "modelBody", ModelBody.class.getName(), null, false);
+        param = new TemplateParameter("modelBody", "modelBody", ModelBody.class.getName(), null, false, false);
         param.setDocumentation("The body.");
         params.add(param);
         TemplateMethod executeMethod = new TemplateMethod("execute", params);
@@ -94,16 +95,16 @@ public class TLDGeneratorTest {
 
         suite.addTemplateClass(clazz);
         params = new ArrayList<TemplateParameter>();
-        param = new TemplateParameter("one", "one", "java.lang.Double", null, true);
+        param = new TemplateParameter("one", "one", "java.lang.Double", null, true, false);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "two", "float", null, false);
+        param = new TemplateParameter("two", "two", "float", null, false, false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("three", "three", "java.util.Date", null, false);
+        param = new TemplateParameter("three", "three", "java.util.Date", null, false, false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", "request", Request.class.getName(), null, false);
+        param = new TemplateParameter("request", "request", REQUEST_CLASS, null, false ,true);
         param.setDocumentation("The request.");
         params.add(param);
         executeMethod = new TemplateMethod("execute", params);