You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2010/12/05 16:34:23 UTC
svn commit: r1042375 [2/2] - in /tiles/sandbox/trunk/tiles-autotag:
maven-autotag-plugin/src/main/java/org/apache/tiles/autotag/plugin/
tiles-autotag-core/
tiles-autotag-core/src/main/java/org/apache/tiles/autotag/generate/
tiles-autotag-core/src/main/...
Added: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java?rev=1042375&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java (added)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java Sun Dec 5 15:34:21 2010
@@ -0,0 +1,41 @@
+package org.apache.tiles.autotag.freemarker;
+
+import java.io.File;
+
+import org.apache.tiles.autotag.generate.TemplateGenerator;
+import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
+import org.apache.tiles.autotag.generate.TemplateGeneratorFactory;
+import org.apache.velocity.app.VelocityEngine;
+
+public class FMTemplateGeneratorFactory implements TemplateGeneratorFactory {
+
+ /**
+ * Location of the file.
+ *
+ * @parameter expression="${project.build.directory}/autotag-jsp-classes"
+ * @required
+ */
+ private File classesOutputDirectory;
+
+ private VelocityEngine velocityEngine;
+
+ private TemplateGeneratorBuilder templateGeneratorBuilder;
+
+ public FMTemplateGeneratorFactory(File classesOutputDirectory,
+ VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) {
+ this.classesOutputDirectory = classesOutputDirectory;
+ this.velocityEngine = velocityEngine;
+ this.templateGeneratorBuilder = templateGeneratorBuilder;
+ }
+
+ @Override
+ public TemplateGenerator createTemplateGenerator() {
+ return templateGeneratorBuilder
+ .setClassesOutputDirectory(classesOutputDirectory)
+ .addClassesTemplateSuiteGenerator(
+ new FMModelRepositoryGenerator(velocityEngine))
+ .addClassesTemplateClassGenerator(
+ new FMModelGenerator(velocityEngine)).build();
+ }
+
+}
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java Sun Dec 5 15:34:21 2010
@@ -10,6 +10,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -31,7 +32,7 @@ import org.junit.Test;
public class FMModelGeneratorTest {
/**
- * Test method for {@link TagClassGenerator#generate(File, String, TemplateSuite, TemplateClass)}.
+ * Test method for {@link TagClassGenerator#generate(File, String, TemplateSuite, TemplateClass, Map)}.
* @throws Exception If something goes wrong.
*/
@Test
@@ -71,7 +72,7 @@ public class FMModelGeneratorTest {
"doStuff", "DoStuff", executeMethod);
clazz.setDocumentation("Documentation of the DoStuff class.");
- generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz);
+ generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null);
InputStream expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.javat");
File effectiveFile = new File(file, "/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.java");
@@ -103,7 +104,7 @@ public class FMModelGeneratorTest {
suite.addTemplateClass(clazz);
- generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz);
+ generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null);
expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat");
effectiveFile = new File(file, "/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.java");
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java Sun Dec 5 15:34:21 2010
@@ -10,6 +10,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -31,7 +32,7 @@ import org.junit.Test;
public class FMModelRepositoryGeneratorTest {
/**
- * Test method for {@link org.apache.tiles.autotag.jsp.TLDGenerator#generate(java.io.File, java.lang.String, org.apache.tiles.autotag.model.TemplateSuite)}.
+ * Test method for {@link org.apache.tiles.autotag.jsp.TLDGenerator#generate(java.io.File, java.lang.String, org.apache.tiles.autotag.model.TemplateSuite, Map)}.
* @throws Exception If something goes wrong.
*/
@Test
@@ -93,7 +94,7 @@ public class FMModelRepositoryGeneratorT
suite.addTemplateClass(clazz);
- generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite);
+ generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, null);
InputStream expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.javat");
File effectiveFile = new File(file, "/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.java");
Added: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java?rev=1042375&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java (added)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java Sun Dec 5 15:34:21 2010
@@ -0,0 +1,44 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.freemarker;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.File;
+
+import org.apache.tiles.autotag.generate.TemplateGenerator;
+import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
+import org.apache.velocity.app.VelocityEngine;
+import org.junit.Test;
+
+/**
+ * Tests {@link FMTemplateGeneratorFactory}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class FMTemplateGeneratorFactoryTest {
+
+ /**
+ * Test method for {@link org.apache.tiles.autotag.freemarker.FMTemplateGeneratorFactory#createTemplateGenerator()}.
+ */
+ @Test
+ public void testCreateTemplateGenerator() {
+ File classesOutputDirectory = createMock(File.class);
+ VelocityEngine velocityEngine = createMock(VelocityEngine.class);
+ TemplateGeneratorBuilder builder = createMock(TemplateGeneratorBuilder.class);
+ TemplateGenerator generator = createMock(TemplateGenerator.class);
+
+ expect(builder.setClassesOutputDirectory(classesOutputDirectory)).andReturn(builder);
+ expect(builder.addClassesTemplateSuiteGenerator(isA(FMModelRepositoryGenerator.class))).andReturn(builder);
+ expect(builder.addClassesTemplateClassGenerator(isA(FMModelGenerator.class))).andReturn(builder);
+ expect(builder.build()).andReturn(generator);
+
+ replay(classesOutputDirectory, velocityEngine, builder, generator);
+ FMTemplateGeneratorFactory factory = new FMTemplateGeneratorFactory(classesOutputDirectory, velocityEngine, builder);
+ assertSame(generator, factory.createTemplateGenerator());
+ verify(classesOutputDirectory, velocityEngine, builder, generator);
+ }
+
+}
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/pom.xml
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/pom.xml?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/pom.xml (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/pom.xml Sun Dec 5 15:34:21 2010
@@ -39,5 +39,11 @@
<artifactId>tiles-autotag-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>3.0</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Added: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java?rev=1042375&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java (added)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java Sun Dec 5 15:34:21 2010
@@ -0,0 +1,45 @@
+package org.apache.tiles.autotag.jsp;
+
+import java.io.File;
+
+import org.apache.tiles.autotag.generate.TemplateGenerator;
+import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
+import org.apache.tiles.autotag.generate.TemplateGeneratorFactory;
+import org.apache.velocity.app.VelocityEngine;
+
+public class JspTemplateGeneratorFactory implements TemplateGeneratorFactory {
+
+ /**
+ * Location of the file.
+ */
+ private File classesOutputDirectory;
+
+ /**
+ * Location of the file.
+ */
+ private File resourcesOutputDirectory;
+
+ private VelocityEngine velocityEngine;
+
+ private TemplateGeneratorBuilder templateGeneratorBuilder;
+
+ public JspTemplateGeneratorFactory(File classesOutputDirectory,
+ File resourcesOutputDirectory, VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) {
+ this.classesOutputDirectory = classesOutputDirectory;
+ this.resourcesOutputDirectory = resourcesOutputDirectory;
+ this.velocityEngine = velocityEngine;
+ this.templateGeneratorBuilder = templateGeneratorBuilder;
+ }
+
+ @Override
+ public TemplateGenerator createTemplateGenerator() {
+ return templateGeneratorBuilder
+ .setClassesOutputDirectory(classesOutputDirectory)
+ .setResourcesOutputDirectory(resourcesOutputDirectory)
+ .addResourcesTemplateSuiteGenerator(
+ new TLDGenerator(velocityEngine))
+ .addClassesTemplateClassGenerator(
+ new TagClassGenerator(velocityEngine)).build();
+ }
+
+}
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java Sun Dec 5 15:34:21 2010
@@ -1,6 +1,7 @@
package org.apache.tiles.autotag.jsp;
import java.io.File;
+import java.util.Map;
import org.apache.tiles.autotag.generate.AbstractTemplateSuiteGenerator;
import org.apache.tiles.autotag.model.TemplateSuite;
@@ -12,15 +13,15 @@ public class TLDGenerator extends Abstra
super(velocityEngine);
}
- protected String getTemplatePath(File directory, String packageName, TemplateSuite suite) {
+ protected String getTemplatePath(File directory, String packageName, TemplateSuite suite, Map<String, String> parameters) {
return "/org/apache/tiles/autotag/jsp/tld.vm";
}
- protected String getFilename(File directory, String packageName, TemplateSuite suite) {
+ protected String getFilename(File directory, String packageName, TemplateSuite suite, Map<String, String> parameters) {
return suite.getName() + "-jsp.tld";
}
- protected String getDirectoryName(File directory, String packageName, TemplateSuite suite) {
+ protected String getDirectoryName(File directory, String packageName, TemplateSuite suite, Map<String, String> parameters) {
return "META-INF/tld/";
}
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java Sun Dec 5 15:34:21 2010
@@ -1,6 +1,7 @@
package org.apache.tiles.autotag.jsp;
import java.io.File;
+import java.util.Map;
import org.apache.tiles.autotag.generate.AbstractTemplateClassGenerator;
import org.apache.tiles.autotag.model.TemplateClass;
@@ -15,19 +16,19 @@ public class TagClassGenerator extends A
@Override
protected String getDirectoryName(File directory, String packageName,
- TemplateSuite suite, TemplateClass clazz) {
+ TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters) {
return packageName.replaceAll("\\.", "/");
}
@Override
protected String getFilename(File directory, String packageName,
- TemplateSuite suite, TemplateClass clazz) {
+ TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters) {
return clazz.getTagClassPrefix() + "Tag.java";
}
@Override
protected String getTemplatePath(File directory, String packageName,
- TemplateSuite suite, TemplateClass clazz) {
+ TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters) {
return "/org/apache/tiles/autotag/jsp/bodyTag.vm";
}
}
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm Sun Dec 5 15:34:21 2010
@@ -32,7 +32,7 @@
</description>
<tlib-version>1.2</tlib-version>
<short-name>${suite.name}</short-name>
- <uri>${suite.customVariables.taglibURI}</uri>
+ <uri>${parameters.taglibURI}</uri>
#foreach($clazz in ${suite.getTemplateClasses()})
<tag>
<description>
Added: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java?rev=1042375&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java (added)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java Sun Dec 5 15:34:21 2010
@@ -0,0 +1,46 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.jsp;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.File;
+
+import org.apache.tiles.autotag.generate.TemplateGenerator;
+import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
+import org.apache.velocity.app.VelocityEngine;
+import org.junit.Test;
+
+/**
+ * Tests {@link JspTemplateGeneratorFactory}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class JspTemplateGeneratorFactoryTest {
+
+ /**
+ * Test method for {@link JspTemplateGeneratorFactory#createTemplateGenerator()}.
+ */
+ @Test
+ public void testCreateTemplateGenerator() {
+ File classesOutputDirectory = createMock(File.class);
+ File resourcesOutputDirectory = createMock(File.class);
+ VelocityEngine velocityEngine = createMock(VelocityEngine.class);
+ TemplateGeneratorBuilder builder = createMock(TemplateGeneratorBuilder.class);
+ TemplateGenerator generator = createMock(TemplateGenerator.class);
+
+ expect(builder.setClassesOutputDirectory(classesOutputDirectory)).andReturn(builder);
+ expect(builder.setResourcesOutputDirectory(resourcesOutputDirectory)).andReturn(builder);
+ expect(builder.addResourcesTemplateSuiteGenerator(isA(TLDGenerator.class))).andReturn(builder);
+ expect(builder.addClassesTemplateClassGenerator(isA(TagClassGenerator.class))).andReturn(builder);
+ expect(builder.build()).andReturn(generator);
+
+ replay(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder, generator);
+ JspTemplateGeneratorFactory factory = new JspTemplateGeneratorFactory(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder);
+ assertSame(generator, factory.createTemplateGenerator());
+ verify(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder, generator);
+ }
+
+}
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java Sun Dec 5 15:34:21 2010
@@ -9,7 +9,9 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -31,7 +33,7 @@ import org.junit.Test;
public class TLDGeneratorTest {
/**
- * Test method for {@link org.apache.tiles.autotag.jsp.TLDGenerator#generate(java.io.File, java.lang.String, org.apache.tiles.autotag.model.TemplateSuite)}.
+ * Test method for {@link org.apache.tiles.autotag.jsp.TLDGenerator#generate(java.io.File, java.lang.String, org.apache.tiles.autotag.model.TemplateSuite, Map)}.
* @throws Exception If something goes wrong.
*/
@Test
@@ -48,7 +50,8 @@ public class TLDGeneratorTest {
file.mkdir();
file.deleteOnExit();
TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs.");
- suite.getCustomVariables().put("taglibURI", "http://www.initrode.net/tags/test");
+ Map<String, String> parameters = new HashMap<String, String>();
+ 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);
@@ -94,7 +97,7 @@ public class TLDGeneratorTest {
suite.addTemplateClass(clazz);
- generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite);
+ generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, parameters);
InputStream expected = getClass().getResourceAsStream("/tldtest-jsp.tld");
File effectiveFile = new File(file, "META-INF/tld/tldtest-jsp.tld");
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java Sun Dec 5 15:34:21 2010
@@ -9,7 +9,9 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -31,7 +33,7 @@ import org.junit.Test;
public class TagClassGeneratorTest {
/**
- * Test method for {@link TagClassGenerator#generate(File, String, TemplateSuite, TemplateClass)}.
+ * Test method for {@link TagClassGenerator#generate(File, String, TemplateSuite, TemplateClass, Map)}.
* @throws Exception If something goes wrong.
*/
@Test
@@ -48,7 +50,8 @@ public class TagClassGeneratorTest {
file.mkdir();
file.deleteOnExit();
TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs.");
- suite.getCustomVariables().put("taglibURI", "http://www.initrode.net/tags/test");
+ Map<String, String> parameters = new HashMap<String, String>();
+ 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);
@@ -72,7 +75,7 @@ public class TagClassGeneratorTest {
"doStuff", "DoStuff", executeMethod);
clazz.setDocumentation("Documentation of the DoStuff class.");
- generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, clazz);
+ generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, clazz, parameters);
InputStream expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/jsp/test/DoStuffTag.java");
File effectiveFile = new File(file, "/org/apache/tiles/autotag/jsp/test/DoStuffTag.java");
@@ -104,7 +107,7 @@ public class TagClassGeneratorTest {
suite.addTemplateClass(clazz);
- generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, clazz);
+ generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, clazz, parameters);
expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/jsp/test/DoStuffNoBodyTag.java");
effectiveFile = new File(file, "/org/apache/tiles/autotag/jsp/test/DoStuffNoBodyTag.java");
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/pom.xml
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/pom.xml?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/pom.xml (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/pom.xml Sun Dec 5 15:34:21 2010
@@ -28,5 +28,11 @@
<version>1.4</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>3.0</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java Sun Dec 5 15:34:21 2010
@@ -1,6 +1,7 @@
package org.apache.tiles.autotag.velocity;
import java.io.File;
+import java.util.Map;
import org.apache.tiles.autotag.generate.AbstractTemplateClassGenerator;
import org.apache.tiles.autotag.model.TemplateClass;
@@ -15,19 +16,19 @@ public class VelocityDirectiveGenerator
@Override
protected String getDirectoryName(File directory, String packageName,
- TemplateSuite suite, TemplateClass clazz) {
+ TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters) {
return packageName.replaceAll("\\.", "/");
}
@Override
protected String getFilename(File directory, String packageName,
- TemplateSuite suite, TemplateClass clazz) {
+ TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters) {
return clazz.getTagClassPrefix() + "Directive.java";
}
@Override
protected String getTemplatePath(File directory, String packageName,
- TemplateSuite suite, TemplateClass clazz) {
+ TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters) {
return "/org/apache/tiles/autotag/velocity/velocityDirective.vm";
}
}
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java Sun Dec 5 15:34:21 2010
@@ -1,6 +1,7 @@
package org.apache.tiles.autotag.velocity;
import java.io.File;
+import java.util.Map;
import org.apache.tiles.autotag.generate.AbstractTemplateSuiteGenerator;
import org.apache.tiles.autotag.model.TemplateSuite;
@@ -12,15 +13,15 @@ public class VelocityPropertiesGenerator
super(velocityEngine);
}
- protected String getTemplatePath(File directory, String packageName, TemplateSuite suite) {
+ protected String getTemplatePath(File directory, String packageName, TemplateSuite suite, Map<String, String> parameters) {
return "/org/apache/tiles/autotag/velocity/velocityProperties.vm";
}
- protected String getFilename(File directory, String packageName, TemplateSuite suite) {
+ protected String getFilename(File directory, String packageName, TemplateSuite suite, Map<String, String> parameters) {
return "velocity.properties";
}
- protected String getDirectoryName(File directory, String packageName, TemplateSuite suite) {
+ protected String getDirectoryName(File directory, String packageName, TemplateSuite suite, Map<String, String> parameters) {
return "META-INF/";
}
Added: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java?rev=1042375&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java (added)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java Sun Dec 5 15:34:21 2010
@@ -0,0 +1,46 @@
+package org.apache.tiles.autotag.velocity;
+
+import java.io.File;
+
+import org.apache.tiles.autotag.generate.TemplateGenerator;
+import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
+import org.apache.tiles.autotag.generate.TemplateGeneratorFactory;
+import org.apache.velocity.app.VelocityEngine;
+
+public class VelocityTemplateGeneratorFactory implements
+ TemplateGeneratorFactory {
+
+ /**
+ * Location of the file.
+ */
+ private File classesOutputDirectory;
+
+ /**
+ * Location of the file.
+ */
+ private File resourcesOutputDirectory;
+
+ private VelocityEngine velocityEngine;
+
+ private TemplateGeneratorBuilder templateGeneratorBuilder;
+
+ public VelocityTemplateGeneratorFactory(File classesOutputDirectory,
+ File resourcesOutputDirectory, VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) {
+ this.classesOutputDirectory = classesOutputDirectory;
+ this.resourcesOutputDirectory = resourcesOutputDirectory;
+ this.velocityEngine = velocityEngine;
+ this.templateGeneratorBuilder = templateGeneratorBuilder;
+ }
+
+ @Override
+ public TemplateGenerator createTemplateGenerator() {
+ return templateGeneratorBuilder
+ .setClassesOutputDirectory(classesOutputDirectory)
+ .setResourcesOutputDirectory(resourcesOutputDirectory)
+ .addResourcesTemplateSuiteGenerator(
+ new VelocityPropertiesGenerator(velocityEngine))
+ .addClassesTemplateClassGenerator(
+ new VelocityDirectiveGenerator(velocityEngine)).build();
+ }
+
+}
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java Sun Dec 5 15:34:21 2010
@@ -10,6 +10,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -31,7 +32,7 @@ import org.junit.Test;
public class VelocityDirectiveGeneratorTest {
/**
- * Test method for {@link VelocityDirectiveGenerator#generate(File, String, TemplateSuite, TemplateClass)}.
+ * Test method for {@link VelocityDirectiveGenerator#generate(File, String, TemplateSuite, TemplateClass, Map)}.
* @throws Exception If something goes wrong.
*/
@Test
@@ -71,7 +72,7 @@ public class VelocityDirectiveGeneratorT
"doStuff", "DoStuff", executeMethod);
clazz.setDocumentation("Documentation of the DoStuff class.");
- generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, clazz);
+ generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, clazz, null);
InputStream expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/velocity/test/DoStuffDirective.javat");
File effectiveFile = new File(file, "/org/apache/tiles/autotag/velocity/test/DoStuffDirective.java");
@@ -103,7 +104,7 @@ public class VelocityDirectiveGeneratorT
suite.addTemplateClass(clazz);
- generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, clazz);
+ generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, clazz, null);
expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/velocity/test/DoStuffNoBodyDirective.javat");
effectiveFile = new File(file, "/org/apache/tiles/autotag/velocity/test/DoStuffNoBodyDirective.java");
Modified: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java?rev=1042375&r1=1042374&r2=1042375&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java (original)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java Sun Dec 5 15:34:21 2010
@@ -10,6 +10,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -31,7 +32,7 @@ import org.junit.Test;
public class VelocityPropertiesGeneratorTest {
/**
- * Test method for {@link org.apache.tiles.autotag.velocity.VelocityPropertiesGenerator#generate(java.io.File, java.lang.String, org.apache.tiles.autotag.model.TemplateSuite)}.
+ * Test method for {@link org.apache.tiles.autotag.velocity.VelocityPropertiesGenerator#generate(java.io.File, java.lang.String, org.apache.tiles.autotag.model.TemplateSuite, Map)}.
* @throws Exception If something goes wrong.
*/
@Test
@@ -48,7 +49,6 @@ public class VelocityPropertiesGenerator
file.mkdir();
file.deleteOnExit();
TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs.");
- suite.getCustomVariables().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);
@@ -94,7 +94,7 @@ public class VelocityPropertiesGenerator
suite.addTemplateClass(clazz);
- generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite);
+ generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, null);
InputStream expected = getClass().getResourceAsStream("/velocity.properties.test");
File effectiveFile = new File(file, "META-INF/velocity.properties");
Added: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java
URL: http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java?rev=1042375&view=auto
==============================================================================
--- tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java (added)
+++ tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java Sun Dec 5 15:34:21 2010
@@ -0,0 +1,46 @@
+/**
+ *
+ */
+package org.apache.tiles.autotag.velocity;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.io.File;
+
+import org.apache.tiles.autotag.generate.TemplateGenerator;
+import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder;
+import org.apache.velocity.app.VelocityEngine;
+import org.junit.Test;
+
+/**
+ * Tests {@link JspTemplateGeneratorFactory}.
+ *
+ * @version $Rev$ $Date$
+ */
+public class VelocityTemplateGeneratorFactoryTest {
+
+ /**
+ * Test method for {@link JspTemplateGeneratorFactory#createTemplateGenerator()}.
+ */
+ @Test
+ public void testCreateTemplateGenerator() {
+ File classesOutputDirectory = createMock(File.class);
+ File resourcesOutputDirectory = createMock(File.class);
+ VelocityEngine velocityEngine = createMock(VelocityEngine.class);
+ TemplateGeneratorBuilder builder = createMock(TemplateGeneratorBuilder.class);
+ TemplateGenerator generator = createMock(TemplateGenerator.class);
+
+ expect(builder.setClassesOutputDirectory(classesOutputDirectory)).andReturn(builder);
+ expect(builder.setResourcesOutputDirectory(resourcesOutputDirectory)).andReturn(builder);
+ expect(builder.addResourcesTemplateSuiteGenerator(isA(VelocityPropertiesGenerator.class))).andReturn(builder);
+ expect(builder.addClassesTemplateClassGenerator(isA(VelocityDirectiveGenerator.class))).andReturn(builder);
+ expect(builder.build()).andReturn(generator);
+
+ replay(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder, generator);
+ VelocityTemplateGeneratorFactory factory = new VelocityTemplateGeneratorFactory(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder);
+ assertSame(generator, factory.createTemplateGenerator());
+ verify(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder, generator);
+ }
+
+}
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/sandbox/trunk/tiles-autotag/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL