OSDN Git Service

FreeMarkerのテンプレートを使った生成タスクを作った
authortaktos9 <taktos9@136db618-7844-41ca-8ac1-fb3fd040db1d>
Thu, 23 Oct 2008 10:27:34 +0000 (10:27 +0000)
committertaktos9 <taktos9@136db618-7844-41ca-8ac1-fb3fd040db1d>
Thu, 23 Oct 2008 10:27:34 +0000 (10:27 +0000)
git-svn-id: http://svn.sourceforge.jp/svnroot/ea2ddl/trunk/ea2ddl@52 136db618-7844-41ca-8ac1-fb3fd040db1d

ea2ddl-ddl/build-ea2ddl.xml
ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/GenerateClassificationCommand.java [deleted file]
ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/GenerateDdlCommand.java [deleted file]
ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/TemplateCommand.java
ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/GenerateClassificationTask.java [deleted file]
ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/GenerateDdlTask.java [deleted file]
ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/TemplateTask.java
ea2ddl-ddl/src/main/resources/ddl.ftl [moved from ea2ddl-ddl/src/main/resources/base.ftl with 100% similarity]
ea2ddl-ddl/src/main/resources/ea2ddl-taskdef.properties
ea2ddl-ddl/src/main/resources/log4j.properties

index 2626a11..123334c 100644 (file)
        <typedef resource="ea2ddl-taskdef.properties" classpathref="classpath" />\r
 \r
        <target name="gen-ddl">\r
-               <gen-ddl\r
+               <gen-merge\r
                        configPath="${configPath}"\r
                        classpathref="classpath"\r
                        factoryClassName="jp.sourceforge.ea2ddl.ddl.factory.impl.DatabaseModelFactoryImpl"\r
+                       templatefilename="ddl.ftl"\r
+                       outputfilename="replace-schema-10-base.sql"\r
+                       outputdirname="output"\r
                        >\r
-               </gen-ddl>\r
-               <gen-classification\r
+               </gen-merge>\r
+               <gen-merge\r
                        configPath="${configPath}"\r
                        classpathref="classpath"\r
                        factoryClassName="jp.sourceforge.ea2ddl.ddl.factory.impl.ClassificationModelFactoryImpl"\r
                        templateFileName="classification.ftl"\r
                        outputFileName="classification.txt"\r
+                       outputdirname="output"\r
                        >\r
-               </gen-classification>\r
+               </gen-merge>\r
        </target>\r
 </project>\r
