4 package jp.sourceforge.ea2ddl.ddl.command;
\r
8 import jp.sourceforge.ea2ddl.ddl.factory.DatabaseModelFactory;
\r
9 import jp.sourceforge.ea2ddl.ddl.model.DatabaseModel;
\r
11 import org.seasar.extension.jdbc.gen.generator.GenerationContext;
\r
12 import org.seasar.extension.jdbc.gen.generator.Generator;
\r
13 import org.seasar.extension.jdbc.gen.internal.command.AbstractCommand;
\r
14 import org.seasar.extension.jdbc.gen.internal.generator.GenerationContextImpl;
\r
15 import org.seasar.extension.jdbc.gen.internal.generator.GeneratorImpl;
\r
16 import org.seasar.framework.container.SingletonS2Container;
\r
17 import org.seasar.framework.log.Logger;
\r
18 import org.seasar.framework.util.ClassUtil;
\r
24 public class GenerateDdlCommand extends AbstractCommand {
\r
25 protected Logger _logger = Logger.getLogger(GenerateDdlCommand.class);
\r
27 protected String _factoryClassName;
\r
29 public String getFactoryClassName() {
\r
30 return _factoryClassName;
\r
33 public void setFactoryClassName(String generatorClassName) {
\r
34 _factoryClassName = generatorClassName;
\r
41 * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doValidate
\r
45 protected void doValidate() {
\r
52 * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doInit()
\r
55 protected void doInit() {
\r
62 * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doExecute
\r
66 protected void doExecute() throws Throwable {
\r
67 DatabaseModelFactory factory = (DatabaseModelFactory) SingletonS2Container
\r
68 .getComponent(ClassUtil.convertClass(_factoryClassName));
\r
69 final DatabaseModel dbModel = factory.create();
\r
73 protected void generate(DatabaseModel model) {
\r
74 final File templateDir = new File("target/classes");
\r
75 final Generator generator = new GeneratorImpl("UTF-8", templateDir);
\r
76 File output = new File("base.sql");
\r
77 final GenerationContext context = new GenerationContextImpl(model,
\r
78 output, "base.ftl", "UTF-8", true);
\r
79 generator.generate(context);
\r
86 * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#doDestroy
\r
90 protected void doDestroy() {
\r
97 * org.seasar.extension.jdbc.gen.internal.command.AbstractCommand#getLogger
\r
101 protected Logger getLogger() {
\r