[Jiemamy-notify:2118] commit [3206] maven-overview-pluginを使ってみる。 /

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 4月 10日 (金) 19:25:42 JST


Revision: 3206
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=3206
Author:   daisuke_m
Date:     2009-04-10 19:25:41 +0900 (Fri, 10 Apr 2009)

Log Message:
-----------
maven-overview-pluginを使ってみる。 /
Dialect#getName()を追加。 /
Severity.ordinal()の使用を中止。 /
FileExportConfigをspecへ移動。 /
javadoc / refactor

Modified Paths:
--------------
    artemis/trunk/jiemamy-artemis/pom.xml
    artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/AbstractFileExportConfig.java
    artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/SqlExportConfig.java
    artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/generic/GenericDialect.java
    artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/internal/impl/DefaultEntityImportVisitor.java
    artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/utils/ValidatorUtil.java
    artemis/trunk/jiemamy-dialect-mysql/src/main/java/org/jiemamy/dialect/mysql/MySqlDialect.java
    artemis/trunk/jiemamy-dialect-oracle/src/main/java/org/jiemamy/dialect/oracle/OracleDialect.java
    artemis/trunk/jiemamy-dialect-postgresql/src/main/java/org/jiemamy/dialect/postgresql/PostgresqlDialect.java
    artemis/trunk/jiemamy-dialect-sql99/src/main/java/org/jiemamy/dialect/sql99/Sql99Dialect.java
    hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/RootEditDialogDataSetTab.java
    leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/ForEachUtil.java
    leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/metadata/TypeSafeDatabaseMetaData.java
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ModelUtil.java
    leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ReflectionDialectProvider.java
    zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java
    zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java
    zeus/trunk/jiemamy-zeus/pom.xml

Added Paths:
-----------
    zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java

Removed Paths:
-------------
    artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/FileExportConfig.java


-------------- next part --------------
Modified: artemis/trunk/jiemamy-artemis/pom.xml
===================================================================
--- artemis/trunk/jiemamy-artemis/pom.xml	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-artemis/pom.xml	2009-04-10 10:25:41 UTC (rev 3206)
@@ -132,6 +132,11 @@
           <outputEncoding>UTF-8</outputEncoding>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>com.googlecode.maven-overview-plugin</groupId>
+        <artifactId>maven-overview-plugin</artifactId>
+        <version>1.3</version>
+      </plugin>
     </plugins>
   </build>
   <repositories>
@@ -172,9 +177,21 @@
         <enabled>true</enabled>
       </releases>
     </pluginRepository>
+    <pluginRepository>
+      <id>overview plugin</id>
+      <url>https://kungfoo-m2.googlecode.com/svn/release-repo</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </pluginRepository>
   </pluginRepositories>
   <reporting>
     <plugins>
+      <plugin>
+        <groupId>com.googlecode.maven-overview-plugin</groupId>
+        <artifactId>maven-overview-plugin</artifactId>
+        <version>1.3</version>
+      </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>cobertura-maven-plugin</artifactId>

Modified: artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/AbstractFileExportConfig.java
===================================================================
--- artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/AbstractFileExportConfig.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/AbstractFileExportConfig.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -23,6 +23,7 @@
 import org.apache.commons.lang.Validate;
 
 import org.jiemamy.composer.Exporter;
+import org.jiemamy.composer.FileExportConfig;
 
 /**
  * ファイルに対する{@link Exporter}に関する設定情報保持クラスの骨格実装。

Deleted: artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/FileExportConfig.java
===================================================================
--- artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/FileExportConfig.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/FileExportConfig.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -1,47 +0,0 @@
-/*
- * Copyright 2007-2009 Jiemamy Project and the Others.
- * Created on 2009/02/25
- *
- * 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.composer.exporter;
-
-import java.io.File;
-
-import org.jiemamy.composer.ExportConfig;
-import org.jiemamy.composer.Exporter;
-
-/**
- * ファイルにを出力する{@link Exporter}に関する設定情報インターフェイス。
- * 
- * @author daisuke
- */
-public interface FileExportConfig extends ExportConfig {
-	
-	/**
-	 * 出力ファイルを取得する。
-	 * 
-	 * @return 出力ファイル. 未設定の場合は{@code null} 
-	 */
-	File getOutputFile();
-	
-	/**
-	 * 出力ファイルが既に存在した場合、上書きするかどうか調べる。
-	 * 
-	 * @return 上書きする場合は{@code true}、そうでない場合は{@code false}
-	 */
-	boolean isOverwrite();
-	
-}

