--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>\r
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>\r
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>\r
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+ <name>ea2ddl-comment</name>\r
+ <comment></comment>\r
+ <projects>\r
+ </projects>\r
+ <buildSpec>\r
+ <buildCommand>\r
+ <name>org.eclipse.jdt.core.javabuilder</name>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ <buildCommand>\r
+ <name>org.maven.ide.eclipse.maven2Builder</name>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ </buildSpec>\r
+ <natures>\r
+ <nature>org.eclipse.jdt.core.javanature</nature>\r
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>\r
+ </natures>\r
+</projectDescription>\r
--- /dev/null
+#Tue Oct 14 19:13:36 JST 2008\r
+eclipse.preferences.version=1\r
+encoding/<project>=UTF-8\r
--- /dev/null
+#Tue Oct 14 19:58:31 JST 2008\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=\r
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=\r
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=_\r
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=\r
+org.eclipse.jdt.core.codeComplete.localPrefixes=\r
+org.eclipse.jdt.core.codeComplete.localSuffixes=\r
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=\r
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=\r
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\r
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve\r
+org.eclipse.jdt.core.compiler.compliance=1.6\r
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate\r
+org.eclipse.jdt.core.compiler.debug.localVariable=generate\r
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate\r
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error\r
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error\r
+org.eclipse.jdt.core.compiler.source=1.6\r
--- /dev/null
+#Tue Oct 14 19:33:44 JST 2008\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.ui.exception.name=e\r
+org.eclipse.jdt.ui.gettersetter.use.is=true\r
+org.eclipse.jdt.ui.keywordthis=false\r
+org.eclipse.jdt.ui.overrideannotation=true\r
--- /dev/null
+#Tue Oct 14 14:02:08 JST 2008\r
+activeProfiles=\r
+eclipse.preferences.version=1\r
+fullBuildGoals=process-test-resources\r
+includeModules=false\r
+resolveWorkspaceProjects=true\r
+resourceFilterGoals=process-resources resources\:testResources\r
+version=1\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project name="ea2ddl-comment" default="gen-comment" basedir=".">\r
+\r
+ <property name="classpathdir" value="target/classes"/>
+\r
+ <path id="classpath">\r
+ <pathelement location="${classpathdir}"/>\r
+ <fileset dir="target/dependency">\r
+ <include name="**/*.jar"/>\r
+ </fileset>\r
+ </path>\r
+\r
+ <taskdef resource="ea2ddl-comment-task.properties" classpathref="classpath"/>\r
+\r
+ <target name="gen-comment">\r
+ <gen-comment\r
+ classpathref="classpath"\r
+ outputDirectory="hoge">\r
+ </gen-comment>\r
+ </target>\r
+</project>\r
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
+ <parent>\r
+ <artifactId>ea2ddl-parent</artifactId>\r
+ <groupId>jp.sourceforge.ea2ddl</groupId>\r
+ <version>0.0.1-SNAPSHOT</version>\r
+ </parent>\r
+ <modelVersion>4.0.0</modelVersion>\r
+ <groupId>jp.sourceforge.ea2ddl</groupId>\r
+ <artifactId>ea2ddl-comment</artifactId>\r
+ <name>Enterprise Archetect to DDL Comment Generator</name>\r
+ <description>Enterprise Archetect to DDL Comment Generator</description>\r
+\r
+ <dependencies>\r
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>ea2ddl-dao</artifactId>\r
+ <version>${project.version}</version>
+ </dependency>\r
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </dependency>\r
+\r
+ <dependency>\r
+ <groupId>org.apache.geronimo.specs</groupId>\r
+ <artifactId>geronimo-j2ee_1.4_spec</artifactId>\r
+ </dependency>\r
+ <dependency>\r
+ <groupId>org.apache.geronimo.specs</groupId>\r
+ <artifactId>geronimo-ejb_3.0_spec</artifactId>\r
+ </dependency>\r
+ <dependency>\r
+ <groupId>org.apache.geronimo.specs</groupId>\r
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>\r
+ </dependency>\r
+ <dependency>\r
+ <groupId>org.apache.geronimo.specs</groupId>\r
+ <artifactId>geronimo-jta_1.1_spec</artifactId>\r
+ </dependency>\r
+ </dependencies>\r
+</project>
\ No newline at end of file
--- /dev/null
+/**\r
+ * \r
+ */\r
+package jp.sourceforge.ea2ddl.comment.command;\r
+\r
+/**\r
+ * @author taktos\r
+ *\r
+ */\r
+public interface Command {\r
+\r
+ void execute();\r
+}\r
--- /dev/null
+package jp.sourceforge.ea2ddl.comment.command.impl;\r
+\r
+import jp.sourceforge.ea2ddl.comment.command.Command;\r
+\r
+public class GenerateCommentCommand implements Command {\r
+\r
+ private String _outputDirectory;\r
+ \r
+ public void setOutputDirectory(String outputDirectory) {\r
+ _outputDirectory = outputDirectory;\r
+ }\r
+\r
+ @Override\r
+ public void execute() {\r
+ System.out.println(_outputDirectory);\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * \r
+ */\r
+package jp.sourceforge.ea2ddl.comment.task;\r
+\r
+import jp.sourceforge.ea2ddl.comment.command.Command;\r
+\r
+import org.apache.tools.ant.BuildException;\r
+import org.apache.tools.ant.Task;\r
+import org.seasar.framework.container.S2Container;\r
+import org.seasar.framework.container.factory.SingletonS2ContainerFactory;\r
+\r
+/**\r
+ * @author taktos\r
+ *\r
+ */\r
+public abstract class AbstractTask<T extends Command> extends Task {\r
+\r
+ protected String configPath = "ea2ddl.dicon";\r
+\r
+ @Override\r
+ public void init() throws BuildException {\r
+ SingletonS2ContainerFactory.setConfigPath(configPath);\r
+ SingletonS2ContainerFactory.init();\r
+ }\r
+\r
+ @Override\r
+ public void execute() throws BuildException {\r
+ getCommand().execute();\r
+ }\r
+\r
+ protected abstract Class<T> getCommandClass();\r
+\r
+ @SuppressWarnings("unchecked")\r
+ protected T getCommand() {\r
+ return (T) SingletonS2ContainerFactory.getContainer().getComponent(getCommandClass());\r
+ }\r
+ \r
+}\r
--- /dev/null
+/**\r
+ * \r
+ */\r
+package jp.sourceforge.ea2ddl.comment.task;\r
+\r
+import jp.sourceforge.ea2ddl.comment.command.impl.GenerateCommentCommand;\r
+\r
+\r
+/**\r
+ * @author taktos\r
+ *\r
+ */\r
+public class GenerateCommentTask extends AbstractTask<GenerateCommentCommand> {\r
+ \r
+ @Override\r
+ protected Class<GenerateCommentCommand> getCommandClass() {\r
+ return GenerateCommentCommand.class;\r
+ }\r
+\r
+ public void setOutputDirectory(String outputDirectory) {\r
+ getCommand().setOutputDirectory(outputDirectory);\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" \r
+ "http://www.seasar.org/dtd/components24.dtd">\r
+<components>\r
+ <component name="config"\r
+ class="jp.sourceforge.ea2ddl.common.config.impl.ConfigImpl">\r
+ <initMethod name="load">\r
+ <arg>"app.properties"</arg>\r
+ </initMethod>\r
+ </component>\r
+</components>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" \r
+ "http://www.seasar.org/dtd/components24.dtd">\r
+<components>\r
+ <include path="app-config.dicon" />\r
+ <include path="aop.dicon" />\r
+ <include path="dbflute.dicon" />\r
+ \r
+ <component class="jp.sourceforge.ea2ddl.comment.command.impl.GenerateCommentCommand">\r
+ </component>\r
+</components>\r
--- /dev/null
+root.package.name=\u30d3\u30e5\u30fc
\ No newline at end of file
--- /dev/null
+gen-comment=jp.sourceforge.ea2ddl.comment.task.GenerateCommentTask
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" \r
+ "http://www.seasar.org/dtd/components24.dtd">\r
+<components>\r
+ <include path="app-config.dicon" />\r
+ <include path="aop.dicon" />\r
+ <include path="dbflute.dicon" />\r
+ \r
+ <component class="jp.sourceforge.ea2ddl.comment.command.impl.GenerateCommentCommand">\r
+ </component>\r
+</components>\r
--- /dev/null
+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
--- /dev/null
+package jp.sourceforge.ea2ddl.comment.task;\r
+\r
+import static org.junit.Assert.*;\r
+import jp.sourceforge.ea2ddl.comment.command.impl.GenerateCommentCommand;\r
+\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.seasar.framework.unit.Seasar2;\r
+import org.seasar.framework.unit.annotation.RootDicon;\r
+\r
+\r
+public class AbstractTaskTest {\r
+\r
+ @Test\r
+ public void testInit() {\r
+ SampleTask task = new SampleTask();\r
+ task.init();\r
+ GenerateCommentCommand command = task.getCommand();\r
+ assertNotNull(command);\r
+ command.execute();\r
+ }\r
+\r
+ class SampleTask extends AbstractTask<GenerateCommentCommand> {\r
+ @Override\r
+ protected Class<GenerateCommentCommand> getCommandClass() {\r
+ return GenerateCommentCommand.class;\r
+ }\r
+ }\r
+}\r