diff --git a/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/GenerateClassificationCommand.java b/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/GenerateClassificationCommand.java
deleted file mode 100644 (file)
index 5cf6a72..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/**\r
- * \r
- */\r
-package jp.sourceforge.ea2ddl.ddl.command;\r
-\r
-import java.io.File;\r
-\r
-import jp.sourceforge.ea2ddl.ddl.model.Model;\r
-\r
-import org.seasar.extension.jdbc.gen.generator.GenerationContext;\r
-import org.seasar.extension.jdbc.gen.generator.Generator;\r
-import org.seasar.extension.jdbc.gen.internal.generator.GenerationContextImpl;\r
-import org.seasar.extension.jdbc.gen.internal.generator.GeneratorImpl;\r
-import org.seasar.framework.log.Logger;\r
-\r
-/**\r
- * @author taktos\r
- * \r
- */\r
-public class GenerateClassificationCommand extends TemplateCommand {\r
-       private Logger _logger = Logger.getLogger(GenerateClassificationCommand.class);\r
-\r
-       /*\r
-        * (非 Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doDestroy\r
-        * ()\r
-        */\r
-       @Override\r
-       protected void doDestroy() {\r
-       }\r
-\r
-       /*\r
-        * (非 Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doInit()\r
-        */\r
-       @Override\r
-       protected void doInit() {\r
-       }\r
-\r
-       /*\r
-        * (非 Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doValidate\r
-        * ()\r
-        */\r
-       @Override\r
-       protected void doValidate() {\r
-       }\r
-\r
-       /*\r
-        * (非 Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#getLogger\r
-        * ()\r
-        */\r
-       @Override\r
-       protected Logger getLogger() {\r
-               return _logger;\r
-       }\r
-\r
-       @Override\r
-       protected GenerationContext createGenerationContext(Model model) {\r
-               final File output = new File(getOutputDirName(), getOutputFileName());\r
-               final GenerationContextImpl generationContext = new GenerationContextImpl(model, output,\r
-                               getTemplateFileName(), getOutputFileEncoding(), true);\r
-               return generationContext;\r
-       }\r
-\r
-       @Override\r
-       protected Generator createGenerator() {\r
-               final File dir = new File(getTemplateFileDir());\r
-               return new GeneratorImpl(getTemplateFileEncoding(), dir);\r
-       }\r
-\r
-}\r
diff --git a/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/GenerateDdlCommand.java b/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/command/GenerateDdlCommand.java
deleted file mode 100644 (file)
index 2e62214..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/**\r
- * \r
- */\r
-package jp.sourceforge.ea2ddl.ddl.command;\r
-\r
-import java.io.File;\r
-\r
-import jp.sourceforge.ea2ddl.ddl.factory.ModelFactory;\r
-import jp.sourceforge.ea2ddl.ddl.model.Model;\r
-\r
-import org.seasar.extension.jdbc.gen.generator.GenerationContext;\r
-import org.seasar.extension.jdbc.gen.generator.Generator;\r
-import org.seasar.extension.jdbc.gen.internal.command.AbstractCommand;\r
-import org.seasar.extension.jdbc.gen.internal.generator.GenerationContextImpl;\r
-import org.seasar.extension.jdbc.gen.internal.generator.GeneratorImpl;\r
-import org.seasar.framework.container.SingletonS2Container;\r
-import org.seasar.framework.log.Logger;\r
-import org.seasar.framework.util.ClassUtil;\r
-\r
-/**\r
- * @author taktos\r
- * \r
- */\r
-public class GenerateDdlCommand extends AbstractCommand {\r
-       protected Logger _logger = Logger.getLogger(GenerateDdlCommand.class);\r
-\r
-       protected String _factoryClassName;\r
-       protected String _templateFileDir = "target/classes";\r
-       protected String _templateFileEncoding = "UTF-8";\r
-       protected String _sqlFileEncoding = "UTF-8";\r
-       protected String _outputDirName = "output";\r
-       protected String _baseSqlFileName = "replace-schema-10-base.sql";\r
-       protected String _baseSqlTemplateFileName = "base.ftl";\r
-\r
-       public String getFactoryClassName() {\r
-               return _factoryClassName;\r
-       }\r
-\r
-       public void setFactoryClassName(String factoryClassName) {\r
-               _factoryClassName = factoryClassName;\r
-       }\r
-\r
-       public String getTemplateFileDir() {\r
-               return _templateFileDir;\r
-       }\r
-\r
-       public void setTemplateFileDir(String templateFileDir) {\r
-               _templateFileDir = templateFileDir;\r
-       }\r
-\r
-       public String getTemplateFileEncoding() {\r
-               return _templateFileEncoding;\r
-       }\r
-\r
-       public void setTemplateFileEncoding(String templateFileEncoding) {\r
-               _templateFileEncoding = templateFileEncoding;\r
-       }\r
-\r
-       public String getSqlFileEncoding() {\r
-               return _sqlFileEncoding;\r
-       }\r
-\r
-       public void setSqlFileEncoding(String sqlFileEncoding) {\r
-               _sqlFileEncoding = sqlFileEncoding;\r
-       }\r
-\r
-       public String getOutputDirName() {\r
-               return _outputDirName;\r
-       }\r
-\r
-       public void setOutputDirName(String outputDirName) {\r
-               _outputDirName = outputDirName;\r
-       }\r
-\r
-       public String getBaseSqlFileName() {\r
-               return _baseSqlFileName;\r
-       }\r
-\r
-       public void setBaseSqlFileName(String baseSqlFileName) {\r
-               _baseSqlFileName = baseSqlFileName;\r
-       }\r
-\r
-       public String getBaseSqlTemplateFileName() {\r
-               return _baseSqlTemplateFileName;\r
-       }\r
-\r
-       public void setBaseSqlTemplateFileName(String baseSqlTemplateFileName) {\r
-               _baseSqlTemplateFileName = baseSqlTemplateFileName;\r
-       }\r
-\r
-       /*\r
-        * (�� Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doValidate\r
-        * ()\r
-        */\r
-       @Override\r
-       protected void doValidate() {\r
-       }\r
-\r
-       /*\r
-        * (�� Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doInit()\r
-        */\r
-       @Override\r
-       protected void doInit() {\r
-       }\r
-\r
-       /*\r
-        * (�� Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doExecute\r
-        * ()\r
-        */\r
-       @Override\r
-       protected void doExecute() throws Throwable {\r
-               ModelFactory modelFactory = (ModelFactory) SingletonS2Container.getComponent(ClassUtil\r
-                               .convertClass(_factoryClassName));\r
-               final Model dbModel = modelFactory.create();\r
-               generate(dbModel);\r
-       }\r
-\r
-       protected void generate(Model model) {\r
-               final File templateDir = new File(_templateFileDir);\r
-               final Generator generator = new GeneratorImpl(_templateFileEncoding, templateDir);\r
-               File output = new File(_outputDirName, _baseSqlFileName);\r
-               final GenerationContext context = new GenerationContextImpl(model, output, _baseSqlTemplateFileName,\r
-                               _sqlFileEncoding, true);\r
-               generator.generate(context);\r
-       }\r
-\r
-       /*\r
-        * (�� Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doDestroy\r
-        * ()\r
-        */\r
-       @Override\r
-       protected void doDestroy() {\r
-       }\r
-\r
-       /*\r
-        * (�� Javadoc)\r
-        * \r
-        * @see\r
-        * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#getLogger\r
-        * ()\r
-        */\r
-       @Override\r
-       protected Logger getLogger() {\r
-               return _logger;\r
-       }\r
-\r
-}\r
index d81ff4c..2e6a2ff 100644 (file)
@@ -3,20 +3,26 @@
  */\r
 package jp.sourceforge.ea2ddl.ddl.command;\r
 \r