Modified: artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/SqlExportConfig.java
===================================================================
--- artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/SqlExportConfig.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/composer/exporter/SqlExportConfig.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -18,6 +18,7 @@
  */
 package org.jiemamy.composer.exporter;
 
+import org.jiemamy.composer.FileExportConfig;
 import org.jiemamy.dialect.EmitConfig;
 
 /**

Modified: artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/generic/GenericDialect.java
===================================================================
--- artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/generic/GenericDialect.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/generic/GenericDialect.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -134,6 +134,10 @@
 		return moldManager;
 	}
 	
+	public String getName() {
+		return "Generic Database";
+	}
+	
 	public Validator getValidator() {
 		return new AllValidator();
 	}

Modified: artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/internal/impl/DefaultEntityImportVisitor.java
===================================================================
--- artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/internal/impl/DefaultEntityImportVisitor.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/dialect/internal/impl/DefaultEntityImportVisitor.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -153,7 +153,6 @@
 		if (StringUtils.isEmpty(tableMeta.remarks) == false) {
 			result.setDescription(tableMeta.remarks);
 		}
-		// UNDONE 制約などその他情報なども
 		return result;
 	}
 	

Modified: artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/utils/ValidatorUtil.java
===================================================================
--- artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/utils/ValidatorUtil.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-core/src/main/java/org/jiemamy/utils/ValidatorUtil.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -21,19 +21,27 @@
 import java.util.Collection;
 
 import org.jiemamy.validator.Problem;
+import org.jiemamy.validator.Validator;
 import org.jiemamy.validator.Problem.Severity;
 
 /**
- * TODO for daisuke
+ * {@link Validator}用ユーティリティクラス。
  * 
  * @author daisuke
  */
 public final class ValidatorUtil {
 	
+	/**
+	 * 指定した問題の重要度<b>以上</b>(指定した問題の重要度を含む)の問題数を取得する。
+	 * 
+	 * @param problems 問題の集合
+	 * @param severity 問題の重要度
+	 * @return 指定した問題の重要度<b>以上</b>の問題数
+	 */
 	public static int sizeOf(Collection<Problem> problems, Severity severity) {
 		int count = 0;
 		for (Problem problem : problems) {
-			if (problem.getSeverity().ordinal() <= severity.ordinal()) {
+			if (problem.getSeverity().getValue() >= severity.getValue()) {
 				count++;
 			}
 		}

Modified: artemis/trunk/jiemamy-dialect-mysql/src/main/java/org/jiemamy/dialect/mysql/MySqlDialect.java
===================================================================
--- artemis/trunk/jiemamy-dialect-mysql/src/main/java/org/jiemamy/dialect/mysql/MySqlDialect.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-dialect-mysql/src/main/java/org/jiemamy/dialect/mysql/MySqlDialect.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -142,6 +142,10 @@
 		return "jdbc:mysql://localhost:3306/";
 	}
 	
+	public String getName() {
+		return "MySQL 5.0";
+	}
+	
 	@Override
 	public Validator getValidator() {
 		CompositeValidator validator = (CompositeValidator) super.getValidator();

Modified: artemis/trunk/jiemamy-dialect-oracle/src/main/java/org/jiemamy/dialect/oracle/OracleDialect.java
===================================================================
--- artemis/trunk/jiemamy-dialect-oracle/src/main/java/org/jiemamy/dialect/oracle/OracleDialect.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-dialect-oracle/src/main/java/org/jiemamy/dialect/oracle/OracleDialect.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -54,4 +54,8 @@
 	public OracleDialect() {
 		super(new DefaultDialectInitializer(new DefaultMoldManager(typeList)));
 	}
+	
+	public String getName() {
+		return "Oracle 10g";
+	}
 }

Modified: artemis/trunk/jiemamy-dialect-postgresql/src/main/java/org/jiemamy/dialect/postgresql/PostgresqlDialect.java
===================================================================
--- artemis/trunk/jiemamy-dialect-postgresql/src/main/java/org/jiemamy/dialect/postgresql/PostgresqlDialect.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-dialect-postgresql/src/main/java/org/jiemamy/dialect/postgresql/PostgresqlDialect.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -124,6 +124,10 @@
 		return "jdbc:postgresql://localhost:5432/";
 	}
 	
+	public String getName() {
+		return "PostgreSQL 8.1";
+	}
+	
 	@Override
 	public Validator getValidator() {
 		CompositeValidator validator = (CompositeValidator) super.getValidator();

Modified: artemis/trunk/jiemamy-dialect-sql99/src/main/java/org/jiemamy/dialect/sql99/Sql99Dialect.java
===================================================================
--- artemis/trunk/jiemamy-dialect-sql99/src/main/java/org/jiemamy/dialect/sql99/Sql99Dialect.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ artemis/trunk/jiemamy-dialect-sql99/src/main/java/org/jiemamy/dialect/sql99/Sql99Dialect.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -98,6 +98,10 @@
 		return "jdbc:";
 	}
 	
+	public String getName() {
+		return "SQL99 Standard";
+	}
+	
 	@Override
 	public Validator getValidator() {
 		CompositeValidator validator = (CompositeValidator) super.getValidator();

Modified: hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/RootEditDialogDataSetTab.java
===================================================================
--- hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/RootEditDialogDataSetTab.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/RootEditDialogDataSetTab.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -91,7 +91,7 @@
 	 */
 	public RootEditDialogDataSetTab(TabFolder parentTabFolder, int style, RootModel rootModel,
 			JiemamyFacade jiemamyFacade) {
-		super(parentTabFolder, style, "データセット"); // RESOURCE
+		super(parentTabFolder, style, "データセット(&T)"); // RESOURCE
 		
 		this.rootModel = rootModel;
 		this.jiemamyFacade = jiemamyFacade;

Modified: leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/ForEachUtil.java
===================================================================
--- leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/ForEachUtil.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/ForEachUtil.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -109,15 +109,15 @@
 	}
 	
 	/**
-	 * TODO for daisuke
+	 * {@link TypeSafeResultSet}を処理するビジターアクセプタメソッド。
 	 * 
-	 * @param <R>
-	 * @param <X>
-	 * @param target
-	 * @param visitor
-	 * @return
-	 * @throws SQLException
-	 * @throws X
+	 * @param <R> 戻り値の型
+	 * @param <X> visitメソッドが投げる可能性のある例外
+	 * @param target 処理対象TypeSafeResultSet
+	 * @param visitor ビジター
+	 * @return accept結果
+	 * @throws SQLException SQLの実行に失敗した場合
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <T, R, X extends Exception>R accept(TypeSafeResultSet<T> target,
 			TypeSafeResultSetVisitor<T, R, X> visitor) throws SQLException, X {

Modified: leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/metadata/TypeSafeDatabaseMetaData.java
===================================================================
--- leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/metadata/TypeSafeDatabaseMetaData.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ leto/jiemamy-commons/trunk/src/main/java/org/jiemamy/utils/metadata/TypeSafeDatabaseMetaData.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -84,8 +84,8 @@
 	 * @return 属性情報
 	 * @throws SQLException SQLの実行に失敗した場合
 	 */
-	public TypeSafeResultSet<AttributesMeta> getAttributes(String catalog, String schemaPattern, String typeNamePattern,
-			String attributeNamePattern) throws SQLException {
+	public TypeSafeResultSet<AttributesMeta> getAttributes(String catalog, String schemaPattern,
+			String typeNamePattern, String attributeNamePattern) throws SQLException {
 		ResultSet attributes = meta.getAttributes(catalog, schemaPattern, typeNamePattern, attributeNamePattern);
 		return new TypeSafeResultSet<AttributesMeta>(attributes, AttributesMeta.class);
 	}
@@ -164,8 +164,8 @@
 	 * @return キー情報
 	 * @throws SQLException SQLの実行に失敗した場合
 	 */
-	public TypeSafeResultSet<KeyMeta> getCrossReference(String primaryCatalog, String primarySchema, String primaryTable,
-			String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException {
+	public TypeSafeResultSet<KeyMeta> getCrossReference(String primaryCatalog, String primarySchema,
+			String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException {
 		ResultSet crossReference =
 				meta.getCrossReference(primaryCatalog, primarySchema, primaryTable, foreignCatalog, foreignSchema,
 						foreignTable);
@@ -258,8 +258,8 @@
 	 * @return ストアドプロシージャ情報
 	 * @throws SQLException SQLの実行に失敗した場合
 	 */
-	public TypeSafeResultSet<ProcedureMeta> getProcedures(String catalog, String schemaPattern, String procedureNamePattern)
-			throws SQLException {
+	public TypeSafeResultSet<ProcedureMeta> getProcedures(String catalog, String schemaPattern,
+			String procedureNamePattern) throws SQLException {
 		ResultSet procedures = meta.getProcedures(catalog, schemaPattern, procedureNamePattern);
 		return new TypeSafeResultSet<ProcedureMeta>(procedures, ProcedureMeta.class);
 	}
@@ -284,8 +284,8 @@
 	 * @return テーブル階層情報
 	 * @throws SQLException SQLの実行に失敗した場合
 	 */
-	public TypeSafeResultSet<SuperTableMeta> getSuperTables(String catalog, String schemaPattern, String tableNamePattern)
-			throws SQLException {
+	public TypeSafeResultSet<SuperTableMeta> getSuperTables(String catalog, String schemaPattern,
+			String tableNamePattern) throws SQLException {
 		ResultSet superTables = meta.getSuperTables(catalog, schemaPattern, tableNamePattern);
 		return new TypeSafeResultSet<SuperTableMeta>(superTables, SuperTableMeta.class);
 	}

Modified: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ModelUtil.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ModelUtil.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ModelUtil.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -18,30 +18,19 @@
  */
 package org.jiemamy.internal.test;
 
-import java.util.List;
-
 import org.apache.commons.lang.Validate;
 
 import org.jiemamy.Jiemamy;
 import org.jiemamy.JiemamyFactory;
 import org.jiemamy.dialect.BuiltinDataTypeMold;
 import org.jiemamy.dialect.Dialect;
-import org.jiemamy.exception.ElementNotFoundException;
-import org.jiemamy.exception.TooManyElementsException;
 import org.jiemamy.exception.UnexpectedConditionError;
 import org.jiemamy.model.RootModel;
-import org.jiemamy.model.attribute.AttributeModel;
 import org.jiemamy.model.attribute.ColumnModel;
 import org.jiemamy.model.attribute.ColumnRef;
-import org.jiemamy.model.attribute.constraint.ForeignKey;
-import org.jiemamy.model.attribute.constraint.PrimaryKey;
-import org.jiemamy.model.attribute.constraint.UniqueKey;
 import org.jiemamy.model.dataset.RecordModel;
 import org.jiemamy.model.datatype.BuiltinDataType;
 import org.jiemamy.model.datatype.DataTypeCategory;
-import org.jiemamy.model.entity.EntityModel;
-import org.jiemamy.model.entity.TableModel;
-import org.jiemamy.utils.CollectionsUtil;
 
 /**
  * TODO for daisuke
@@ -71,173 +60,6 @@
 		}
 	}
 	
-	/**
-	 * 指定した型を持つ属性を取得する。
-	 * 
-	 * @param <T> 属性の型
-	 * @param tableModel 対象のテーブル
-	 * @param clazz 属性の型
-	 * @param columnAttr カラム属性も検索対象とする場合は{@code true}、そうでない場合は{@code false}
-	 * @return 属性
-	 * @throws TooManyElementsException 複数の属性が見つかった場合
-	 * @throws ElementNotFoundException 属性が見つからなかった場合
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static <T extends AttributeModel>T getAttribute(TableModel tableModel, Class<T> clazz, boolean columnAttr) {
-		List<T> attributes = getAttributes(tableModel, clazz, columnAttr);
-		if (attributes.size() == 0) {
-			throw new ElementNotFoundException(tableModel, clazz);
-		} else if (attributes.size() > 1) {
-			throw new TooManyElementsException(tableModel, clazz, attributes);
-		}
-		return attributes.get(0);
-	}
-	
-	/**
-	 * 指定した型を持つ属性のリストを取得する。
-	 * 
-	 * @param <T> 属性の型
-	 * @param tableModel 対象のテーブル
-	 * @param clazz 検索する型
-	 * @return 属性のリスト
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static <T extends AttributeModel>List<T> getAttributes(TableModel tableModel, Class<T> clazz) {
-		return getAttributes(tableModel, clazz, false);
-	}
-	
-	/**
-	 * 属性のうち、指定した型を持つもののリストを取得する。
-	 * 
-	 * @param <T> 対象属性の型
-	 * @param tableModel 対象のテーブル
-	 * @param clazz 対象属性の型
-	 * @param columnAttr カラムに付随するモデルも対象とする場合は{@code true}、そうでない場合は{@code false}
-	 * @return 属性のリスト
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static <T extends AttributeModel>List<T> getAttributes(TableModel tableModel, Class<T> clazz, boolean columnAttr) {
-		Validate.notNull(tableModel);
-		Validate.notNull(clazz);
-		
-		List<T> result = CollectionsUtil.newArrayList();
-		for (AttributeModel attribute : tableModel.getAttributes()) {
-			if (clazz.isAssignableFrom(attribute.getClass())) {
-				result.add(clazz.cast(attribute));
-			}
-			if (columnAttr && attribute instanceof ColumnModel) {
-				ColumnModel columnModel = (ColumnModel) attribute;
-				UniqueKey uniqueKey = columnModel.getUniqueKey();
-				if (uniqueKey != null && clazz.isAssignableFrom(uniqueKey.getClass())) {
-					result.add(clazz.cast(uniqueKey));
-				}
-				PrimaryKey primaryKey = columnModel.getPrimaryKey();
-				if (primaryKey != null && clazz.isAssignableFrom(primaryKey.getClass())) {
-					result.add(clazz.cast(primaryKey));
-				}
-				// column chek と not null は attributeじゃないので処理しない
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * テーブルから、指定した名前を持つカラムを取得する。
-	 * 
-	 * @param tableModel 検索対象のテーブル
-	 * @param columnName カラム名
-	 * @return 見つかったカラム
-	 * @throws TooManyElementsException 同名のカラムが複数見つかった場合
-	 * @throws ElementNotFoundException カラムが見つからなかった場合 
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static ColumnModel getColumn(TableModel tableModel, String columnName) {
-		Validate.notNull(tableModel);
-		Validate.notNull(columnName);
-		
-		List<ColumnModel> columns = CollectionsUtil.newArrayList();
-		for (ColumnModel columnModel : getAttributes(tableModel, ColumnModel.class)) {
-			if (columnName.equals(columnModel.getName())) {
-				columns.add(columnModel);
-			}
-		}
-		if (columns.size() == 0) {
-			throw new ElementNotFoundException(tableModel, columnName);
-		} else if (columns.size() > 1) {
-			throw new TooManyElementsException(tableModel, columnName, columns);
-		}
-		return columns.get(0);
-	}
-	
-	/**
-	 * カラムのリストを取得する。
-	 * 
-	 * @param tableModel 対象のテーブル
-	 * @return カラムのリスト
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static List<ColumnModel> getColumns(TableModel tableModel) {
-		return getAttributes(tableModel, ColumnModel.class);
-	}
-	
-	/**
-	 * 指定した名前を持つエンティティを取得する。
-	 * 
-	 * <p>エンティティ名の大文字・小文字は区別されない。</p>
-	 * 
-	 * @param <T> エンティティの種類を表すクラス
-	 * @param rootModel 操作対象{@link RootModel}
-	 * @param clazz エンティティの種類を表すクラス. {@code null}の場合、エンティティの種類を限定しないことを表す
-	 * @param entityName エンティティ名
-	 * @return 見つかったエンティティ
-	 * @throws TooManyElementsException 同名のエンティティが複数見つかった場合
-	 * @throws ElementNotFoundException エンティティが見つからなかった場合
-	 * @throws IllegalArgumentException 引数rootModel, entityNameに{@code null}を与えた場合
-	 */
-	@SuppressWarnings("unchecked")
-	static <T extends EntityModel>T getEntity(RootModel rootModel, Class<T> clazz, String entityName) {
-		Validate.notNull(rootModel);
-		Validate.notNull(entityName);
-		
-		List<T> entities = CollectionsUtil.newArrayList();
-		for (EntityModel entityModel : rootModel.getEntities()) {
-			if (entityName.equalsIgnoreCase(entityModel.getName())
-					&& (clazz == null || clazz.isAssignableFrom(entityModel.getClass()))) {
-				entities.add((T) entityModel);
-			}
-		}
-		if (entities.size() == 0) {
-			throw new ElementNotFoundException(rootModel, entityName);
-		} else if (entities.size() > 1) {
-			throw new TooManyElementsException(rootModel, entityName, entities);
-		}
-		return entities.get(0);
-	}
-	
-	/**
-	 * 外部キー制約のリストを取得する。
-	 * 
-	 * @param tableModel 対象のテーブル
-	 * @return 外部キー制約のリスト
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static List<ForeignKey> getForeignKeys(TableModel tableModel) {
-		return getAttributes(tableModel, ForeignKey.class);
-	}
-	
-	/**
-	 * 主キーを取得する。
-	 * 
-	 * @param tableModel 対象のテーブル
-	 * @return 主キー
-	 * @throws TooManyElementsException 複数の主キーが見つかった場合
-	 * @throws ElementNotFoundException 主キーが存在しない場合
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	static PrimaryKey getPrimaryKey(TableModel tableModel) {
-		return getAttribute(tableModel, PrimaryKey.class, true);
-	}
-	
 	private ModelUtil() {
 		throw new UnexpectedConditionError("不到達ポイント");
 	}

Modified: leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ReflectionDialectProvider.java
===================================================================
--- leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ReflectionDialectProvider.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ leto/jiemamy-test-helper/trunk/src/main/java/org/jiemamy/internal/test/ReflectionDialectProvider.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -41,6 +41,7 @@
 			classLoader = new URLClassLoader(new URL[] {
 				new File("../jiemamy-dialect-mysql/target/classes").toURL(),
 				new File("../jiemamy-dialect-postgresql/target/classes").toURL(),
+				new File("../jiemamy-dialect-oracle/target/classes").toURL(),
 				new File("../jiemamy-dialect-sql99/target/classes").toURL()
 			});
 		} catch (MalformedURLException e) {

Added: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java
===================================================================
--- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java	                        (rev 0)
+++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2007-2009 Jiemamy Project and the Others.
+ * Created on 2009/02/25
+ *
+ * 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.composer;
+
+import java.io.File;
+
+
+/**
+ * ファイルにを出力する{@link Exporter}に関する設定情報インターフェイス。
+ * 
+ * @author daisuke
+ */
+public interface FileExportConfig extends ExportConfig {
+	
+	/**
+	 * 出力ファイルを取得する。
+	 * 
+	 * @return 出力ファイル. 未設定の場合は{@code null} 
+	 */
+	File getOutputFile();
+	
+	/**
+	 * 出力ファイルが既に存在した場合、上書きするかどうか調べる。
+	 * 
+	 * @return 上書きする場合は{@code true}、そうでない場合は{@code false}
+	 */
+	boolean isOverwrite();
+	
+}

Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java
===================================================================
--- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -126,6 +126,14 @@
 	MoldManager getMoldManager();
 	
 	/**
+	 * SQL方言名を取得する。
+	 * 
+	 * @return SQL方言名
+	 * @since 0.2
+	 */
+	String getName();
+	
+	/**
 	 * モデルのバリデータを取得する。
 	 * 
 	 * <p>{@code null}を返してはならない。</p>

Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java
===================================================================
--- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java	2009-04-09 08:50:45 UTC (rev 3205)
+++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java	2009-04-10 10:25:41 UTC (rev 3206)
@@ -103,18 +103,36 @@
 	public enum Severity {
 		
 		/** 致命的なエラー: 正常にモデルをパースできない・SQLに変換できない状態 */
-		FATAL,
+		FATAL(5),
 
 		/** 一般的なエラー: このままSQL化してもDBがsyntax error等を出すであろう状態 */
-		ERROR,
+		ERROR(4),
 
 		/** 警告: SQL化してDBに適用可能だが、RDB理論的に望ましくない状態 */
-		WARN,
+		WARN(3),
 
 		/** 通知: RDB理論的に問題はないけど実務的にアレだよね系の状態 */
-		NOTICE,
+		NOTICE(2),
 
 		/** 情報: 問題でなないが、何かしらの情報を表現したい場合 */
-		INFO
+		INFO(1);
+		
+		/** 重要度を数値化した値 */
+		private final int value;
+		
+
+		Severity(int value) {
+			this.value = value;
+		}
+		
+		/**
+		 * 重要度を数値化した値を取得する。
+		 * 
+		 * @return 重要度を数値化した値
+		 * @since 0.2
+		 */
+		public int getValue() {
+			return value;
+		}
 	}
 }

Modified: zeus/trunk/jiemamy-zeus/pom.xml
===================================================================
--- zeus/trunk/jiemamy-zeus/pom.xml	2009-04-09 08:50:45 UTC (rev 3205)
+++ zeus/trunk/jiemamy-zeus/pom.xml	2009-04-10 10:25:41 UTC (rev 3206)
@@ -129,22 +129,39 @@
           <outputEncoding>UTF-8</outputEncoding>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>com.googlecode.maven-overview-plugin</groupId>
+        <artifactId>maven-overview-plugin</artifactId>
+        <version>1.3</version>
+      </plugin>
     </plugins>
   </build>
   <pluginRepositories>
-    <pluginRepository>
-      <id>Codehaus Snapshots</id>
-      <url>http://snapshots.repository.codehaus.org/</url>
+    <pluginRepository>
+      <id>Codehaus Snapshots</id>
+      <url>http://snapshots.repository.codehaus.org/</url>
       <snapshots>
         <enabled>true</enabled>
       </snapshots>
       <releases>
         <enabled>true</enabled>
       </releases>
-    </pluginRepository>
+    </pluginRepository>
+    <pluginRepository>
+      <id>overview plugin</id>
+      <url>https://kungfoo-m2.googlecode.com/svn/release-repo</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </pluginRepository>
   </pluginRepositories>
   <reporting>
     <plugins>
+      <plugin>
+        <groupId>com.googlecode.maven-overview-plugin</groupId>
+        <artifactId>maven-overview-plugin</artifactId>
+        <version>1.3</version>
+      </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>cobertura-maven-plugin</artifactId>
@@ -236,7 +253,7 @@
           <effort>Max</effort>
         </configuration>
       </plugin>
-      <plugin><!-- コレがコケることがある? -->
+      <plugin>
         <artifactId>maven-pmd-plugin</artifactId>
         <configuration>
           <sourceEncoding>UTF-8</sourceEncoding>



Jiemamy-notify メーリングリストの案内
Back to archive index