svnno****@sourc*****
svnno****@sourc*****
2008年 10月 2日 (木) 01:19:38 JST
Revision: 1979 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=jiemamy&view=rev&rev=1979 Author: daisuke_m Date: 2008-10-02 01:19:38 +0900 (Thu, 02 Oct 2008) Log Message: ----------- DatabaseImporterTestを通すことにより、色々バグ取り。 Modified Paths: -------------- artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/importer/DatabaseImporter.java artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/AbstractModel.java artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/connection/ForeignKeyModelImpl.java artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/datatype/AbstractDataType.java artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetConnectionsProcessor.java artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetEntityProcessor.java artemis/trunk/org.jiemamy.core/src/main/resources/jiemamy-core.dicon -------------- next part -------------- Modified: artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/importer/DatabaseImporter.java =================================================================== --- artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/importer/DatabaseImporter.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/importer/DatabaseImporter.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -14,7 +14,6 @@ import org.jiemamy.core.extension.dialect.DatabaseReadingContext; import org.jiemamy.core.interpreter.DatabaseReader; -import org.jiemamy.core.model.connection.ForeignKeyMappingImpl; import org.jiemamy.core.utils.DriverUtil; import org.jiemamy.core.utils.JmIOUtil; import org.jiemamy.core.utils.visitor.AbstractResultSetVisitor; @@ -181,7 +180,7 @@ if (entityModel != null) { entityModel.setDescription(entity.getString("REMARKS")); // UNDONE 制約などその他情報なども -// rootModel.getNodes().add(entityModel); + rootModel.appendModel(entityModel); } } return null; @@ -236,9 +235,10 @@ if (fkModel == null) { fkModel = rootModel.createJiemamyModel(ForeignKeyModel.class).init(fkName, source, target); fkModel.setName(fkName); + rootModel.appendModel(fkModel); } - ForeignKeyMapping mapping = new ForeignKeyMappingImpl(); + ForeignKeyMapping mapping = rootModel.createJiemamyModel(ForeignKeyMapping.class); mapping.setConstraintColumn(source.getColumn(fkColumnName)); mapping.setReferenceColumn(target.getColumn(pkColumnName)); Modified: artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java =================================================================== --- artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -43,6 +43,15 @@ /** * {@link DatabaseImporter}のテストクラス。 + * + * <p>テストを実行する環境の前提:<br/> + * <ul> + * <li>PostgreSQL Server稼働</li> + * <li>user=postgres, pass=postgres</li> + * <li>database=jpoll に JiemamyPollsのスキーマが存在すること</li> + * </ul> + * </p> + * * @author daisuke */ @RunWith(Seasar2.class) @@ -72,10 +81,12 @@ // FIXME 前者はComponentNotFoundRuntimeExceptionが飛ぶ。 // Dialect dialect = (Dialect) container.getComponent(Class.forName(model.getDialectClassName(), true, classLoader)); - dialect = JiemamyModelFactory.createDialect("org.jiemamy.dialect.postgresql.PostgresqlDialect", classLoader); + dialect = + (Dialect) Class.forName("org.jiemamy.dialect.postgresql.PostgresqlDialect", true, classLoader) + .newInstance(); serialTypeClass = - JiemamyModelFactory.createDataType("org.jiemamy.dialect.postgresql.datatype.SerialDataType", - classLoader); + (DataType) Class.forName("org.jiemamy.dialect.postgresql.datatype.SerialDataType", true, classLoader) + .newInstance(); } /** @@ -116,7 +127,8 @@ assertThat(pollTable.getName(), is("t_poll")); assertThat(pollTable.getColumns().size(), is(11)); assertThat(pollTable.getColumns().get(0).getName(), is("poll_id")); - assertThat(pollTable.getColumns().get(0).getDataType(), is(serialTypeClass)); + assertThat(pollTable.getColumns().get(0).getDataType().getClass().getName(), is(serialTypeClass.getClass() + .getName())); System.out.println(pollTable.getColumns().get(0).getConstraints()); // UNDONE DatabaseImporter.java:185 を実装したら Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/AbstractModel.java =================================================================== --- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/AbstractModel.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/AbstractModel.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -28,6 +28,10 @@ */ public abstract class AbstractModel implements JiemamyModel { + /** 適用可能なアダプタのリスト */ + @Binding("list") + protected List<Object> adapters; + /** * モデルID * @@ -35,10 +39,6 @@ */ private UUID id; - /** 適用可能なアダプタのリスト */ - @Binding("list") - private List<Object> adapters; - /** * コンストラクタ。 Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/connection/ForeignKeyModelImpl.java =================================================================== --- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/connection/ForeignKeyModelImpl.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/connection/ForeignKeyModelImpl.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -20,6 +20,8 @@ import java.util.List; +import org.seasar.framework.container.annotation.tiger.Binding; + import org.jiemamy.core.utils.processor.connection.foreignkey.GetMappingProcessor; import org.jiemamy.core.utils.processor.connection.foreignkey.UpdateMappingsProcessor; import org.jiemamy.spec.model.ColumnModel; @@ -48,6 +50,7 @@ private String logicalName; /** マッピングのリスト */ + @Binding("list") private List<ForeignKeyMapping> mappings; /** マッチ型 */ Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/datatype/AbstractDataType.java =================================================================== --- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/datatype/AbstractDataType.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/datatype/AbstractDataType.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -18,6 +18,8 @@ */ package org.jiemamy.core.model.datatype; +import java.util.ArrayList; + import org.jiemamy.core.model.AbstractModel; import org.jiemamy.core.model.datatype.adapter.DataTypeAdapter; import org.jiemamy.spec.model.datatype.DataType; @@ -29,6 +31,14 @@ public abstract class AbstractDataType extends AbstractModel implements DataType { /** + * コンストラクタ。 + * @category instance creation + */ + public AbstractDataType() { + adapters = (new ArrayList<Object>()); + } + + /** * {@inheritDoc} */ public AbstractDataType removeAdapter() { Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetConnectionsProcessor.java =================================================================== --- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetConnectionsProcessor.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetConnectionsProcessor.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -34,6 +34,10 @@ private Class<T> clazz; + /** + * コンストラクタ。 + * @category instance creation + */ public GetConnectionsProcessor() { this(null); } Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetEntityProcessor.java =================================================================== --- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetEntityProcessor.java 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/utils/processor/root/GetEntityProcessor.java 2008-10-01 16:19:38 UTC (rev 1979) @@ -71,7 +71,8 @@ for (AbstractNodeModel node : rootModel.getNodes()) { if (node instanceof AbstractEntityModel) { AbstractEntityModel entiy = (AbstractEntityModel) node; - if (entityName.equals(entiy.getName()) && (clazz == null || clazz.isAssignableFrom(entiy.getClass()))) { + if (entityName.equalsIgnoreCase(entiy.getName()) + && (clazz == null || clazz.isAssignableFrom(entiy.getClass()))) { entities.add(entiy); } } Modified: artemis/trunk/org.jiemamy.core/src/main/resources/jiemamy-core.dicon =================================================================== --- artemis/trunk/org.jiemamy.core/src/main/resources/jiemamy-core.dicon 2008-10-01 15:14:31 UTC (rev 1978) +++ artemis/trunk/org.jiemamy.core/src/main/resources/jiemamy-core.dicon 2008-10-01 16:19:38 UTC (rev 1979) @@ -10,6 +10,7 @@ <component class="org.jiemamy.core.model.node.ViewModelImpl" instance="prototype"/> <component class="org.jiemamy.core.model.node.StickyModelImpl" instance="prototype"/> <component class="org.jiemamy.core.model.connection.ForeignKeyModelImpl" instance="prototype" autoBinding="none"/> + <component class="org.jiemamy.core.model.connection.ForeignKeyMappingImpl" instance="prototype"/> <component class="org.jiemamy.core.model.DomainModelImpl" instance="prototype" autoBinding="none"/> <component class="org.jiemamy.core.model.dataset.InsertDataSetModelImpl" instance="prototype"/> <component class="org.jiemamy.core.model.node.TableModelImpl" instance="prototype"/>