svnno****@sourc*****
svnno****@sourc*****
2009年 9月 21日 (月) 01:28:06 JST
Revision: 3629 http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3629 Author: yamkazu Date: 2009-09-21 01:28:06 +0900 (Mon, 21 Sep 2009) Log Message: ----------- とりあえずスクリプト実行してみる Modified Paths: -------------- eros/maven-jiemamy-plugin/trunk/pom.xml eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/CleanMojo.java eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExecuteMojo.java eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/JiemamyMojo.java eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/CleanDatabaseMojoTest.java eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/ExecuteMojoTest.java eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/JiemamyMojoTest.java eros/maven-jiemamy-plugin/trunk/src/test/resources/sample.xml Property Changed: ---------------- eros/maven-jiemamy-plugin/trunk/pom.xml eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/CleanMojo.java eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExecuteMojo.java eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/JiemamyMojo.java eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/CleanDatabaseMojoTest.java eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/ExecuteMojoTest.java eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/JiemamyMojoTest.java eros/maven-jiemamy-plugin/trunk/src/test/resources/jiemamy.jer eros/maven-jiemamy-plugin/trunk/src/test/resources/sample.xml Modified: eros/maven-jiemamy-plugin/trunk/pom.xml =================================================================== --- eros/maven-jiemamy-plugin/trunk/pom.xml 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/pom.xml 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> <artifactId>master</artifactId> Property changes on: eros/maven-jiemamy-plugin/trunk/pom.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Modified: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/CleanMojo.java =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/CleanMojo.java 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/CleanMojo.java 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,136 +1,136 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/04/12 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.maven; - -import java.io.IOException; -import java.net.URL; -import java.sql.Connection; -import java.sql.Driver; -import java.sql.SQLException; -import java.util.Properties; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; - -import org.jiemamy.Jiemamy; -import org.jiemamy.composer.ImportException; -import org.jiemamy.composer.importer.DefaultDatabaseImportConfig; -import org.jiemamy.dialect.Dialect; -import org.jiemamy.exception.DriverNotFoundException; -import org.jiemamy.utils.DatabaseCleaner; -import org.jiemamy.utils.DriverUtil; -import org.jiemamy.utils.JmIOUtil; - -/** - * Goal which clean Database. - * - * @goal clean - * @author daisuke - */ -public class CleanMojo extends AbstractMojo { - - private static final String DIALECT = "org.jiemamy.dialect.generic.GenericDialect"; - - /** - * @parameter - * @required - */ - private String username; - - /** - * @parameter - * @required - */ - private String password; - - /** - * @parameter - * @required - */ - private String driver; - - /** - * @parameter - * @required - */ - private String uri; - - - public void execute() throws MojoExecutionException { - Jiemamy jiemamy = Jiemamy.newInstance(); - jiemamy.getFactory().getRootModel().setDialectClassName(DIALECT); - DefaultDatabaseImportConfig config = new DefaultDatabaseImportConfig(); - - Connection connection = null; - try { - config.setDriverClassName(driver); - config.setUsername(username); - config.setPassword(password); - config.setImportDataSet(false); - config.setDialect((Dialect) Class.forName(DIALECT).newInstance()); - config.setUri(uri); - - Properties props = new Properties(); - props.setProperty("user", config.getUsername()); - props.setProperty("password", config.getPassword()); - - URL[] paths = config.getDriverJarPaths(); - String className = config.getDriverClassName(); - - Driver driver = DriverUtil.getDriverInstance(paths, className); - - connection = driver.connect(config.getUri(), props); - - if (connection == null) { - getLog().error("connection failed"); - throw new MojoExecutionException("connection failed"); - } - - DatabaseCleaner databaseCleaner = new DatabaseCleaner(); - config.setDialect(jiemamy.getDialect(jiemamy.getFactory().getRootModel())); -// config.setSchema(jiemamy.getFactory().getRootModel().getSchemaName()); - - databaseCleaner.clean(config); - } catch (DriverNotFoundException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("Driver not found: " + config.getDriverClassName(), e); - } catch (InstantiationException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("", e); - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("", e); - } catch (IOException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("", e); - } catch (SQLException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("", e); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("", e); - } catch (ImportException e) { - // TODO Auto-generated catch block - throw new MojoExecutionException("", e); - } finally { - JmIOUtil.closeQuietly(connection); - } - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/04/12 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.maven; + +import java.io.IOException; +import java.net.URL; +import java.sql.Connection; +import java.sql.Driver; +import java.sql.SQLException; +import java.util.Properties; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; + +import org.jiemamy.Jiemamy; +import org.jiemamy.composer.ImportException; +import org.jiemamy.composer.importer.DefaultDatabaseImportConfig; +import org.jiemamy.dialect.Dialect; +import org.jiemamy.exception.DriverNotFoundException; +import org.jiemamy.utils.DatabaseCleaner; +import org.jiemamy.utils.DriverUtil; +import org.jiemamy.utils.JmIOUtil; + +/** + * Goal which clean Database. + * + * @goal clean + * @author daisuke + */ +public class CleanMojo extends AbstractMojo { + + private static final String DIALECT = "org.jiemamy.dialect.generic.GenericDialect"; + + /** + * @parameter + * @required + */ + private String username; + + /** + * @parameter + * @required + */ + private String password; + + /** + * @parameter + * @required + */ + private String driver; + + /** + * @parameter + * @required + */ + private String uri; + + + public void execute() throws MojoExecutionException { + Jiemamy jiemamy = Jiemamy.newInstance(); + jiemamy.getFactory().getRootModel().setDialectClassName(DIALECT); + DefaultDatabaseImportConfig config = new DefaultDatabaseImportConfig(); + + Connection connection = null; + try { + config.setDriverClassName(driver); + config.setUsername(username); + config.setPassword(password); + config.setImportDataSet(false); + config.setDialect((Dialect) Class.forName(DIALECT).newInstance()); + config.setUri(uri); + + Properties props = new Properties(); + props.setProperty("user", config.getUsername()); + props.setProperty("password", config.getPassword()); + + URL[] paths = config.getDriverJarPaths(); + String className = config.getDriverClassName(); + + Driver driver = DriverUtil.getDriverInstance(paths, className); + + connection = driver.connect(config.getUri(), props); + + if (connection == null) { + getLog().error("connection failed"); + throw new MojoExecutionException("connection failed"); + } + + DatabaseCleaner databaseCleaner = new DatabaseCleaner(); + config.setDialect(jiemamy.getDialect(jiemamy.getFactory().getRootModel())); +// config.setSchema(jiemamy.getFactory().getRootModel().getSchemaName()); + + databaseCleaner.clean(config); + } catch (DriverNotFoundException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("Driver not found: " + config.getDriverClassName(), e); + } catch (InstantiationException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("", e); + } catch (IllegalAccessException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("", e); + } catch (IOException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("", e); + } catch (SQLException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("", e); + } catch (ClassNotFoundException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("", e); + } catch (ImportException e) { + // TODO Auto-generated catch block + throw new MojoExecutionException("", e); + } finally { + JmIOUtil.closeQuietly(connection); + } + } + +} Property changes on: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/CleanMojo.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExecuteMojo.java =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExecuteMojo.java 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExecuteMojo.java 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,287 +1,287 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/03 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.maven; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.net.URL; -import java.sql.Connection; -import java.sql.Driver; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; - -import org.jiemamy.Jiemamy; -import org.jiemamy.composer.importer.DefaultDatabaseImportConfig; -import org.jiemamy.dialect.Dialect; -import org.jiemamy.dialect.EmitConfig; -import org.jiemamy.exception.DriverNotFoundException; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.sql.SqlStatement; -import org.jiemamy.serializer.SerializationException; -import org.jiemamy.utils.DriverUtil; -import org.jiemamy.utils.JmIOUtil; - -/** - * jerファイルから生成したSQLをDBに適用するゴール。 - * - * @goal execute - * @author daisuke - */ -public class ExecuteMojo extends AbstractMojo { - - /** ConfigKey: 出力データセット番号 (Integer) */ - private static final String DATA_SET_INDEX = "dataSetIndex"; - - /** ConfigKey: DROP文を出力するかどうか (Boolean) */ - private static final String DROP = "drop"; - - /** ConfigKey: DROP文を出力するかどうか (Boolean) */ - private static final String SCHEMA = "schema"; - - /** - * Location of the input model file. - * - * @parameter expression="${project.build.directory}" - * @required - */ - private File inputFile; - - /** - * Parameter for exorter. - * - * <p>example</p> - * - * <pre>{@code - * <parameter> - * <schema>true</schema> - * <drop>true</drop> - * <dataSetIndex>0</dataSetIndex> - * <parameter> - * }</pre> - * - * @parameter - */ - private Map<String, Object> parameter; - - /** - * Database Username - * - * @parameter - * @required - */ - private String username; - - /** - * Database Password - * - * @parameter - * @required - */ - private String password; - - /** - * Database Driver - * - * @parameter - * @required - */ - private String driver; - - /** - * Database Uri - * - * @parameter - * @required - */ - private String uri; - - - /** - * {@link RootModel}をよりSQLを生成し、DatabaseにSQLを適用します。 - */ - public void execute() throws MojoExecutionException { - getLog().info(">>>> Starting maven-jiemamy-plugin..."); - - try { - getLog().info("Open Jiemamy model file " + inputFile.getName()); - FileInputStream inputStream = new FileInputStream(inputFile); - - getLog().info("Serializing stream to model."); - Jiemamy jiemamy = Jiemamy.newInstance(); - RootModel rootModel = jiemamy.getSerializer().deserialize(inputStream); - getLog().debug(rootModel.toString()); - - getLog().info("Exec Sql..."); - Dialect dialect = jiemamy.getDialect(rootModel); - List<SqlStatement> sqlStatements = dialect.emitStatements(rootModel, newEmitConfig()); - execSqlStatment(sqlStatements); - - } catch (FileNotFoundException e) { - throw new MojoExecutionException("can not found input file: " + inputFile.getName(), e); - } catch (SerializationException e) { - throw new MojoExecutionException("can not serialization jiemamy model.", e); - } catch (ClassNotFoundException e) { - throw new MojoExecutionException("can not get Dialect from input file.", e); - } - - getLog().info("<<<< Exit maven-jiemamy-plugin successfully."); - } - - /** - * {@link Connection}を取得します。 - * - * @return {@link Connection} - * @throws MojoExecutionException {@link Connection}が取得できなかった場合 - * @since 0.3 - */ - protected Connection getConnection() throws MojoExecutionException { - Connection connection = null; - DefaultDatabaseImportConfig config = new DefaultDatabaseImportConfig(); - config.setDriverClassName(driver); - config.setUsername(username); - config.setPassword(password); - config.setUri(uri); - - Properties props = new Properties(); - props.setProperty("user", config.getUsername()); - props.setProperty("password", config.getPassword()); - - URL[] paths = config.getDriverJarPaths(); - String className = config.getDriverClassName(); - - try { - Driver jdbcDriver = DriverUtil.getDriverInstance(paths, className); - connection = jdbcDriver.connect(config.getUri(), props); - } catch (DriverNotFoundException e) { - throw new MojoExecutionException("", e); - } catch (InstantiationException e) { - throw new MojoExecutionException("", e); - } catch (IllegalAccessException e) { - throw new MojoExecutionException("", e); - } catch (IOException e) { - throw new MojoExecutionException("", e); - } catch (SQLException e) { - throw new MojoExecutionException("", e); - } - - if (connection == null) { - throw new MojoExecutionException("can not create connection"); - } - return connection; - } - - /** - * {@link SqlStatement}の{@link List}からSQLを取得し、実行します。 - * - * @param sqlStatements {@link SqlStatement}のリスト - * @throws MojoExecutionException SQLの実行に失敗した場合 - * @since 0.3 - */ - private void execSqlStatment(List<SqlStatement> sqlStatements) throws MojoExecutionException { - Connection connection = null; - Statement statement = null; - try { - connection = getConnection(); - statement = connection.createStatement(); - try { - for (SqlStatement sqlStatement : sqlStatements) { - getLog().debug(sqlStatement.toString()); - statement.execute(sqlStatement.toString()); - } - } finally { - statement.close(); - } - } catch (SQLException e) { - throw new MojoExecutionException("", e); - } finally { - JmIOUtil.closeQuietly(connection); - } - } - - @SuppressWarnings("unchecked") - private <T>T getConfig(String key, T defaultValue) { - Object value = parameter.get(key); - return value == null ? defaultValue : (T) value; - } - - /** - * {@link #parameter}より{@link EmitConfig}の設定ファイルを生成する。 - * - * @return {@link EmitConfig} - * @since 0.3 - */ - private EmitConfig newEmitConfig() { - boolean schema = getConfig(SCHEMA, true); - boolean drop = getConfig(DROP, true); - int dataSetIndex = getConfig(DATA_SET_INDEX, 0); - return new ExecuteEmitConfig(schema, drop, dataSetIndex); - } - - - /** - * {@link ExecuteMojo}で使用する{@link EmitConfig}。 - * - * @since 0.3 - * @author yamkazu - */ - private static class ExecuteEmitConfig implements EmitConfig { - - boolean emitCreateSchemaStatement; - - boolean emitDropStatements; - - int dataSetIndex; - - - /** - * インスタンスを生成する。 - * - * @param emitCreateSchemaStatement スキーマを出力する場合は{@code true} - * @param emitDropStatements ドロップ文を出力する場合は{@code ture} - * @param dataSetIndex データセットのインデックス - */ - ExecuteEmitConfig(boolean emitCreateSchemaStatement, boolean emitDropStatements, int dataSetIndex) { - super(); - this.emitCreateSchemaStatement = emitCreateSchemaStatement; - this.emitDropStatements = emitDropStatements; - this.dataSetIndex = dataSetIndex; - } - - public boolean emitCreateSchemaStatement() { - return emitCreateSchemaStatement; - } - - public boolean emitDropStatements() { - return emitDropStatements; - } - - public int getDataSetIndex() { - return dataSetIndex; - } - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/03 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.maven; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URL; +import java.sql.Connection; +import java.sql.Driver; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.List; +import java.util.Map; +import java.util.Properties; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; + +import org.jiemamy.Jiemamy; +import org.jiemamy.composer.importer.DefaultDatabaseImportConfig; +import org.jiemamy.dialect.Dialect; +import org.jiemamy.dialect.EmitConfig; +import org.jiemamy.exception.DriverNotFoundException; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.sql.SqlStatement; +import org.jiemamy.serializer.SerializationException; +import org.jiemamy.utils.DriverUtil; +import org.jiemamy.utils.JmIOUtil; + +/** + * jerファイルから生成したSQLをDBに適用するゴール。 + * + * @goal execute + * @author daisuke + */ +public class ExecuteMojo extends AbstractMojo { + + /** ConfigKey: 出力データセット番号 (Integer) */ + private static final String DATA_SET_INDEX = "dataSetIndex"; + + /** ConfigKey: DROP文を出力するかどうか (Boolean) */ + private static final String DROP = "drop"; + + /** ConfigKey: DROP文を出力するかどうか (Boolean) */ + private static final String SCHEMA = "schema"; + + /** + * Location of the input model file. + * + * @parameter expression="${project.build.directory}" + * @required + */ + private File inputFile; + + /** + * Parameter for exorter. + * + * <p>example</p> + * + * <pre>{@code + * <parameter> + * <schema>true</schema> + * <drop>true</drop> + * <dataSetIndex>0</dataSetIndex> + * <parameter> + * }</pre> + * + * @parameter + */ + private Map<String, Object> parameter; + + /** + * Database Username + * + * @parameter + * @required + */ + private String username; + + /** + * Database Password + * + * @parameter + * @required + */ + private String password; + + /** + * Database Driver + * + * @parameter + * @required + */ + private String driver; + + /** + * Database Uri + * + * @parameter + * @required + */ + private String uri; + + + /** + * {@link RootModel}をよりSQLを生成し、DatabaseにSQLを適用します。 + */ + public void execute() throws MojoExecutionException { + getLog().info(">>>> Starting maven-jiemamy-plugin..."); + + try { + getLog().info("Open Jiemamy model file " + inputFile.getName()); + FileInputStream inputStream = new FileInputStream(inputFile); + + getLog().info("Serializing stream to model."); + Jiemamy jiemamy = Jiemamy.newInstance(); + RootModel rootModel = jiemamy.getSerializer().deserialize(inputStream); + getLog().debug(rootModel.toString()); + + getLog().info("Exec Sql..."); + Dialect dialect = jiemamy.getDialect(rootModel); + List<SqlStatement> sqlStatements = dialect.emitStatements(rootModel, newEmitConfig()); + execSqlStatment(sqlStatements); + + } catch (FileNotFoundException e) { + throw new MojoExecutionException("can not found input file: " + inputFile.getName(), e); + } catch (SerializationException e) { + throw new MojoExecutionException("can not serialization jiemamy model.", e); + } catch (ClassNotFoundException e) { + throw new MojoExecutionException("can not get Dialect from input file.", e); + } + + getLog().info("<<<< Exit maven-jiemamy-plugin successfully."); + } + + /** + * {@link Connection}を取得します。 + * + * @return {@link Connection} + * @throws MojoExecutionException {@link Connection}が取得できなかった場合 + * @since 0.3 + */ + protected Connection getConnection() throws MojoExecutionException { + Connection connection = null; + DefaultDatabaseImportConfig config = new DefaultDatabaseImportConfig(); + config.setDriverClassName(driver); + config.setUsername(username); + config.setPassword(password); + config.setUri(uri); + + Properties props = new Properties(); + props.setProperty("user", config.getUsername()); + props.setProperty("password", config.getPassword()); + + URL[] paths = config.getDriverJarPaths(); + String className = config.getDriverClassName(); + + try { + Driver jdbcDriver = DriverUtil.getDriverInstance(paths, className); + connection = jdbcDriver.connect(config.getUri(), props); + } catch (DriverNotFoundException e) { + throw new MojoExecutionException("", e); + } catch (InstantiationException e) { + throw new MojoExecutionException("", e); + } catch (IllegalAccessException e) { + throw new MojoExecutionException("", e); + } catch (IOException e) { + throw new MojoExecutionException("", e); + } catch (SQLException e) { + throw new MojoExecutionException("", e); + } + + if (connection == null) { + throw new MojoExecutionException("can not create connection"); + } + return connection; + } + + /** + * {@link SqlStatement}の{@link List}からSQLを取得し、実行します。 + * + * @param sqlStatements {@link SqlStatement}のリスト + * @throws MojoExecutionException SQLの実行に失敗した場合 + * @since 0.3 + */ + private void execSqlStatment(List<SqlStatement> sqlStatements) throws MojoExecutionException { + Connection connection = null; + Statement statement = null; + try { + connection = getConnection(); + statement = connection.createStatement(); + try { + for (SqlStatement sqlStatement : sqlStatements) { + getLog().debug(sqlStatement.toString()); + statement.execute(sqlStatement.toString()); + } + } finally { + statement.close(); + } + } catch (SQLException e) { + throw new MojoExecutionException("", e); + } finally { + JmIOUtil.closeQuietly(connection); + } + } + + @SuppressWarnings("unchecked") + private <T>T getConfig(String key, T defaultValue) { + Object value = parameter.get(key); + return value == null ? defaultValue : (T) value; + } + + /** + * {@link #parameter}より{@link EmitConfig}の設定ファイルを生成する。 + * + * @return {@link EmitConfig} + * @since 0.3 + */ + private EmitConfig newEmitConfig() { + boolean schema = getConfig(SCHEMA, true); + boolean drop = getConfig(DROP, true); + int dataSetIndex = getConfig(DATA_SET_INDEX, 0); + return new ExecuteEmitConfig(schema, drop, dataSetIndex); + } + + + /** + * {@link ExecuteMojo}で使用する{@link EmitConfig}。 + * + * @since 0.3 + * @author yamkazu + */ + private static class ExecuteEmitConfig implements EmitConfig { + + boolean emitCreateSchemaStatement; + + boolean emitDropStatements; + + int dataSetIndex; + + + /** + * インスタンスを生成する。 + * + * @param emitCreateSchemaStatement スキーマを出力する場合は{@code true} + * @param emitDropStatements ドロップ文を出力する場合は{@code ture} + * @param dataSetIndex データセットのインデックス + */ + ExecuteEmitConfig(boolean emitCreateSchemaStatement, boolean emitDropStatements, int dataSetIndex) { + super(); + this.emitCreateSchemaStatement = emitCreateSchemaStatement; + this.emitDropStatements = emitDropStatements; + this.dataSetIndex = dataSetIndex; + } + + public boolean emitCreateSchemaStatement() { + return emitCreateSchemaStatement; + } + + public boolean emitDropStatements() { + return emitDropStatements; + } + + public int getDataSetIndex() { + return dataSetIndex; + } + } + +} Property changes on: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExecuteMojo.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/JiemamyMojo.java =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/JiemamyMojo.java 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/JiemamyMojo.java 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,131 +1,131 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/03 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.maven; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.util.Map; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; - -import org.jiemamy.Jiemamy; -import org.jiemamy.composer.ExportException; -import org.jiemamy.composer.exporter.DefaultSqlExportConfig; -import org.jiemamy.composer.exporter.SqlExporter; -import org.jiemamy.model.RootModel; -import org.jiemamy.serializer.SerializationException; - -/** - * Goal which execute Exporter. - * - * @goal jiemamy - * @author daisuke - */ -public class JiemamyMojo extends AbstractMojo { - - /** - * Location of the input model file. - * - * @parameter expression="${project.build.directory}" - * @required - */ - private File inputFile; - - /** - * Fully qualified class name of the exporter class. - * - * @parameter expression="org.jiemamy.composer.exporter.SqlExporter" - * @required - */ - private String exporterClass; - - /** - * Parameter for exorter. - * @parameter - */ - private Map<String, Object> parameter; - - - public void execute() throws MojoExecutionException { - getLog().info(">>>> Starting maven-jiemamy-plugin..."); - -// if (outputFile.lastModified() > inputFile.lastModified()) { -// getLog().info("Nothing to generate - SQL file is up to date."); -// getLog().info("Exit maven-jiemamy-plugin."); -// return; -// } - - try { - getLog().info("Open Jiemamy model file " + inputFile.getName()); - FileInputStream inputStream = new FileInputStream(inputFile); - - getLog().info("Serializing stream to model."); - Jiemamy jiemamy = Jiemamy.newInstance(); - RootModel rootModel = jiemamy.getSerializer().deserialize(inputStream); - getLog().debug(rootModel.toString()); - - SqlExporter exporter = new SqlExporter(); - -// @SuppressWarnings("unchecked") -// Exporter<SqlExportConfig> exporter = (Exporter<SqlExportConfig>) Class.forName(exporterClass).newInstance(); - - getLog().info("Configure Exporter..."); - - // TODO Exporter指定されたら、Configも変えなきゃだよな…。 - DefaultSqlExportConfig config = new DefaultSqlExportConfig(); - config.setOutputFile(new File((String) parameter.get(SqlExporter.OUTPUT_FILE))); - config.setOverwrite(Boolean.valueOf((String) parameter.get(SqlExporter.OVERWRITE))); - config.setEmitDropStatements(Boolean.valueOf((String) parameter.get(SqlExporter.DROP))); - config.setEmitCreateSchema(Boolean.valueOf((String) parameter.get(SqlExporter.SCHEMA))); - String indexObject = (String) parameter.get(SqlExporter.DATA_SET_INDEX); - config.setDataSetIndex(indexObject == null ? -1 : Integer.valueOf(indexObject)); - - getLog().info("Executing Exporter..."); - - exporter.exportModel(rootModel, config); - } catch (FileNotFoundException e) { - e.printStackTrace(); - throw new MojoExecutionException("Jiemamy model file \"" + inputFile.getName() + "\" is not found.", e); - } catch (SerializationException e) { - e.printStackTrace(); - throw new MojoExecutionException("Cannot deserialize file \"" + inputFile.getName(), e); -// } catch (ClassNotFoundException e) { -// e.printStackTrace(); -// throw new MojoExecutionException("Exporter \"" + exporterClass + "\" is not found.", e); -// } catch (InstantiationException e) { -// e.printStackTrace(); -// throw new MojoExecutionException("Cannot instantiate Exporter \"" + exporterClass + "\"", e); -// } catch (IllegalAccessException e) { -// e.printStackTrace(); -// throw new MojoExecutionException("Cannot access Exporter \"" + exporterClass + "\"", e); - } catch (ExportException e) { - e.printStackTrace(); - throw new MojoExecutionException("ExportException is thrown.", e); - } catch (Exception e) { - e.printStackTrace(); - throw new MojoExecutionException("Exception is thrown.", e); - } finally { - getLog().info("done."); - } - - getLog().info("<<<< Exit maven-jiemamy-plugin successfully."); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/03 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.maven; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.Map; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; + +import org.jiemamy.Jiemamy; +import org.jiemamy.composer.ExportException; +import org.jiemamy.composer.exporter.DefaultSqlExportConfig; +import org.jiemamy.composer.exporter.SqlExporter; +import org.jiemamy.model.RootModel; +import org.jiemamy.serializer.SerializationException; + +/** + * Goal which execute Exporter. + * + * @goal jiemamy + * @author daisuke + */ +public class JiemamyMojo extends AbstractMojo { + + /** + * Location of the input model file. + * + * @parameter expression="${project.build.directory}" + * @required + */ + private File inputFile; + + /** + * Fully qualified class name of the exporter class. + * + * @parameter expression="org.jiemamy.composer.exporter.SqlExporter" + * @required + */ + private String exporterClass; + + /** + * Parameter for exorter. + * @parameter + */ + private Map<String, Object> parameter; + + + public void execute() throws MojoExecutionException { + getLog().info(">>>> Starting maven-jiemamy-plugin..."); + +// if (outputFile.lastModified() > inputFile.lastModified()) { +// getLog().info("Nothing to generate - SQL file is up to date."); +// getLog().info("Exit maven-jiemamy-plugin."); +// return; +// } + + try { + getLog().info("Open Jiemamy model file " + inputFile.getName()); + FileInputStream inputStream = new FileInputStream(inputFile); + + getLog().info("Serializing stream to model."); + Jiemamy jiemamy = Jiemamy.newInstance(); + RootModel rootModel = jiemamy.getSerializer().deserialize(inputStream); + getLog().debug(rootModel.toString()); + + SqlExporter exporter = new SqlExporter(); + +// @SuppressWarnings("unchecked") +// Exporter<SqlExportConfig> exporter = (Exporter<SqlExportConfig>) Class.forName(exporterClass).newInstance(); + + getLog().info("Configure Exporter..."); + + // TODO Exporter指定されたら、Configも変えなきゃだよな…。 + DefaultSqlExportConfig config = new DefaultSqlExportConfig(); + config.setOutputFile(new File((String) parameter.get(SqlExporter.OUTPUT_FILE))); + config.setOverwrite(Boolean.valueOf((String) parameter.get(SqlExporter.OVERWRITE))); + config.setEmitDropStatements(Boolean.valueOf((String) parameter.get(SqlExporter.DROP))); + config.setEmitCreateSchema(Boolean.valueOf((String) parameter.get(SqlExporter.SCHEMA))); + String indexObject = (String) parameter.get(SqlExporter.DATA_SET_INDEX); + config.setDataSetIndex(indexObject == null ? -1 : Integer.valueOf(indexObject)); + + getLog().info("Executing Exporter..."); + + exporter.exportModel(rootModel, config); + } catch (FileNotFoundException e) { + e.printStackTrace(); + throw new MojoExecutionException("Jiemamy model file \"" + inputFile.getName() + "\" is not found.", e); + } catch (SerializationException e) { + e.printStackTrace(); + throw new MojoExecutionException("Cannot deserialize file \"" + inputFile.getName(), e); +// } catch (ClassNotFoundException e) { +// e.printStackTrace(); +// throw new MojoExecutionException("Exporter \"" + exporterClass + "\" is not found.", e); +// } catch (InstantiationException e) { +// e.printStackTrace(); +// throw new MojoExecutionException("Cannot instantiate Exporter \"" + exporterClass + "\"", e); +// } catch (IllegalAccessException e) { +// e.printStackTrace(); +// throw new MojoExecutionException("Cannot access Exporter \"" + exporterClass + "\"", e); + } catch (ExportException e) { + e.printStackTrace(); + throw new MojoExecutionException("ExportException is thrown.", e); + } catch (Exception e) { + e.printStackTrace(); + throw new MojoExecutionException("Exception is thrown.", e); + } finally { + getLog().info("done."); + } + + getLog().info("<<<< Exit maven-jiemamy-plugin successfully."); + } +} Property changes on: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/JiemamyMojo.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/CleanDatabaseMojoTest.java =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/CleanDatabaseMojoTest.java 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/CleanDatabaseMojoTest.java 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,82 +1,82 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/03 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.maven; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -/** - * {@link JiemamyMojo}のテストクラス。 - * - * @author daisuke - */ -public class CleanDatabaseMojoTest { - - /** テスト対象 */ - private CleanMojo cleanDatabaseMojo; - - - /** - * テストを初期化する。 - * - * @throws Exception 例外が発生した場合 - */ - @Before - public void setUp() throws Exception { - cleanDatabaseMojo = new CleanMojo(); - -// HashMap<String, Object> parameter = new HashMap<String, Object>(); -// parameter.put(SqlExporter.OUTPUT_FILE, outputFile); -// parameter.put(SqlExporter.OVERWRITE, true); -// -// Field parameterField = JiemamyMojo.class.getDeclaredField("parameter"); -// parameterField.setAccessible(true); -// parameterField.set(cleanDatabaseMojo, parameter); -// -// Field inputFileField = JiemamyMojo.class.getDeclaredField("inputFile"); -// inputFileField.setAccessible(true); -// inputFileField.set(cleanDatabaseMojo, inputFile); - } - - /** - * テストの情報を破棄する。 - * - * @throws Exception 例外が発生した場合 - */ - @After - public void tearDown() throws Exception { - cleanDatabaseMojo = null; - } - - /** - * DBがクリーンされる。 - * - * @throws Exception 例外が発生した場合 - */ - @Test - public void test01_DBがクリーンされる() throws Exception { - - // TODO CREATE TABLE - -// cleanDatabaseMojo.execute(); - - // TODO assertion - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/03 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.maven; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * {@link JiemamyMojo}のテストクラス。 + * + * @author daisuke + */ +public class CleanDatabaseMojoTest { + + /** テスト対象 */ + private CleanMojo cleanDatabaseMojo; + + + /** + * テストを初期化する。 + * + * @throws Exception 例外が発生した場合 + */ + @Before + public void setUp() throws Exception { + cleanDatabaseMojo = new CleanMojo(); + +// HashMap<String, Object> parameter = new HashMap<String, Object>(); +// parameter.put(SqlExporter.OUTPUT_FILE, outputFile); +// parameter.put(SqlExporter.OVERWRITE, true); +// +// Field parameterField = JiemamyMojo.class.getDeclaredField("parameter"); +// parameterField.setAccessible(true); +// parameterField.set(cleanDatabaseMojo, parameter); +// +// Field inputFileField = JiemamyMojo.class.getDeclaredField("inputFile"); +// inputFileField.setAccessible(true); +// inputFileField.set(cleanDatabaseMojo, inputFile); + } + + /** + * テストの情報を破棄する。 + * + * @throws Exception 例外が発生した場合 + */ + @After + public void tearDown() throws Exception { + cleanDatabaseMojo = null; + } + + /** + * DBがクリーンされる。 + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test01_DBがクリーンされる() throws Exception { + + // TODO CREATE TABLE + +// cleanDatabaseMojo.execute(); + + // TODO assertion + } +} Property changes on: eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/CleanDatabaseMojoTest.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/ExecuteMojoTest.java =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/ExecuteMojoTest.java 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/ExecuteMojoTest.java 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,116 +1,116 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/09/20 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.maven; - -import java.io.File; -import java.lang.reflect.Field; -import java.util.HashMap; - -import org.junit.After; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -/** - * {@link ExecuteMojo}のテストクラス。 - * - * @since 0.3 - * @author yamkazu - */ -public class ExecuteMojoTest { - - /** Database Username */ - private static final String DB_USER = "postgres"; - - /** Database Password */ - private static final String DB_PASSWORD = "postgres"; - - /** Database Url */ - private static final String DB_URL = "jdbc:postgresql:test"; - - /** Database Driver */ - private static final String DB_DRIVER = "org.postgresql.Driver"; - - /** テスト用入力ファイル */ - private static final File inputFile = new File("src/test/resources/jiemamy.jer"); - - /** テスト対象 */ - private ExecuteMojo executeMojo; - - - /** - * テストを初期化する。 - * - * @throws Exception 例外が発生した場合 - */ - @Before - public void setUp() throws Exception { - executeMojo = new ExecuteMojo(); - - HashMap<String, Object> parameter = new HashMap<String, Object>(); - - Field parameterField = ExecuteMojo.class.getDeclaredField("parameter"); - parameterField.setAccessible(true); - parameterField.set(executeMojo, parameter); - - Field inputFileField = ExecuteMojo.class.getDeclaredField("inputFile"); - inputFileField.setAccessible(true); - inputFileField.set(executeMojo, inputFile); - - Field driverField = ExecuteMojo.class.getDeclaredField("driver"); - driverField.setAccessible(true); - driverField.set(executeMojo, DB_DRIVER); - - Field uriField = ExecuteMojo.class.getDeclaredField("uri"); - uriField.setAccessible(true); - uriField.set(executeMojo, DB_URL); - - Field usernameFiled = ExecuteMojo.class.getDeclaredField("username"); - usernameFiled.setAccessible(true); - usernameFiled.set(executeMojo, DB_USER); - - Field passwordField = ExecuteMojo.class.getDeclaredField("password"); - passwordField.setAccessible(true); - passwordField.set(executeMojo, DB_PASSWORD); - - } - - /** - * テストの情報を破棄する。 - * - * @throws Exception 例外が発生した場合 - */ - @After - public void tearDown() throws Exception { - executeMojo = null; - } - - /** - * JiemamyModelからSQLを生成しDBに適用する。 - * - * @throws Exception テストに失敗した場合 - * @since 0.3 - */ - @Test - @Ignore - public void test01_JiemamyModelからSQLを生成しDBに適用する() throws Exception { - executeMojo.execute(); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/09/20 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.maven; + +import java.io.File; +import java.lang.reflect.Field; +import java.util.HashMap; + +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +/** + * {@link ExecuteMojo}のテストクラス。 + * + * @since 0.3 + * @author yamkazu + */ +public class ExecuteMojoTest { + + /** Database Username */ + private static final String DB_USER = "postgres"; + + /** Database Password */ + private static final String DB_PASSWORD = "postgres"; + + /** Database Url */ + private static final String DB_URL = "jdbc:postgresql:test"; + + /** Database Driver */ + private static final String DB_DRIVER = "org.postgresql.Driver"; + + /** テスト用入力ファイル */ + private static final File inputFile = new File("src/test/resources/jiemamy.jer"); + + /** テスト対象 */ + private ExecuteMojo executeMojo; + + + /** + * テストを初期化する。 + * + * @throws Exception 例外が発生した場合 + */ + @Before + public void setUp() throws Exception { + executeMojo = new ExecuteMojo(); + + HashMap<String, Object> parameter = new HashMap<String, Object>(); + + Field parameterField = ExecuteMojo.class.getDeclaredField("parameter"); + parameterField.setAccessible(true); + parameterField.set(executeMojo, parameter); + + Field inputFileField = ExecuteMojo.class.getDeclaredField("inputFile"); + inputFileField.setAccessible(true); + inputFileField.set(executeMojo, inputFile); + + Field driverField = ExecuteMojo.class.getDeclaredField("driver"); + driverField.setAccessible(true); + driverField.set(executeMojo, DB_DRIVER); + + Field uriField = ExecuteMojo.class.getDeclaredField("uri"); + uriField.setAccessible(true); + uriField.set(executeMojo, DB_URL); + + Field usernameFiled = ExecuteMojo.class.getDeclaredField("username"); + usernameFiled.setAccessible(true); + usernameFiled.set(executeMojo, DB_USER); + + Field passwordField = ExecuteMojo.class.getDeclaredField("password"); + passwordField.setAccessible(true); + passwordField.set(executeMojo, DB_PASSWORD); + + } + + /** + * テストの情報を破棄する。 + * + * @throws Exception 例外が発生した場合 + */ + @After + public void tearDown() throws Exception { + executeMojo = null; + } + + /** + * JiemamyModelからSQLを生成しDBに適用する。 + * + * @throws Exception テストに失敗した場合 + * @since 0.3 + */ + @Test + @Ignore + public void test01_JiemamyModelからSQLを生成しDBに適用する() throws Exception { + executeMojo.execute(); + } + +} Property changes on: eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/ExecuteMojoTest.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/JiemamyMojoTest.java =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/JiemamyMojoTest.java 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/JiemamyMojoTest.java 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,106 +1,106 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/03 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.maven; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - -import java.io.File; -import java.lang.reflect.Field; -import java.util.HashMap; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.CharEncoding; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import org.jiemamy.composer.exporter.SqlExporter; - -/** - * {@link JiemamyMojo}のテストクラス。 - * - * @author daisuke - */ -public class JiemamyMojoTest { - - /** テスト用入力ファイル */ - private static final File inputFile = new File("src/test/resources/sample.xml"); - - /** テスト用出力ファイル */ - private static final String outputFile = "target/output.sql"; - - /** テスト対象 */ - private JiemamyMojo jiemamyMojo; - - - /** - * テストを初期化する。 - * - * @throws Exception 例外が発生した場合 - */ - @Before - public void setUp() throws Exception { - jiemamyMojo = new JiemamyMojo(); - - HashMap<String, Object> parameter = new HashMap<String, Object>(); - parameter.put(SqlExporter.OUTPUT_FILE, outputFile); - parameter.put(SqlExporter.OVERWRITE, "true"); - - Field parameterField = JiemamyMojo.class.getDeclaredField("parameter"); - parameterField.setAccessible(true); - parameterField.set(jiemamyMojo, parameter); - - Field inputFileField = JiemamyMojo.class.getDeclaredField("inputFile"); - inputFileField.setAccessible(true); - inputFileField.set(jiemamyMojo, inputFile); - } - - /** - * テストの情報を破棄する。 - * - * @throws Exception 例外が発生した場合 - */ - @After - public void tearDown() throws Exception { - jiemamyMojo = null; - } - - /** - * エクスポート先にファイルが生成される。 - * - * @throws Exception 例外が発生した場合 - */ - @Test - public void test01_エクスポート先にファイルが生成される() throws Exception { - File file = new File(outputFile); - if (file.exists()) { - boolean delete = file.delete(); - assertThat(delete, is(true)); - assertThat(file.exists(), is(false)); - } - - jiemamyMojo.execute(); - - assertThat(file.exists(), is(true)); - - String contents = FileUtils.readFileToString(file, CharEncoding.UTF_8); - assertThat(contents.startsWith("BEGIN;"), is(true)); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/03 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.maven; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +import java.io.File; +import java.lang.reflect.Field; +import java.util.HashMap; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.CharEncoding; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import org.jiemamy.composer.exporter.SqlExporter; + +/** + * {@link JiemamyMojo}のテストクラス。 + * + * @author daisuke + */ +public class JiemamyMojoTest { + + /** テスト用入力ファイル */ + private static final File inputFile = new File("src/test/resources/sample.xml"); + + /** テスト用出力ファイル */ + private static final String outputFile = "target/output.sql"; + + /** テスト対象 */ + private JiemamyMojo jiemamyMojo; + + + /** + * テストを初期化する。 + * + * @throws Exception 例外が発生した場合 + */ + @Before + public void setUp() throws Exception { + jiemamyMojo = new JiemamyMojo(); + + HashMap<String, Object> parameter = new HashMap<String, Object>(); + parameter.put(SqlExporter.OUTPUT_FILE, outputFile); + parameter.put(SqlExporter.OVERWRITE, "true"); + + Field parameterField = JiemamyMojo.class.getDeclaredField("parameter"); + parameterField.setAccessible(true); + parameterField.set(jiemamyMojo, parameter); + + Field inputFileField = JiemamyMojo.class.getDeclaredField("inputFile"); + inputFileField.setAccessible(true); + inputFileField.set(jiemamyMojo, inputFile); + } + + /** + * テストの情報を破棄する。 + * + * @throws Exception 例外が発生した場合 + */ + @After + public void tearDown() throws Exception { + jiemamyMojo = null; + } + + /** + * エクスポート先にファイルが生成される。 + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test01_エクスポート先にファイルが生成される() throws Exception { + File file = new File(outputFile); + if (file.exists()) { + boolean delete = file.delete(); + assertThat(delete, is(true)); + assertThat(file.exists(), is(false)); + } + + jiemamyMojo.execute(); + + assertThat(file.exists(), is(true)); + + String contents = FileUtils.readFileToString(file, CharEncoding.UTF_8); + assertThat(contents.startsWith("BEGIN;"), is(true)); + } +} Property changes on: eros/maven-jiemamy-plugin/trunk/src/test/java/org/jiemamy/maven/JiemamyMojoTest.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Property changes on: eros/maven-jiemamy-plugin/trunk/src/test/resources/jiemamy.jer ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: eros/maven-jiemamy-plugin/trunk/src/test/resources/sample.xml =================================================================== --- eros/maven-jiemamy-plugin/trunk/src/test/resources/sample.xml 2009-09-20 16:19:13 UTC (rev 3628) +++ eros/maven-jiemamy-plugin/trunk/src/test/resources/sample.xml 2009-09-20 16:28:06 UTC (rev 3629) @@ -1,476 +1,476 @@ -<?xml version="1.0" encoding="UTF-8"?> -<jiemamy xmlns="http://jiemamy.org/xml/ns/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="d5a96af3-b1e9-4285-a8ef-c491ce5ae308" version="0.2" xsi:schemaLocation="http://jiemamy.org/xml/ns/core http://jiemamy.org/xml/0.3/jiemamy-core.xsd http://jiemamy.org/xml/ns/view http://jiemamy.org/xml/0.3/jiemamy-view.xsd"> - <dialect>org.jiemamy.dialect.mysql.MySqlDialect</dialect> - <schemaName>FOO</schemaName> - <description>Jiemamyテストモデル1</description> - <beginScript>BEGIN;</beginScript> - <endScript>COMMIT;</endScript> - <domains> - <domain id="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"> - <name>ID</name> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SerialDataTypeAdapter"> - <serial>true</serial> - </adapter> - </dataType> - <notNull id="af4845dc-7f3a-434d-b5ac-2f25b74d7e76"/> - <columnCheck id="48b76d76-b288-480a-afa4-111247379f8d"> - <name>hoge</name> - <expression>VALUE > 0</expression> - </columnCheck> - </domain> - <domain id="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"> - <name>NAME</name> - <description>人名用の型です。</description> - <dataType> - <typeCategory>VARCHAR</typeCategory> - <typeName>VARCHAR</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> - <size>32</size> - </adapter> - </dataType> - </domain> - </domains> - <entities> - <table id="9f522e56-809c-45fd-8416-39201014218b"> - <name>T_EMP</name> - <logicalName>従業員</logicalName> - <description>従業員マスタです。</description> - <beginScript>/* test end script */</beginScript> - <attributes> - <column id="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"> - <name>ID</name> - <logicalName>従業員ID</logicalName> - <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> - </column> - <column id="248a429b-2159-4ebd-a791-eee42a059374"> - <name>EMP_NO</name> - <logicalName>従業員番号</logicalName> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - <notNull id="05ee4c06-d8b5-4599-a7e9-1cda036ea2c7"> - <adapter class="org.jiemamy.utils.DisablableImpl"> - <disabled>true</disabled> - </adapter> - </notNull> - </column> - <column id="0e51b6df-43ab-408c-90ef-de13c6aab881"> - <name>EMP_NAME</name> - <logicalName>従業員名</logicalName> - <dataType ref="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"/> - <defaultValue>no name</defaultValue> - <notNull id="41f178b9-2cb5-4dad-a6c0-48df2d5b1300"/> - <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> - <representation>true</representation> - </adapter> - </column> - <column id="3d21a85a-72de-41b3-99dd-f4cb94e58d84"> - <name>MGR_ID</name> - <logicalName>上司ID</logicalName> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - </column> - <column id="f0b57eed-98ab-4c21-9855-218c592814dc"> - <name>HIREDATE</name> - <dataType> - <typeCategory>DATE</typeCategory> - <typeName>DATE</typeName> - </dataType> - <notNull id="2d66fd73-8d6b-41d8-b6b8-daec7d6c0c53"/> - </column> - <column id="80786549-dc2c-4c1c-bcbd-9f6fdec911d2"> - <name>SAL</name> - <dataType> - <typeCategory>NUMERIC</typeCategory> - <typeName>NUMERIC</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter"> - <precision>7</precision> - <scale>2</scale> - </adapter> - </dataType> - <notNull id="a446779a-4fb6-4a0f-8262-22daae856e85"/> - <columnCheck id="873f6660-7a61-4c2c-87a0-e922fa03b88c"> - <name>positive_sal</name> - <expression>SAL <= 0</expression> - </columnCheck> - </column> - <column id="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"> - <name>DEPT_ID</name> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - <notNull id="b9a0fdce-a965-4118-ae71-5dc7150f6d4e"/> - </column> - <primaryKey id="6145e6a0-9ff7-4033-999d-99d80392a48f"> - <name>emp_pkey</name> - <columnRefs> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> - </columnRefs> - </primaryKey> - <foreignKey id="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"> - <name>emp_mgr_id_fkey</name> - <columnRefs> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84"/> - </columnRefs> - <referenceColumns> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> - </referenceColumns> - <deferrability id="9af096ba-8841-41ba-9dd4-02628b800bf0"> - <deferrable>true</deferrable> - <initiallyCheckTime>DEFERRED</initiallyCheckTime> - </deferrability> - <onDelete>SET_NULL</onDelete> - </foreignKey> - <foreignKey id="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"> - <name>emp_dept_id_fkey</name> - <columnRefs> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"/> - </columnRefs> - <referenceColumns> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e"/> - </referenceColumns> - </foreignKey> - </attributes> - <indexes> - <index id="9abc9e01-4cdb-42fe-a495-93b56af35a1d"> - <name>IDX_EMP_NAME</name> - <indexColumns> - <indexColumn id="52d2b6aa-fff7-4c33-af13-f4d0b63e8e58"> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881"/> - <sortOrder>DESC</sortOrder> - </indexColumn> - </indexColumns> - <unique>false</unique> - </index> - </indexes> - </table> - <table id="d7489ed6-0add-443d-95cf-234376eb0455"> - <name>T_DEPT</name> - <description>部署マスタです。</description> - <beginScript>/* test begin script */</beginScript> - <attributes> - <column id="c7ed225d-92a6-4cc2-90de-60531804464e"> - <name>ID</name> - <logicalName>部署ID</logicalName> - <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> - <columnPrimaryKey id="8de55e65-ec48-467a-bac5-8eee2d71d41c"> - <name>dept_pkey</name> - </columnPrimaryKey> - </column> - <column id="2d951389-6bc7-49d7-8631-1d26fe17047e"> - <name>DEPT_NO</name> - <logicalName>部署番号</logicalName> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - <notNull id="cc709f63-a886-4207-a316-58ad7f279e10"/> - </column> - <column id="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9"> - <name>DEPT_NAME</name> - <logicalName>部署名</logicalName> - <dataType> - <typeCategory>VARCHAR</typeCategory> - <typeName>VARCHAR</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> - <size>20</size> - </adapter> - </dataType> - <notNull id="fab2f883-0489-4661-bd57-f04286188eef"/> - <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> - <representation>true</representation> - </adapter> - </column> - <column id="7bf79e76-07b8-43b6-a993-b8ef374a31f5"> - <name>LOC</name> - <logicalName>ロケーション</logicalName> - <dataType> - <typeCategory>VARCHAR</typeCategory> - <typeName>VARCHAR</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> - <size>20</size> - </adapter> - </dataType> - <defaultValue>secret</defaultValue> - </column> - </attributes> - <indexes/> - </table> - <view id="516f7961-cb7b-48e2-990b-7fb0c750c3a4"> - <name>V_HIGH_SAL_EMP</name> - <logicalName>高給取り</logicalName> - <definition>SELECT * FROM T_EMP WHERE SAL > 2000;</definition> - </view> - </entities> - <dataSets> - <dataSet id="b73100b5-2d70-4b48-a825-311eacb63b2f"> - <name>データ群en</name> - <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> - <record id="6ce22d69-bd75-4822-946f-a51221fd45eb"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SMITH</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="03962eb2-90ab-4cff-8fac-14e52e117361"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">ALLEN</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="f5f16c1e-4a41-4ccd-9c87-00c09c0e7609"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">WARD</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="03a9e57f-3010-4d46-8024-1915c262749e"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">JONES</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="4206acce-b31f-4c2e-8682-4796254a4dca"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">MARTIN</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="6748ce0e-462d-44df-a536-18f14a3c2643"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">BLAKE</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="f8564bdf-f61c-4711-b606-69aed74324a6"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">CLARK</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> - </record> - <record id="dd1cc8e1-7562-4539-86d8-5390d043325a"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SCOTT</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - </tableRef> - <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> - <record id="176bfb08-99cb-4c76-bf8e-6979e0c7afb9"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">ACCOUNTING</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">NEW YORK</columnRef> - </record> - <record id="3971430b-ef1d-4e5a-b996-f2acfa7536c0"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">RESEARCH</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">DALLAS</columnRef> - </record> - <record id="0591cc1e-45a6-4598-b85a-20fae51b7991"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">SALES</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">CHICAGO</columnRef> - </record> - <record id="ac275955-4710-484a-b694-f7acc6ded08f"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">OPERATIONS</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">BOSTON</columnRef> - </record> - </tableRef> - </dataSet> - <dataSet id="91246ed4-1ef3-440e-bf12-40fa4439a71b"> - <name>データ群ja</name> - <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> - <record id="9365e670-1eff-4a23-90bd-f794b9742b10"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">鈴木 茂</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="90673863-ba77-461b-ab82-fffecd7e873b"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">内海 透</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="5bf32699-c2ff-4d96-9e26-2a3f3d7c7661"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">村瀬 武彦</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="f164796f-ed85-48a0-98af-2f6045ee3a33"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">近藤 美樹</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="c10562ee-4ab9-40a5-8a21-83f331df5c85"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">榊 美子</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="29c9a655-f4ed-4753-aea6-1e21cb28f891"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">三浦 佑</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="b65b9b12-bb68-4845-a514-a57f0bd57616"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">前島 孝幸</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> - </record> - <record id="0eb27151-323a-4679-bde4-0b01f561139f"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">島崎 由比</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - </tableRef> - <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> - <record id="61671217-d61c-4f42-9985-4f6b2c970171"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経理部</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">広島</columnRef> - </record> - <record id="171d019e-163f-42f6-82dc-15340798fdf4"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">研究開発部</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">京都</columnRef> - </record> - <record id="838344e6-093d-4202-aaca-bacf1a7ff376"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">営業部</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">東京</columnRef> - </record> - <record id="2f29bb19-0a20-4251-8052-568194e6101c"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経営本部</columnRef> - </record> - </tableRef> - </dataSet> - </dataSets> - <view:diagramPresentations xmlns:view="http://jiemamy.org/xml/ns/view"> - <view:diagramPresentation id="1deca0e8-6153-47ad-abe8-ac764f768d96"> - <name>全部表示する</name> - <view:mode>PHYSICAL</view:mode> - <view:level>ATTRTYPE</view:level> - <view:nodeProfiles> - <view:nodeProfile id="aa7caa23-7958-4bd0-a356-8f09d4b74f08"> - <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> - <view:boundary height="-1" width="-1" x="360" y="60"/> - </view:nodeProfile> - <view:nodeProfile id="eb6506ef-4a25-4296-b6d7-c08741f19d5a"> - <view:nodeObjectRef ref="d7489ed6-0add-443d-95cf-234376eb0455"/> - <view:boundary height="-1" width="-1" x="60" y="60"/> - </view:nodeProfile> - <view:nodeProfile id="2387bfd0-7106-44ad-a34e-24231bbea6d5"> - <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> - <view:boundary height="-1" width="-1" x="60" y="270"/> - </view:nodeProfile> - <view:nodeProfile id="2689d193-52a1-4fd4-a14c-9857274518c5"> - <view:sticky id="43beb884-2562-4480-8030-bb797f701783"> - <view:contents>メモーー</view:contents> - </view:sticky> - <view:boundary color="#0a0b0c" height="-1" width="-1" x="360" y="270"/> - </view:nodeProfile> - </view:nodeProfiles> - <view:connectionProfiles> - <view:connectionProfile id="366b547f-a2a6-42b2-a3a4-38745436c425"> - <view:connectionObjectRef ref="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"/> - <view:bendpoints> - <view:bendpoint x="310" y="60"/> - <view:bendpoint x="360" y="10"/> - </view:bendpoints> - </view:connectionProfile> - <view:connectionProfile id="e5b3d709-2aea-4e26-a90c-b8f438d2da9d"> - <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> - </view:connectionProfile> - </view:connectionProfiles> - </view:diagramPresentation> - <view:diagramPresentation id="53c7cdb7-1512-46c7-8ee3-aadec6007896"> - <name>一部表示する</name> - <view:mode>PHYSICAL</view:mode> - <view:level>ATTRTYPE</view:level> - <view:nodeProfiles> - <view:nodeProfile id="d71ff015-101c-4669-8745-312d1da34efe"> - <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> - <view:boundary height="-1" width="-1" x="60" y="60"/> - </view:nodeProfile> - <view:nodeProfile id="2df7718f-d71e-4dbf-8327-e0ad36f03d5d"> - <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> - <view:boundary height="-1" width="-1" x="270" y="270"/> - </view:nodeProfile> - </view:nodeProfiles> - <view:connectionProfiles> - <view:connectionProfile id="b615f111-5143-4b12-bfdb-9a06806a9ace"> - <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> - </view:connectionProfile> - </view:connectionProfiles> - </view:diagramPresentation> - </view:diagramPresentations> -</jiemamy> +<?xml version="1.0" encoding="UTF-8"?> +<jiemamy xmlns="http://jiemamy.org/xml/ns/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="d5a96af3-b1e9-4285-a8ef-c491ce5ae308" version="0.2" xsi:schemaLocation="http://jiemamy.org/xml/ns/core http://jiemamy.org/xml/0.3/jiemamy-core.xsd http://jiemamy.org/xml/ns/view http://jiemamy.org/xml/0.3/jiemamy-view.xsd"> + <dialect>org.jiemamy.dialect.mysql.MySqlDialect</dialect> + <schemaName>FOO</schemaName> + <description>Jiemamyテストモデル1</description> + <beginScript>BEGIN;</beginScript> + <endScript>COMMIT;</endScript> + <domains> + <domain id="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"> + <name>ID</name> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SerialDataTypeAdapter"> + <serial>true</serial> + </adapter> + </dataType> + <notNull id="af4845dc-7f3a-434d-b5ac-2f25b74d7e76"/> + <columnCheck id="48b76d76-b288-480a-afa4-111247379f8d"> + <name>hoge</name> + <expression>VALUE > 0</expression> + </columnCheck> + </domain> + <domain id="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"> + <name>NAME</name> + <description>人名用の型です。</description> + <dataType> + <typeCategory>VARCHAR</typeCategory> + <typeName>VARCHAR</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> + <size>32</size> + </adapter> + </dataType> + </domain> + </domains> + <entities> + <table id="9f522e56-809c-45fd-8416-39201014218b"> + <name>T_EMP</name> + <logicalName>従業員</logicalName> + <description>従業員マスタです。</description> + <beginScript>/* test end script */</beginScript> + <attributes> + <column id="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"> + <name>ID</name> + <logicalName>従業員ID</logicalName> + <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> + </column> + <column id="248a429b-2159-4ebd-a791-eee42a059374"> + <name>EMP_NO</name> + <logicalName>従業員番号</logicalName> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + <notNull id="05ee4c06-d8b5-4599-a7e9-1cda036ea2c7"> + <adapter class="org.jiemamy.utils.DisablableImpl"> + <disabled>true</disabled> + </adapter> + </notNull> + </column> + <column id="0e51b6df-43ab-408c-90ef-de13c6aab881"> + <name>EMP_NAME</name> + <logicalName>従業員名</logicalName> + <dataType ref="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"/> + <defaultValue>no name</defaultValue> + <notNull id="41f178b9-2cb5-4dad-a6c0-48df2d5b1300"/> + <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> + <representation>true</representation> + </adapter> + </column> + <column id="3d21a85a-72de-41b3-99dd-f4cb94e58d84"> + <name>MGR_ID</name> + <logicalName>上司ID</logicalName> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + </column> + <column id="f0b57eed-98ab-4c21-9855-218c592814dc"> + <name>HIREDATE</name> + <dataType> + <typeCategory>DATE</typeCategory> + <typeName>DATE</typeName> + </dataType> + <notNull id="2d66fd73-8d6b-41d8-b6b8-daec7d6c0c53"/> + </column> + <column id="80786549-dc2c-4c1c-bcbd-9f6fdec911d2"> + <name>SAL</name> + <dataType> + <typeCategory>NUMERIC</typeCategory> + <typeName>NUMERIC</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter"> + <precision>7</precision> + <scale>2</scale> + </adapter> + </dataType> + <notNull id="a446779a-4fb6-4a0f-8262-22daae856e85"/> + <columnCheck id="873f6660-7a61-4c2c-87a0-e922fa03b88c"> + <name>positive_sal</name> + <expression>SAL <= 0</expression> + </columnCheck> + </column> + <column id="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"> + <name>DEPT_ID</name> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + <notNull id="b9a0fdce-a965-4118-ae71-5dc7150f6d4e"/> + </column> + <primaryKey id="6145e6a0-9ff7-4033-999d-99d80392a48f"> + <name>emp_pkey</name> + <columnRefs> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> + </columnRefs> + </primaryKey> + <foreignKey id="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"> + <name>emp_mgr_id_fkey</name> + <columnRefs> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84"/> + </columnRefs> + <referenceColumns> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> + </referenceColumns> + <deferrability id="9af096ba-8841-41ba-9dd4-02628b800bf0"> + <deferrable>true</deferrable> + <initiallyCheckTime>DEFERRED</initiallyCheckTime> + </deferrability> + <onDelete>SET_NULL</onDelete> + </foreignKey> + <foreignKey id="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"> + <name>emp_dept_id_fkey</name> + <columnRefs> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"/> + </columnRefs> + <referenceColumns> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e"/> + </referenceColumns> + </foreignKey> + </attributes> + <indexes> + <index id="9abc9e01-4cdb-42fe-a495-93b56af35a1d"> + <name>IDX_EMP_NAME</name> + <indexColumns> + <indexColumn id="52d2b6aa-fff7-4c33-af13-f4d0b63e8e58"> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881"/> + <sortOrder>DESC</sortOrder> + </indexColumn> + </indexColumns> + <unique>false</unique> + </index> + </indexes> + </table> + <table id="d7489ed6-0add-443d-95cf-234376eb0455"> + <name>T_DEPT</name> + <description>部署マスタです。</description> + <beginScript>/* test begin script */</beginScript> + <attributes> + <column id="c7ed225d-92a6-4cc2-90de-60531804464e"> + <name>ID</name> + <logicalName>部署ID</logicalName> + <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> + <columnPrimaryKey id="8de55e65-ec48-467a-bac5-8eee2d71d41c"> + <name>dept_pkey</name> + </columnPrimaryKey> + </column> + <column id="2d951389-6bc7-49d7-8631-1d26fe17047e"> + <name>DEPT_NO</name> + <logicalName>部署番号</logicalName> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + <notNull id="cc709f63-a886-4207-a316-58ad7f279e10"/> + </column> + <column id="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9"> + <name>DEPT_NAME</name> + <logicalName>部署名</logicalName> + <dataType> + <typeCategory>VARCHAR</typeCategory> + <typeName>VARCHAR</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> + <size>20</size> + </adapter> + </dataType> + <notNull id="fab2f883-0489-4661-bd57-f04286188eef"/> + <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> + <representation>true</representation> + </adapter> + </column> + <column id="7bf79e76-07b8-43b6-a993-b8ef374a31f5"> + <name>LOC</name> + <logicalName>ロケーション</logicalName> + <dataType> + <typeCategory>VARCHAR</typeCategory> + <typeName>VARCHAR</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> + <size>20</size> + </adapter> + </dataType> + <defaultValue>secret</defaultValue> + </column> + </attributes> + <indexes/> + </table> + <view id="516f7961-cb7b-48e2-990b-7fb0c750c3a4"> + <name>V_HIGH_SAL_EMP</name> + <logicalName>高給取り</logicalName> + <definition>SELECT * FROM T_EMP WHERE SAL > 2000;</definition> + </view> + </entities> + <dataSets> + <dataSet id="b73100b5-2d70-4b48-a825-311eacb63b2f"> + <name>データ群en</name> + <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> + <record id="6ce22d69-bd75-4822-946f-a51221fd45eb"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SMITH</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="03962eb2-90ab-4cff-8fac-14e52e117361"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">ALLEN</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="f5f16c1e-4a41-4ccd-9c87-00c09c0e7609"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">WARD</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="03a9e57f-3010-4d46-8024-1915c262749e"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">JONES</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="4206acce-b31f-4c2e-8682-4796254a4dca"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">MARTIN</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="6748ce0e-462d-44df-a536-18f14a3c2643"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">BLAKE</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="f8564bdf-f61c-4711-b606-69aed74324a6"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">CLARK</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> + </record> + <record id="dd1cc8e1-7562-4539-86d8-5390d043325a"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SCOTT</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + </tableRef> + <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> + <record id="176bfb08-99cb-4c76-bf8e-6979e0c7afb9"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">ACCOUNTING</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">NEW YORK</columnRef> + </record> + <record id="3971430b-ef1d-4e5a-b996-f2acfa7536c0"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">RESEARCH</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">DALLAS</columnRef> + </record> + <record id="0591cc1e-45a6-4598-b85a-20fae51b7991"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">SALES</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">CHICAGO</columnRef> + </record> + <record id="ac275955-4710-484a-b694-f7acc6ded08f"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">OPERATIONS</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">BOSTON</columnRef> + </record> + </tableRef> + </dataSet> + <dataSet id="91246ed4-1ef3-440e-bf12-40fa4439a71b"> + <name>データ群ja</name> + <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> + <record id="9365e670-1eff-4a23-90bd-f794b9742b10"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">鈴木 茂</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="90673863-ba77-461b-ab82-fffecd7e873b"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">内海 透</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="5bf32699-c2ff-4d96-9e26-2a3f3d7c7661"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">村瀬 武彦</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="f164796f-ed85-48a0-98af-2f6045ee3a33"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">近藤 美樹</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="c10562ee-4ab9-40a5-8a21-83f331df5c85"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">榊 美子</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="29c9a655-f4ed-4753-aea6-1e21cb28f891"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">三浦 佑</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="b65b9b12-bb68-4845-a514-a57f0bd57616"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">前島 孝幸</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> + </record> + <record id="0eb27151-323a-4679-bde4-0b01f561139f"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">島崎 由比</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + </tableRef> + <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> + <record id="61671217-d61c-4f42-9985-4f6b2c970171"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経理部</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">広島</columnRef> + </record> + <record id="171d019e-163f-42f6-82dc-15340798fdf4"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">研究開発部</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">京都</columnRef> + </record> + <record id="838344e6-093d-4202-aaca-bacf1a7ff376"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">営業部</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">東京</columnRef> + </record> + <record id="2f29bb19-0a20-4251-8052-568194e6101c"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経営本部</columnRef> + </record> + </tableRef> + </dataSet> + </dataSets> + <view:diagramPresentations xmlns:view="http://jiemamy.org/xml/ns/view"> + <view:diagramPresentation id="1deca0e8-6153-47ad-abe8-ac764f768d96"> + <name>全部表示する</name> + <view:mode>PHYSICAL</view:mode> + <view:level>ATTRTYPE</view:level> + <view:nodeProfiles> + <view:nodeProfile id="aa7caa23-7958-4bd0-a356-8f09d4b74f08"> + <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> + <view:boundary height="-1" width="-1" x="360" y="60"/> + </view:nodeProfile> + <view:nodeProfile id="eb6506ef-4a25-4296-b6d7-c08741f19d5a"> + <view:nodeObjectRef ref="d7489ed6-0add-443d-95cf-234376eb0455"/> + <view:boundary height="-1" width="-1" x="60" y="60"/> + </view:nodeProfile> + <view:nodeProfile id="2387bfd0-7106-44ad-a34e-24231bbea6d5"> + <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> + <view:boundary height="-1" width="-1" x="60" y="270"/> + </view:nodeProfile> + <view:nodeProfile id="2689d193-52a1-4fd4-a14c-9857274518c5"> + <view:sticky id="43beb884-2562-4480-8030-bb797f701783"> + <view:contents>メモーー</view:contents> + </view:sticky> + <view:boundary color="#0a0b0c" height="-1" width="-1" x="360" y="270"/> + </view:nodeProfile> + </view:nodeProfiles> + <view:connectionProfiles> + <view:connectionProfile id="366b547f-a2a6-42b2-a3a4-38745436c425"> + <view:connectionObjectRef ref="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"/> + <view:bendpoints> + <view:bendpoint x="310" y="60"/> + <view:bendpoint x="360" y="10"/> + </view:bendpoints> + </view:connectionProfile> + <view:connectionProfile id="e5b3d709-2aea-4e26-a90c-b8f438d2da9d"> + <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> + </view:connectionProfile> + </view:connectionProfiles> + </view:diagramPresentation> + <view:diagramPresentation id="53c7cdb7-1512-46c7-8ee3-aadec6007896"> + <name>一部表示する</name> + <view:mode>PHYSICAL</view:mode> + <view:level>ATTRTYPE</view:level> + <view:nodeProfiles> + <view:nodeProfile id="d71ff015-101c-4669-8745-312d1da34efe"> + <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> + <view:boundary height="-1" width="-1" x="60" y="60"/> + </view:nodeProfile> + <view:nodeProfile id="2df7718f-d71e-4dbf-8327-e0ad36f03d5d"> + <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> + <view:boundary height="-1" width="-1" x="270" y="270"/> + </view:nodeProfile> + </view:nodeProfiles> + <view:connectionProfiles> + <view:connectionProfile id="b615f111-5143-4b12-bfdb-9a06806a9ace"> + <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> + </view:connectionProfile> + </view:connectionProfiles> + </view:diagramPresentation> + </view:diagramPresentations> +</jiemamy> Property changes on: eros/maven-jiemamy-plugin/trunk/src/test/resources/sample.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id