+++ /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.S2ContainerFactory;\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
- private S2Container container;\r
-\r
- protected synchronized S2Container getContainer() {\r
- if (container == null) {\r
- S2ContainerFactory.create(configPath);\r
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());\r
- SingletonS2ContainerFactory.setConfigPath(configPath);\r
- SingletonS2ContainerFactory.init();\r
- container = SingletonS2ContainerFactory.getContainer();\r
- }\r
- return container;\r
- }\r
-\r
- @Override\r
- public void init() throws BuildException {\r
- System.out.println("INIT");\r
- System.out.println(Thread.currentThread().getId());\r
- System.out.println(Thread.currentThread().getContextClassLoader());\r
- System.out.println(Thread.currentThread().getContextClassLoader().getResource("ea2ddl.dicon"));\r
- }\r
-\r
- @Override\r
- public void execute() throws BuildException {\r
- System.out.println("EXECUTE");\r
- System.out.println(Thread.currentThread().getId());\r
- System.out.println(Thread.currentThread().getContextClassLoader());\r
- getCommand().execute();\r
-\r
- }\r
-\r
- protected abstract Class<T> getCommandClass();\r
-\r
- @SuppressWarnings("unchecked")\r
- protected T getCommand() {\r
- return (T) getContainer().getComponent(getCommandClass());\r
- }\r
-\r
-}\r