+import java.io.File;\r
+\r
 import jp.sourceforge.ea2ddl.ddl.factory.ModelFactory;\r
 import jp.sourceforge.ea2ddl.ddl.model.Model;\r
 \r
 import org.seasar.extension.jdbc.gen.generator.GenerationContext;\r
 import org.seasar.extension.jdbc.gen.generator.Generator;\r
 import org.seasar.extension.jdbc.gen.internal.command.AbstractCommand;\r
+import org.seasar.extension.jdbc.gen.internal.generator.GenerationContextImpl;\r
+import org.seasar.extension.jdbc.gen.internal.generator.GeneratorImpl;\r
 import org.seasar.framework.container.SingletonS2Container;\r
+import org.seasar.framework.log.Logger;\r
 import org.seasar.framework.util.ClassUtil;\r
 \r
 /**\r
  * @author taktos\r
  * \r
  */\r
-public abstract class TemplateCommand extends AbstractCommand {\r
+public class TemplateCommand extends AbstractCommand {\r
+       private Logger _logger = Logger.getLogger(TemplateCommand.class);\r
 \r
        protected String _factoryClassName;\r
        protected String _templateFileDir = "target/classes";\r
@@ -83,6 +89,14 @@ public abstract class TemplateCommand extends AbstractCommand {
        }\r
 \r
        @Override\r
+       protected void doInit() {\r
+       }\r
+\r
+       @Override\r
+       protected void doValidate() {\r
+       }\r
+\r
+       @Override\r
        protected void doExecute() throws Throwable {\r
                final ModelFactory modelFactory = (ModelFactory) SingletonS2Container.getComponent(ClassUtil\r
                                .convertClass(getFactoryClassName()));\r
@@ -90,7 +104,24 @@ public abstract class TemplateCommand extends AbstractCommand {
                createGenerator().generate(createGenerationContext(model));\r
        }\r
 \r
-       protected abstract Generator createGenerator();\r
+       @Override\r
+       protected void doDestroy() {\r
+       }\r
+\r
+       @Override\r
+       protected Logger getLogger() {\r
+               return _logger;\r
+       }\r
 \r
-       protected abstract GenerationContext createGenerationContext(Model model);\r
+       protected Generator createGenerator() {\r
+               final File dir = new File(getTemplateFileDir());\r
+               return new GeneratorImpl(getTemplateFileEncoding(), dir);\r
+       }\r
+\r
+       protected GenerationContext createGenerationContext(Model model) {\r
+               final File output = new File(getOutputDirName(), getOutputFileName());\r
+               final GenerationContextImpl generationContext = new GenerationContextImpl(model, output, getTemplateFileName(),\r
+                               getOutputFileEncoding(), true);\r
+               return generationContext;\r
+       }\r
 }\r
diff --git a/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/GenerateClassificationTask.java b/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/GenerateClassificationTask.java
deleted file mode 100644 (file)
index ac4b4c8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/**\r
- * \r
- */\r
-package jp.sourceforge.ea2ddl.ddl.task;\r
-\r
-import jp.sourceforge.ea2ddl.ddl.command.GenerateClassificationCommand;\r
-import jp.sourceforge.ea2ddl.ddl.command.TemplateCommand;\r
-\r
-/**\r
- * @author taktos\r
- * \r
- */\r
-public class GenerateClassificationTask extends TemplateTask {\r
-\r
-       protected GenerateClassificationCommand _command = new GenerateClassificationCommand();\r
-\r
-       @Override\r
-       protected TemplateCommand getTemplateCommand() {\r
-               return _command;\r
-       }\r
-\r
-}\r
diff --git a/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/GenerateDdlTask.java b/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/task/GenerateDdlTask.java
deleted file mode 100644 (file)
index 626ed45..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/**\r
- * \r
- */\r
-package jp.sourceforge.ea2ddl.ddl.task;\r
-\r
-import jp.sourceforge.ea2ddl.ddl.command.GenerateDdlCommand;\r
-\r
-import org.seasar.extension.jdbc.gen.command.Command;\r
-import org.seasar.extension.jdbc.gen.task.AbstractTask;\r
-\r
-/**\r
- * @author taktos\r
- * \r
- */\r
-public class GenerateDdlTask extends AbstractTask {\r
-       protected GenerateDdlCommand _command = new GenerateDdlCommand();\r
-\r
-       /*\r
-        * (\94ñ Javadoc)\r
-        * \r
-        * @see org.seasar.extension.jdbc.gen.task.AbstractTask#getCommand()\r
-        */\r
-       @Override\r
-       protected Command getCommand() {\r
-               return _command;\r
-       }\r
-\r
-       public void setConfigPath(String configPath) {\r
-               _command.setConfigPath(configPath);\r
-       }\r
-\r
-       public void setFactoryClassName(String className) {\r
-               _command.setFactoryClassName(className);\r
-       }\r
-}\r
index b6e91b8..b9d653f 100644 (file)
@@ -12,9 +12,12 @@ import org.seasar.extension.jdbc.gen.task.AbstractTask;
  * @author taktos\r
  * \r
  */\r
-public abstract class TemplateTask extends AbstractTask {\r
+public class TemplateTask extends AbstractTask {\r
+       private TemplateCommand _command = new TemplateCommand();\r
 \r
-       protected abstract TemplateCommand getTemplateCommand();\r
+       protected TemplateCommand getTemplateCommand() {\r
+               return _command;\r
+       }\r
 \r
        @Override\r
        protected Command getCommand() {\r
index 3be2361..5d633eb 100644 (file)
@@ -1,2 +1 @@
-gen-ddl=jp.sourceforge.ea2ddl.ddl.task.GenerateDdlTask\r
-gen-classification=jp.sourceforge.ea2ddl.ddl.task.GenerateClassificationTask
\ No newline at end of file
+gen-merge=jp.sourceforge.ea2ddl.ddl.task.TemplateTask
\ No newline at end of file
index 80480de..ac83275 100644 (file)
@@ -1,7 +1,7 @@
-log4j.rootLogger=DEBUG,STDOUT\r
+log4j.rootLogger=INFO,STDOUT\r
 log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender\r
 log4j.appender.STDOUT.ImmediateFlush=true\r
 log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout\r
 log4j.appender.STDOUT.layout.ConversionPattern=%d [%t] %-5p %c - %m%n\r
 \r
-log4j.category.org.seasar=DEBUG\r
+log4j.category.org.seasar=INFO\r