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