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