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