Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateSuiteGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateSuiteGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateSuiteGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/AbstractTemplateSuiteGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -20,16 +20,24 @@ */ package org.apache.tiles.autotag.generate; -import static org.easymock.EasyMock.*; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.createMockBuilder; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.expectLastCall; +import static org.easymock.EasyMock.isA; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; import java.io.File; -import java.io.FileWriter; import java.io.IOException; +import java.io.Writer; import java.util.Map; import org.apache.commons.io.FileUtils; import org.apache.tiles.autotag.core.AutotagRuntimeException; import org.apache.tiles.autotag.core.ClassParseException; +import org.apache.tiles.autotag.core.OutputLocator; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; import org.apache.tiles.autotag.model.TemplateSuite; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; @@ -93,22 +101,22 @@ public class AbstractTemplateSuiteGenera public void testGenerate() throws Exception { directory.delete(); directory.mkdir(); + OutputLocator locator = new DirectoryOutputLocator(directory); TemplateSuite suite = createMock(TemplateSuite.class); Template template = createMock(Template.class); @SuppressWarnings("unchecked") Map<String, String> parameters = createMock(Map.class); String packageName = "org.apache.tiles.autotag.test"; - expect(generator.getDirectoryName(directory, packageName, suite, parameters)).andReturn("mydir"); - File mydir = new File(directory, "mydir"); - expect(generator.getFilename(mydir , packageName, suite, parameters)).andReturn("myfile.txt"); + expect(generator.getDirectoryName(packageName, suite, parameters)).andReturn("mydir"); + expect(generator.getFilename(packageName, suite, parameters)).andReturn("myfile.txt"); String sampleVmPath = "/sample.vm"; - expect(generator.getTemplatePath(mydir, packageName, suite, parameters)).andReturn(sampleVmPath); + expect(generator.getTemplatePath(packageName, suite, parameters)).andReturn(sampleVmPath); expect(velocityEngine.getTemplate("/sample.vm")).andReturn(template); - template.merge(isA(VelocityContext.class), isA(FileWriter.class)); + template.merge(isA(VelocityContext.class), isA(Writer.class)); replay(velocityEngine, generator, suite, template, parameters); - generator.generate(directory, packageName, suite, parameters); + generator.generate(locator, packageName, suite, parameters); verify(velocityEngine, generator, suite, template, parameters); } @@ -122,21 +130,21 @@ public class AbstractTemplateSuiteGenera public void testGenerateException1() throws Exception { directory.delete(); directory.mkdir(); + OutputLocator locator = new DirectoryOutputLocator(directory); TemplateSuite suite = createMock(TemplateSuite.class); Template template = createMock(Template.class); @SuppressWarnings("unchecked") Map<String, String> parameters = createMock(Map.class); String packageName = "org.apache.tiles.autotag.test"; - expect(generator.getDirectoryName(directory, packageName, suite, parameters)).andReturn("mydir"); - File mydir = new File(directory, "mydir"); - expect(generator.getFilename(mydir , packageName, suite, parameters)).andReturn("myfile.txt"); + expect(generator.getDirectoryName(packageName, suite, parameters)).andReturn("mydir"); + expect(generator.getFilename(packageName, suite, parameters)).andReturn("myfile.txt"); String sampleVmPath = "/sample.vm"; - expect(generator.getTemplatePath(mydir, packageName, suite, parameters)).andReturn(sampleVmPath); + expect(generator.getTemplatePath(packageName, suite, parameters)).andReturn(sampleVmPath); expect(velocityEngine.getTemplate("/sample.vm")).andThrow(new ResourceNotFoundException("hello")); replay(velocityEngine, generator, suite, template, parameters); - generator.generate(directory, packageName, suite, parameters); + generator.generate(locator, packageName, suite, parameters); verify(velocityEngine, generator, suite, template, parameters); } @@ -150,21 +158,21 @@ public class AbstractTemplateSuiteGenera public void testGenerateException2() throws Exception { directory.delete(); directory.mkdir(); + OutputLocator locator = new DirectoryOutputLocator(directory); TemplateSuite suite = createMock(TemplateSuite.class); Template template = createMock(Template.class); @SuppressWarnings("unchecked") Map<String, String> parameters = createMock(Map.class); String packageName = "org.apache.tiles.autotag.test"; - expect(generator.getDirectoryName(directory, packageName, suite, parameters)).andReturn("mydir"); - File mydir = new File(directory, "mydir"); - expect(generator.getFilename(mydir , packageName, suite, parameters)).andReturn("myfile.txt"); + expect(generator.getDirectoryName(packageName, suite, parameters)).andReturn("mydir"); + expect(generator.getFilename(packageName, suite, parameters)).andReturn("myfile.txt"); String sampleVmPath = "/sample.vm"; - expect(generator.getTemplatePath(mydir, packageName, suite, parameters)).andReturn(sampleVmPath); + expect(generator.getTemplatePath(packageName, suite, parameters)).andReturn(sampleVmPath); expect(velocityEngine.getTemplate("/sample.vm")).andThrow(new ParseErrorException("hello")); replay(velocityEngine, generator, suite, template, parameters); - generator.generate(directory, packageName, suite, parameters); + generator.generate(locator, packageName, suite, parameters); verify(velocityEngine, generator, suite, template, parameters); } @@ -178,21 +186,21 @@ public class AbstractTemplateSuiteGenera public void testGenerateException3() throws Exception { directory.delete(); directory.mkdir(); + OutputLocator locator = new DirectoryOutputLocator(directory); TemplateSuite suite = createMock(TemplateSuite.class); Template template = createMock(Template.class); @SuppressWarnings("unchecked") Map<String, String> parameters = createMock(Map.class); String packageName = "org.apache.tiles.autotag.test"; - expect(generator.getDirectoryName(directory, packageName, suite, parameters)).andReturn("mydir"); - File mydir = new File(directory, "mydir"); - expect(generator.getFilename(mydir , packageName, suite, parameters)).andReturn("myfile.txt"); + expect(generator.getDirectoryName(packageName, suite, parameters)).andReturn("mydir"); + expect(generator.getFilename(packageName, suite, parameters)).andReturn("myfile.txt"); String sampleVmPath = "/sample.vm"; - expect(generator.getTemplatePath(mydir, packageName, suite, parameters)).andReturn(sampleVmPath); + expect(generator.getTemplatePath(packageName, suite, parameters)).andReturn(sampleVmPath); expect(velocityEngine.getTemplate("/sample.vm")).andThrow(new Exception()); replay(velocityEngine, generator, suite, template, parameters); - generator.generate(directory, packageName, suite, parameters); + generator.generate(locator, packageName, suite, parameters); verify(velocityEngine, generator, suite, template, parameters); } @@ -206,23 +214,23 @@ public class AbstractTemplateSuiteGenera public void testGenerateException4() throws Exception { directory.delete(); directory.mkdir(); + OutputLocator locator = new DirectoryOutputLocator(directory); TemplateSuite suite = createMock(TemplateSuite.class); Template template = createMock(Template.class); @SuppressWarnings("unchecked") Map<String, String> parameters = createMock(Map.class); String packageName = "org.apache.tiles.autotag.test"; - expect(generator.getDirectoryName(directory, packageName, suite, parameters)).andReturn("mydir"); - File mydir = new File(directory, "mydir"); - expect(generator.getFilename(mydir , packageName, suite, parameters)).andReturn("myfile.txt"); + expect(generator.getDirectoryName(packageName, suite, parameters)).andReturn("mydir"); + expect(generator.getFilename(packageName, suite, parameters)).andReturn("myfile.txt"); String sampleVmPath = "/sample.vm"; - expect(generator.getTemplatePath(mydir, packageName, suite, parameters)).andReturn(sampleVmPath); + expect(generator.getTemplatePath(packageName, suite, parameters)).andReturn(sampleVmPath); expect(velocityEngine.getTemplate("/sample.vm")).andReturn(template); - template.merge(isA(VelocityContext.class), isA(FileWriter.class)); + template.merge(isA(VelocityContext.class), isA(Writer.class)); expectLastCall().andThrow(new IOException()); replay(velocityEngine, generator, suite, template, parameters); - generator.generate(directory, packageName, suite, parameters); + generator.generate(locator, packageName, suite, parameters); verify(velocityEngine, generator, suite, template, parameters); } @@ -236,23 +244,23 @@ public class AbstractTemplateSuiteGenera public void testGenerateException5() throws Exception { directory.delete(); directory.mkdir(); + OutputLocator locator = new DirectoryOutputLocator(directory); TemplateSuite suite = createMock(TemplateSuite.class); Template template = createMock(Template.class); @SuppressWarnings("unchecked") Map<String, String> parameters = createMock(Map.class); String packageName = "org.apache.tiles.autotag.test"; - expect(generator.getDirectoryName(directory, packageName, suite, parameters)).andReturn("mydir"); - File mydir = new File(directory, "mydir"); - expect(generator.getFilename(mydir , packageName, suite, parameters)).andReturn("myfile.txt"); + expect(generator.getDirectoryName(packageName, suite, parameters)).andReturn("mydir"); + expect(generator.getFilename(packageName, suite, parameters)).andReturn("myfile.txt"); String sampleVmPath = "/sample.vm"; - expect(generator.getTemplatePath(mydir, packageName, suite, parameters)).andReturn(sampleVmPath); + expect(generator.getTemplatePath(packageName, suite, parameters)).andReturn(sampleVmPath); expect(velocityEngine.getTemplate("/sample.vm")).andReturn(template); - template.merge(isA(VelocityContext.class), isA(FileWriter.class)); + template.merge(isA(VelocityContext.class), isA(Writer.class)); expectLastCall().andThrow(new ClassParseException()); replay(velocityEngine, generator, suite, template, parameters); - generator.generate(directory, packageName, suite, parameters); + generator.generate(locator, packageName, suite, parameters); verify(velocityEngine, generator, suite, template, parameters); }
Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/BasicTemplateGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -20,15 +20,19 @@ */ package org.apache.tiles.autotag.generate; -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.BasicTemplateGenerator.TCGeneratorDirectoryPair; import org.apache.tiles.autotag.generate.BasicTemplateGenerator.TSGeneratorDirectoryPair; import org.apache.tiles.autotag.model.TemplateClass; @@ -48,8 +52,7 @@ public class BasicTemplateGeneratorTest */ @Test public void testGenerate() throws IOException { - File file = File.createTempFile("tiles", "template"); - file.deleteOnExit(); + OutputLocator locator = createMock(OutputLocator.class); TemplateSuite suite = createMock(TemplateSuite.class); TemplateClass templateClass = createMock(TemplateClass.class); TemplateSuiteGenerator templateSuiteGenerator = createMock(TemplateSuiteGenerator.class); @@ -61,12 +64,12 @@ public class BasicTemplateGeneratorTest templateClasses.add(templateClass); expect(suite.getTemplateClasses()).andReturn(templateClasses); - templateSuiteGenerator.generate(file, "my.package", suite, parameters); - templateClassGenerator.generate(file, "my.package", suite, templateClass, parameters, "my.Runtime", "my.Request"); + templateSuiteGenerator.generate(locator, "my.package", suite, parameters); + templateClassGenerator.generate(locator, "my.package", suite, templateClass, parameters, "my.Runtime", "my.Request"); replay(suite, templateClass, templateSuiteGenerator, templateClassGenerator, parameters); - TSGeneratorDirectoryPair tsPair = new TSGeneratorDirectoryPair(file, templateSuiteGenerator); - TCGeneratorDirectoryPair tcPair = new TCGeneratorDirectoryPair(file, templateClassGenerator); + TSGeneratorDirectoryPair tsPair = new TSGeneratorDirectoryPair(locator, templateSuiteGenerator); + TCGeneratorDirectoryPair tcPair = new TCGeneratorDirectoryPair(locator, templateClassGenerator); List<TSGeneratorDirectoryPair> tsList = new ArrayList<BasicTemplateGenerator.TSGeneratorDirectoryPair>(); tsList.add(tsPair); List<TCGeneratorDirectoryPair> tcList = new ArrayList<BasicTemplateGenerator.TCGeneratorDirectoryPair>(); Modified: tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/TemplateGeneratorBuilderTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/TemplateGeneratorBuilderTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/TemplateGeneratorBuilderTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/generate/TemplateGeneratorBuilderTest.java Sun Dec 7 06:47:59 2014 @@ -20,11 +20,13 @@ */ package org.apache.tiles.autotag.generate; -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; - -import java.io.File; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.apache.tiles.autotag.core.OutputLocator; import org.junit.Test; /** @@ -39,16 +41,16 @@ public class TemplateGeneratorBuilderTes */ @Test public void testAddClassesTemplateSuiteGenerator() { - File dir = createMock(File.class); + OutputLocator locator = createMock(OutputLocator.class); TemplateSuiteGenerator generator = createMock(TemplateSuiteGenerator.class); - replay(dir, generator); + replay(locator, generator); TemplateGenerator templateGenerator = TemplateGeneratorBuilder - .createNewInstance().setClassesOutputDirectory(dir) + .createNewInstance().setClassesOutputLocator(locator) .addClassesTemplateSuiteGenerator(generator).build(); assertTrue(templateGenerator.isGeneratingClasses()); assertFalse(templateGenerator.isGeneratingResources()); - verify(dir, generator); + verify(locator, generator); } /** @@ -72,16 +74,16 @@ public class TemplateGeneratorBuilderTes */ @Test public void testAddClassesTemplateClassGenerator() { - File dir = createMock(File.class); + OutputLocator locator = createMock(OutputLocator.class); TemplateClassGenerator generator = createMock(TemplateClassGenerator.class); - replay(dir, generator); + replay(locator, generator); TemplateGenerator templateGenerator = TemplateGeneratorBuilder - .createNewInstance().setClassesOutputDirectory(dir) + .createNewInstance().setClassesOutputLocator(locator) .addClassesTemplateClassGenerator(generator).build(); assertTrue(templateGenerator.isGeneratingClasses()); assertFalse(templateGenerator.isGeneratingResources()); - verify(dir, generator); + verify(locator, generator); } /** @@ -105,16 +107,16 @@ public class TemplateGeneratorBuilderTes */ @Test public void testAddResourcesTemplateSuiteGenerator() { - File dir = createMock(File.class); + OutputLocator locator = createMock(OutputLocator.class); TemplateSuiteGenerator generator = createMock(TemplateSuiteGenerator.class); - replay(dir, generator); + replay(locator, generator); TemplateGenerator templateGenerator = TemplateGeneratorBuilder - .createNewInstance().setResourcesOutputDirectory(dir) + .createNewInstance().setResourcesOutputLocator(locator) .addResourcesTemplateSuiteGenerator(generator).build(); assertFalse(templateGenerator.isGeneratingClasses()); assertTrue(templateGenerator.isGeneratingResources()); - verify(dir, generator); + verify(locator, generator); } /** @@ -138,16 +140,16 @@ public class TemplateGeneratorBuilderTes */ @Test public void testAddResourcesTemplateClassGenerator() { - File dir = createMock(File.class); + OutputLocator locator = createMock(OutputLocator.class); TemplateClassGenerator generator = createMock(TemplateClassGenerator.class); - replay(dir, generator); + replay(locator, generator); TemplateGenerator templateGenerator = TemplateGeneratorBuilder - .createNewInstance().setResourcesOutputDirectory(dir) + .createNewInstance().setResourcesOutputLocator(locator) .addResourcesTemplateClassGenerator(generator).build(); assertFalse(templateGenerator.isGeneratingClasses()); assertTrue(templateGenerator.isGeneratingResources()); - verify(dir, generator); + verify(locator, generator); } /** Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java (original) +++ tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelGenerator.java Sun Dec 7 06:47:59 2014 @@ -20,7 +20,6 @@ */ package org.apache.tiles.autotag.freemarker; -import java.io.File; import java.util.Map; import org.apache.tiles.autotag.generate.AbstractTemplateClassGenerator; @@ -45,21 +44,21 @@ public class FMModelGenerator extends Ab } @Override - protected String getDirectoryName(File directory, String packageName, + protected String getDirectoryName(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return packageName.replaceAll("\\.", "/"); } @Override - protected String getFilename(File directory, String packageName, + protected String getFilename(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return clazz.getTagClassPrefix() + "FMModel.java"; } @Override - protected String getTemplatePath(File directory, String packageName, + protected String getTemplatePath(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return "/org/apache/tiles/autotag/freemarker/fmModel.vm"; Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGenerator.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGenerator.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGenerator.java (original) +++ tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGenerator.java Sun Dec 7 06:47:59 2014 @@ -20,7 +20,6 @@ */ package org.apache.tiles.autotag.freemarker; -import java.io.File; import java.util.Map; import org.apache.tiles.autotag.generate.AbstractTemplateSuiteGenerator; @@ -44,20 +43,20 @@ public class FMModelRepositoryGenerator } @Override - protected String getTemplatePath(File directory, String packageName, + protected String getTemplatePath(String packageName, TemplateSuite suite, Map<String, String> parameters) { return "/org/apache/tiles/autotag/freemarker/repository.vm"; } @Override - protected String getFilename(File directory, String packageName, + protected String getFilename(String packageName, TemplateSuite suite, Map<String, String> parameters) { String name = suite.getName(); return name.substring(0, 1).toUpperCase() + name.substring(1) + "FMModelRepository.java"; } @Override - protected String getDirectoryName(File directory, String packageName, + protected String getDirectoryName(String packageName, TemplateSuite suite, Map<String, String> parameters) { return packageName.replaceAll("\\.", "/"); } Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java (original) +++ tiles/autotag/trunk/tiles-autotag-freemarker/src/main/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactory.java Sun Dec 7 06:47:59 2014 @@ -20,8 +20,7 @@ */ package org.apache.tiles.autotag.freemarker; -import java.io.File; - +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.TemplateGenerator; import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder; import org.apache.tiles.autotag.generate.TemplateGeneratorFactory; @@ -36,11 +35,8 @@ public class FMTemplateGeneratorFactory /** * Location of the file. - * - * @parameter expression="${project.build.directory}/autotag-jsp-classes" - * @required */ - private File classesOutputDirectory; + private OutputLocator classesOutputLocator; /** * The Velocity engine. @@ -59,9 +55,9 @@ public class FMTemplateGeneratorFactory * @param velocityEngine The Velocity engine. * @param templateGeneratorBuilder The template generator builder. */ - public FMTemplateGeneratorFactory(File classesOutputDirectory, + public FMTemplateGeneratorFactory(OutputLocator classesOutputLocator, VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) { - this.classesOutputDirectory = classesOutputDirectory; + this.classesOutputLocator = classesOutputLocator; this.velocityEngine = velocityEngine; this.templateGeneratorBuilder = templateGeneratorBuilder; } @@ -69,7 +65,7 @@ public class FMTemplateGeneratorFactory @Override public TemplateGenerator createTemplateGenerator() { return templateGeneratorBuilder - .setClassesOutputDirectory(classesOutputDirectory) + .setClassesOutputLocator(classesOutputLocator) .addClassesTemplateSuiteGenerator( new FMModelRepositoryGenerator(velocityEngine)) .addClassesTemplateClassGenerator( Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -31,6 +31,8 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.core.runtime.ModelBody; import org.apache.tiles.autotag.model.TemplateClass; import org.apache.tiles.autotag.model.TemplateMethod; @@ -61,10 +63,9 @@ public class FMModelGeneratorTest { VelocityEngine velocityEngine = new VelocityEngine(props); FMModelGenerator generator = new FMModelGenerator(velocityEngine); - File file = File.createTempFile("autotag", null); - file.delete(); - file.mkdir(); - file.deleteOnExit(); + File tempDir = new File(System.getProperty("java.io.tmpdir"), "autotag"); + OutputLocator locator = new DirectoryOutputLocator(tempDir); + tempDir.deleteOnExit(); TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs."); List<TemplateParameter> params = new ArrayList<TemplateParameter>(); @@ -89,13 +90,13 @@ public class FMModelGeneratorTest { "doStuff", "DoStuff", executeMethod); clazz.setDocumentation("Documentation of the DoStuff class."); - generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null, + generator.generate(locator, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null, "org.apache.tiles.autotag.freemarker.test.Runtime", REQUEST_CLASS); 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"); + File effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/freemarker/test/DoStuffFMModel.java"); assertTrue(effectiveFile.exists()); InputStream effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); @@ -124,20 +125,20 @@ public class FMModelGeneratorTest { suite.addTemplateClass(clazz); - generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null, + generator.generate(locator, "org.apache.tiles.autotag.freemarker.test", suite, clazz, null, "org.apache.tiles.autotag.freemarker.test.Runtime", REQUEST_CLASS); expected = getClass() .getResourceAsStream( "/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.javat"); - effectiveFile = new File(file, "/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.java"); + effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/freemarker/test/DoStuffNoBodyFMModel.java"); assertTrue(effectiveFile.exists()); effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); effective.close(); expected.close(); - FileUtils.deleteDirectory(file); + FileUtils.deleteDirectory(tempDir); } } Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMModelRepositoryGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -31,6 +31,8 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.core.runtime.ModelBody; import org.apache.tiles.autotag.model.TemplateClass; import org.apache.tiles.autotag.model.TemplateMethod; @@ -61,10 +63,9 @@ public class FMModelRepositoryGeneratorT VelocityEngine velocityEngine = new VelocityEngine(props); FMModelRepositoryGenerator generator = new FMModelRepositoryGenerator(velocityEngine); - File file = File.createTempFile("autotag", null); - file.delete(); - file.mkdir(); - file.deleteOnExit(); + File tempDir = new File(System.getProperty("java.io.tmpdir"), "autotag"); + OutputLocator locator = new DirectoryOutputLocator(tempDir); + tempDir.deleteOnExit(); TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs."); List<TemplateParameter> params = new ArrayList<TemplateParameter>(); @@ -111,19 +112,19 @@ public class FMModelRepositoryGeneratorT suite.addTemplateClass(clazz); - generator.generate(file, "org.apache.tiles.autotag.freemarker.test", suite, null); + generator.generate(locator, "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"); + File effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/freemarker/test/TldtestFMModelRepository.java"); assertTrue(effectiveFile.exists()); InputStream effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); effective.close(); expected.close(); - FileUtils.deleteDirectory(file); + FileUtils.deleteDirectory(tempDir); } } Modified: tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-freemarker/src/test/java/org/apache/tiles/autotag/freemarker/FMTemplateGeneratorFactoryTest.java Sun Dec 7 06:47:59 2014 @@ -20,11 +20,14 @@ */ package org.apache.tiles.autotag.freemarker; -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; - -import java.io.File; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.isA; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; +import static org.junit.Assert.assertSame; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.TemplateGenerator; import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder; import org.apache.velocity.app.VelocityEngine; @@ -42,21 +45,21 @@ public class FMTemplateGeneratorFactoryT */ @Test public void testCreateTemplateGenerator() { - File classesOutputDirectory = createMock(File.class); + OutputLocator classesOutputLocator = createMock(OutputLocator.class); VelocityEngine velocityEngine = createMock(VelocityEngine.class); TemplateGeneratorBuilder builder = createMock(TemplateGeneratorBuilder.class); TemplateGenerator generator = createMock(TemplateGenerator.class); - expect(builder.setClassesOutputDirectory(classesOutputDirectory)).andReturn(builder); + expect(builder.setClassesOutputLocator(classesOutputLocator)).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); + replay(classesOutputLocator, velocityEngine, builder, generator); FMTemplateGeneratorFactory factory = new FMTemplateGeneratorFactory( - classesOutputDirectory, velocityEngine, builder); + classesOutputLocator, velocityEngine, builder); assertSame(generator, factory.createTemplateGenerator()); - verify(classesOutputDirectory, velocityEngine, builder, generator); + verify(classesOutputLocator, velocityEngine, builder, generator); } } Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java (original) +++ tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactory.java Sun Dec 7 06:47:59 2014 @@ -20,8 +20,7 @@ */ package org.apache.tiles.autotag.jsp; -import java.io.File; - +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.TemplateGenerator; import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder; import org.apache.tiles.autotag.generate.TemplateGeneratorFactory; @@ -37,12 +36,12 @@ public class JspTemplateGeneratorFactory /** * Location of the file. */ - private File classesOutputDirectory; + private OutputLocator classesOutputLocator; /** * Location of the file. */ - private File resourcesOutputDirectory; + private OutputLocator resourcesOutputLocator; /** * The Velocity engine. @@ -57,16 +56,16 @@ public class JspTemplateGeneratorFactory /** * Constructor. * - * @param classesOutputDirectory The directory where classes will be generated. - * @param resourcesOutputDirectory The directory where the TLD file will be generated. + * @param classesOutputLocator The directory where classes will be generated. + * @param resourcesOutputLocator The directory where the TLD file will be generated. * @param velocityEngine The Velocity engine. * @param templateGeneratorBuilder The template generator builder. */ - public JspTemplateGeneratorFactory(File classesOutputDirectory, - File resourcesOutputDirectory, VelocityEngine velocityEngine, + public JspTemplateGeneratorFactory(OutputLocator classesOutputLocator, + OutputLocator resourcesOutputLocator, VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) { - this.classesOutputDirectory = classesOutputDirectory; - this.resourcesOutputDirectory = resourcesOutputDirectory; + this.classesOutputLocator = classesOutputLocator; + this.resourcesOutputLocator = resourcesOutputLocator; this.velocityEngine = velocityEngine; this.templateGeneratorBuilder = templateGeneratorBuilder; } @@ -74,8 +73,8 @@ public class JspTemplateGeneratorFactory @Override public TemplateGenerator createTemplateGenerator() { return templateGeneratorBuilder - .setClassesOutputDirectory(classesOutputDirectory) - .setResourcesOutputDirectory(resourcesOutputDirectory) + .setClassesOutputLocator(classesOutputLocator) + .setResourcesOutputLocator(resourcesOutputLocator) .addResourcesTemplateSuiteGenerator( new TLDGenerator(velocityEngine)) .addClassesTemplateClassGenerator( Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java (original) +++ tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TLDGenerator.java Sun Dec 7 06:47:59 2014 @@ -20,7 +20,6 @@ */ package org.apache.tiles.autotag.jsp; -import java.io.File; import java.util.Map; import org.apache.tiles.autotag.generate.AbstractTemplateSuiteGenerator; @@ -44,19 +43,19 @@ public class TLDGenerator extends Abstra } @Override - protected String getTemplatePath(File directory, String packageName, + protected String getTemplatePath(String packageName, TemplateSuite suite, Map<String, String> parameters) { return "/org/apache/tiles/autotag/jsp/tld.vm"; } @Override - protected String getFilename(File directory, String packageName, + protected String getFilename(String packageName, TemplateSuite suite, Map<String, String> parameters) { return suite.getName() + "-jsp.tld"; } @Override - protected String getDirectoryName(File directory, String packageName, + protected String getDirectoryName(String packageName, TemplateSuite suite, Map<String, String> parameters) { return "META-INF/tld/"; } Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java (original) +++ tiles/autotag/trunk/tiles-autotag-jsp/src/main/java/org/apache/tiles/autotag/jsp/TagClassGenerator.java Sun Dec 7 06:47:59 2014 @@ -20,7 +20,6 @@ */ package org.apache.tiles.autotag.jsp; -import java.io.File; import java.util.Map; import org.apache.tiles.autotag.generate.AbstractTemplateClassGenerator; @@ -45,21 +44,21 @@ public class TagClassGenerator extends A } @Override - protected String getDirectoryName(File directory, String packageName, + protected String getDirectoryName(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return packageName.replaceAll("\\.", "/"); } @Override - protected String getFilename(File directory, String packageName, + protected String getFilename(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return clazz.getTagClassPrefix() + "Tag.java"; } @Override - protected String getTemplatePath(File directory, String packageName, + protected String getTemplatePath(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return "/org/apache/tiles/autotag/jsp/bodyTag.vm"; Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/JspTemplateGeneratorFactoryTest.java Sun Dec 7 06:47:59 2014 @@ -20,11 +20,14 @@ */ package org.apache.tiles.autotag.jsp; -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; - -import java.io.File; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.isA; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; +import static org.junit.Assert.assertSame; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.TemplateGenerator; import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder; import org.apache.velocity.app.VelocityEngine; @@ -42,24 +45,24 @@ public class JspTemplateGeneratorFactory */ @Test public void testCreateTemplateGenerator() { - File classesOutputDirectory = createMock(File.class); - File resourcesOutputDirectory = createMock(File.class); + OutputLocator classesOutputLocator = createMock(OutputLocator.class); + OutputLocator resourcesOutputLocator = createMock(OutputLocator.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.setClassesOutputLocator(classesOutputLocator)).andReturn(builder); + expect(builder.setResourcesOutputLocator(resourcesOutputLocator)).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); + replay(classesOutputLocator, resourcesOutputLocator, velocityEngine, builder, generator); JspTemplateGeneratorFactory factory = new JspTemplateGeneratorFactory( - classesOutputDirectory, resourcesOutputDirectory, + classesOutputLocator, resourcesOutputLocator, velocityEngine, builder); assertSame(generator, factory.createTemplateGenerator()); - verify(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder, generator); + verify(classesOutputLocator, resourcesOutputLocator, velocityEngine, builder, generator); } } Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -33,6 +33,8 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.core.runtime.ModelBody; import org.apache.tiles.autotag.model.TemplateClass; import org.apache.tiles.autotag.model.TemplateMethod; @@ -63,10 +65,9 @@ public class TLDGeneratorTest { VelocityEngine velocityEngine = new VelocityEngine(props); TLDGenerator generator = new TLDGenerator(velocityEngine); - File file = File.createTempFile("autotag", null); - file.delete(); - file.mkdir(); - file.deleteOnExit(); + File tempDir = new File(System.getProperty("java.io.tmpdir"), "autotag"); + OutputLocator locator = new DirectoryOutputLocator(tempDir); + tempDir.deleteOnExit(); TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs."); Map<String, String> parameters = new HashMap<String, String>(); parameters.put("taglibURI", "http://www.initrode.net/tags/test"); @@ -115,17 +116,17 @@ public class TLDGeneratorTest { suite.addTemplateClass(clazz); - generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, parameters); + generator.generate(locator, "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"); + File effectiveFile = new File(tempDir, "META-INF/tld/tldtest-jsp.tld"); assertTrue(effectiveFile.exists()); InputStream effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); effective.close(); expected.close(); - FileUtils.deleteDirectory(file); + FileUtils.deleteDirectory(tempDir); } } Modified: tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TagClassGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -33,6 +33,8 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.core.runtime.ModelBody; import org.apache.tiles.autotag.model.TemplateClass; import org.apache.tiles.autotag.model.TemplateMethod; @@ -63,10 +65,9 @@ public class TagClassGeneratorTest { VelocityEngine velocityEngine = new VelocityEngine(props); TagClassGenerator generator = new TagClassGenerator(velocityEngine); - File file = File.createTempFile("autotag", null); - file.delete(); - file.mkdir(); - file.deleteOnExit(); + File tempDir = new File(System.getProperty("java.io.tmpdir"), "autotag"); + OutputLocator locator = new DirectoryOutputLocator(tempDir); + tempDir.deleteOnExit(); TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs."); Map<String, String> parameters = new HashMap<String, String>(); parameters.put("taglibURI", "http://www.initrode.net/tags/test"); @@ -93,11 +94,11 @@ public class TagClassGeneratorTest { "doStuff", "DoStuff", executeMethod); clazz.setDocumentation("Documentation of the DoStuff class."); - generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, clazz, parameters, + generator.generate(locator, "org.apache.tiles.autotag.jsp.test", suite, clazz, parameters, "org.apache.tiles.autotag.jsp.test.Runtime", REQUEST_CLASS); 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"); + File effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/jsp/test/DoStuffTag.java"); assertTrue(effectiveFile.exists()); InputStream effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); @@ -126,18 +127,18 @@ public class TagClassGeneratorTest { suite.addTemplateClass(clazz); - generator.generate(file, "org.apache.tiles.autotag.jsp.test", suite, clazz, parameters, + generator.generate(locator, "org.apache.tiles.autotag.jsp.test", suite, clazz, parameters, "org.apache.tiles.autotag.jsp.test.Runtime", REQUEST_CLASS); expected = getClass().getResourceAsStream("/org/apache/tiles/autotag/jsp/test/DoStuffNoBodyTag.java"); - effectiveFile = new File(file, "/org/apache/tiles/autotag/jsp/test/DoStuffNoBodyTag.java"); + effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/jsp/test/DoStuffNoBodyTag.java"); assertTrue(effectiveFile.exists()); effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); effective.close(); expected.close(); - FileUtils.deleteDirectory(file); + FileUtils.deleteDirectory(tempDir); } } Modified: tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java (original) +++ tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGenerator.java Sun Dec 7 06:47:59 2014 @@ -20,7 +20,6 @@ */ package org.apache.tiles.autotag.velocity; -import java.io.File; import java.util.Map; import org.apache.tiles.autotag.generate.AbstractTemplateClassGenerator; @@ -45,21 +44,21 @@ public class VelocityDirectiveGenerator } @Override - protected String getDirectoryName(File directory, String packageName, + protected String getDirectoryName(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return packageName.replaceAll("\\.", "/"); } @Override - protected String getFilename(File directory, String packageName, + protected String getFilename(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return clazz.getTagClassPrefix() + "Directive.java"; } @Override - protected String getTemplatePath(File directory, String packageName, + protected String getTemplatePath(String packageName, TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters, String runtimeClass, String requestClass) { return "/org/apache/tiles/autotag/velocity/velocityDirective.vm"; Modified: tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java (original) +++ tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGenerator.java Sun Dec 7 06:47:59 2014 @@ -20,7 +20,6 @@ */ package org.apache.tiles.autotag.velocity; -import java.io.File; import java.util.Map; import org.apache.tiles.autotag.generate.AbstractTemplateSuiteGenerator; @@ -44,19 +43,19 @@ public class VelocityPropertiesGenerator } @Override - protected String getTemplatePath(File directory, String packageName, + protected String getTemplatePath(String packageName, TemplateSuite suite, Map<String, String> parameters) { return "/org/apache/tiles/autotag/velocity/velocityProperties.vm"; } @Override - protected String getFilename(File directory, String packageName, + protected String getFilename(String packageName, TemplateSuite suite, Map<String, String> parameters) { return "velocity.properties"; } @Override - protected String getDirectoryName(File directory, String packageName, + protected String getDirectoryName(String packageName, TemplateSuite suite, Map<String, String> parameters) { return "META-INF/"; } Modified: tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java (original) +++ tiles/autotag/trunk/tiles-autotag-velocity/src/main/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactory.java Sun Dec 7 06:47:59 2014 @@ -20,8 +20,7 @@ */ package org.apache.tiles.autotag.velocity; -import java.io.File; - +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.TemplateGenerator; import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder; import org.apache.tiles.autotag.generate.TemplateGeneratorFactory; @@ -39,12 +38,12 @@ public class VelocityTemplateGeneratorFa /** * Location of the file. */ - private File classesOutputDirectory; + private OutputLocator classesOutputLocator; /** * Location of the file. */ - private File resourcesOutputDirectory; + private OutputLocator resourcesOutputLocator; /** * The Velocity engine. @@ -59,16 +58,16 @@ public class VelocityTemplateGeneratorFa /** * Constructor. * - * @param classesOutputDirectory The directory where classes will be generated. - * @param resourcesOutputDirectory The directory where velocity.properties will be written. + * @param classesOutputLocator The directory where classes will be generated. + * @param resourcesOutputLocator The directory where velocity.properties will be written. * @param velocityEngine The Velocity engine. * @param templateGeneratorBuilder The template generator builder. */ - public VelocityTemplateGeneratorFactory(File classesOutputDirectory, - File resourcesOutputDirectory, VelocityEngine velocityEngine, + public VelocityTemplateGeneratorFactory(OutputLocator classesOutputLocator, + OutputLocator resourcesOutputLocator, VelocityEngine velocityEngine, TemplateGeneratorBuilder templateGeneratorBuilder) { - this.classesOutputDirectory = classesOutputDirectory; - this.resourcesOutputDirectory = resourcesOutputDirectory; + this.classesOutputLocator = classesOutputLocator; + this.resourcesOutputLocator = resourcesOutputLocator; this.velocityEngine = velocityEngine; this.templateGeneratorBuilder = templateGeneratorBuilder; } @@ -76,8 +75,8 @@ public class VelocityTemplateGeneratorFa @Override public TemplateGenerator createTemplateGenerator() { return templateGeneratorBuilder - .setClassesOutputDirectory(classesOutputDirectory) - .setResourcesOutputDirectory(resourcesOutputDirectory) + .setClassesOutputLocator(classesOutputLocator) + .setResourcesOutputLocator(resourcesOutputLocator) .addResourcesTemplateSuiteGenerator( new VelocityPropertiesGenerator(velocityEngine)) .addClassesTemplateClassGenerator( Modified: tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityDirectiveGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -31,6 +31,8 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.core.runtime.ModelBody; import org.apache.tiles.autotag.model.TemplateClass; import org.apache.tiles.autotag.model.TemplateMethod; @@ -62,10 +64,9 @@ public class VelocityDirectiveGeneratorT VelocityEngine velocityEngine = new VelocityEngine(props); VelocityDirectiveGenerator generator = new VelocityDirectiveGenerator(velocityEngine); - File file = File.createTempFile("autotag", null); - file.delete(); - file.mkdir(); - file.deleteOnExit(); + File tempDir = new File(System.getProperty("java.io.tmpdir"), "autotag"); + OutputLocator locator = new DirectoryOutputLocator(tempDir); + tempDir.deleteOnExit(); TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs."); List<TemplateParameter> params = new ArrayList<TemplateParameter>(); @@ -90,13 +91,13 @@ public class VelocityDirectiveGeneratorT "doStuff", "DoStuff", executeMethod); clazz.setDocumentation("Documentation of the DoStuff class."); - generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, clazz, null, + generator.generate(locator, "org.apache.tiles.autotag.velocity.test", suite, clazz, null, "org.apache.tiles.autotag.velocity.test.Runtime", REQUEST_CLASS); 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"); + File effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/velocity/test/DoStuffDirective.java"); assertTrue(effectiveFile.exists()); InputStream effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); @@ -125,20 +126,20 @@ public class VelocityDirectiveGeneratorT suite.addTemplateClass(clazz); - generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, clazz, null, + generator.generate(locator, "org.apache.tiles.autotag.velocity.test", suite, clazz, null, "org.apache.tiles.autotag.velocity.test.Runtime", REQUEST_CLASS); expected = getClass() .getResourceAsStream( "/org/apache/tiles/autotag/velocity/test/DoStuffNoBodyDirective.javat"); - effectiveFile = new File(file, "/org/apache/tiles/autotag/velocity/test/DoStuffNoBodyDirective.java"); + effectiveFile = new File(tempDir, "/org/apache/tiles/autotag/velocity/test/DoStuffNoBodyDirective.java"); assertTrue(effectiveFile.exists()); effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); effective.close(); expected.close(); - FileUtils.deleteDirectory(file); + FileUtils.deleteDirectory(tempDir); } } Modified: tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityPropertiesGeneratorTest.java Sun Dec 7 06:47:59 2014 @@ -31,6 +31,8 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.apache.tiles.autotag.core.DirectoryOutputLocator; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.core.runtime.ModelBody; import org.apache.tiles.autotag.model.TemplateClass; import org.apache.tiles.autotag.model.TemplateMethod; @@ -63,10 +65,9 @@ public class VelocityPropertiesGenerator VelocityEngine velocityEngine = new VelocityEngine(props); VelocityPropertiesGenerator generator = new VelocityPropertiesGenerator(velocityEngine); - File file = File.createTempFile("autotag", null); - file.delete(); - file.mkdir(); - file.deleteOnExit(); + File tempDir = new File(System.getProperty("java.io.tmpdir"), "autotag"); + OutputLocator locator = new DirectoryOutputLocator(tempDir); + tempDir.deleteOnExit(); TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD docs."); List<TemplateParameter> params = new ArrayList<TemplateParameter>(); @@ -113,17 +114,17 @@ public class VelocityPropertiesGenerator suite.addTemplateClass(clazz); - generator.generate(file, "org.apache.tiles.autotag.velocity.test", suite, null); + generator.generate(locator, "org.apache.tiles.autotag.velocity.test", suite, null); InputStream expected = getClass().getResourceAsStream("/velocity.properties.test"); - File effectiveFile = new File(file, "META-INF/velocity.properties"); + File effectiveFile = new File(tempDir, "META-INF/velocity.properties"); assertTrue(effectiveFile.exists()); InputStream effective = new FileInputStream(effectiveFile); assertTrue(IOUtils.contentEquals(effective, expected)); effective.close(); expected.close(); - FileUtils.deleteDirectory(file); + FileUtils.deleteDirectory(tempDir); } } Modified: tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java URL: http://svn.apache.org/viewvc/tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java?rev=1643653&r1=1643652&r2=1643653&view=diff ============================================================================== --- tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java (original) +++ tiles/autotag/trunk/tiles-autotag-velocity/src/test/java/org/apache/tiles/autotag/velocity/VelocityTemplateGeneratorFactoryTest.java Sun Dec 7 06:47:59 2014 @@ -20,11 +20,14 @@ */ package org.apache.tiles.autotag.velocity; -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; - -import java.io.File; +import static org.easymock.EasyMock.createMock; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.isA; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.verify; +import static org.junit.Assert.assertSame; +import org.apache.tiles.autotag.core.OutputLocator; import org.apache.tiles.autotag.generate.TemplateGenerator; import org.apache.tiles.autotag.generate.TemplateGeneratorBuilder; import org.apache.velocity.app.VelocityEngine; @@ -42,24 +45,24 @@ public class VelocityTemplateGeneratorFa */ @Test public void testCreateTemplateGenerator() { - File classesOutputDirectory = createMock(File.class); - File resourcesOutputDirectory = createMock(File.class); + OutputLocator classesOutputLocator = createMock(OutputLocator.class); + OutputLocator resourcesOutputLocator = createMock(OutputLocator.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.setClassesOutputLocator(classesOutputLocator)).andReturn(builder); + expect(builder.setResourcesOutputLocator(resourcesOutputLocator)).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); + replay(classesOutputLocator, resourcesOutputLocator, velocityEngine, builder, generator); VelocityTemplateGeneratorFactory factory = new VelocityTemplateGeneratorFactory( - classesOutputDirectory, resourcesOutputDirectory, + classesOutputLocator, resourcesOutputLocator, velocityEngine, builder); assertSame(generator, factory.createTemplateGenerator()); - verify(classesOutputDirectory, resourcesOutputDirectory, velocityEngine, builder, generator); + verify(classesOutputLocator, resourcesOutputLocator, velocityEngine, builder, generator); } }
