[Jiemamy-notify] commit [2239] Validation, Assertionの強化。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 12月 11日 (木) 02:02:42 JST


Revision: 2239
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=2239
Author:   daisuke_m
Date:     2008-12-11 02:02:42 +0900 (Thu, 11 Dec 2008)

Log Message:
-----------
Validation, Assertionの強化。

Modified Paths:
--------------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/DefaultInstanceAccessStrategy.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/dialect/GenericDataTypeResolver.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/AdapterManager.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/AbstractContext.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/DatabaseReader.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetColumnProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConnectionsProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConstrainEntitiesProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetDataSetProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetEntityProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetMappingProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetNodesProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetPrimaryKeyColumnsProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetReferenceEntitiesProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/IsCyclicProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideEntityNameProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideForeignKeyNameProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetDefaultColumnsProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetRecordProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/UpdateMappingsProcessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ConstraintUtil.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/DriverUtil.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/EntityDependencyCalculator.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ForEachUtil.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/JmIOUtil.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/debug/S2ContainerUtil.java
    artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/general/GeneralDialect.java
    artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/helper/JiemamyXADataSource.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractModelChangeSupport.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractObservable.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableList.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableMap.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableSet.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/JiemamyHandler.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetBendpointsProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetColorProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetConstraintProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/RemoveFromDiagramProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/ResetBendpointProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetBendpointsProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetColorProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetConstraintProcessor.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationModelImpl.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationsImpl.java
    artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/utils/JmPointUtil.java
    artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java
    artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Processor.java
    zeus/trunk/org.jiemamy.spec.view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java

Removed Paths:
-------------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/Processor.java
    artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/general/datatype/


-------------- next part --------------
Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/DefaultInstanceAccessStrategy.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/DefaultInstanceAccessStrategy.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/DefaultInstanceAccessStrategy.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -23,7 +23,6 @@
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.exception.IllegalImplementationException;
-import org.jiemamy.extension.InstanceAccessStrategy;
 
 /**
  * インスタンスを取得する、デフォルトの戦略クラス。
@@ -45,6 +44,7 @@
 	 * @category instance creation
 	 */
 	public DefaultInstanceAccessStrategy() {
+		this(null);
 	}
 	
 	/**
@@ -61,6 +61,7 @@
 	 */
 	@SuppressWarnings("unchecked")
 	public T getInstance(String fqcn) throws ClassNotFoundException {
+		assert cache != null;
 		if (cache.get(fqcn) == null) {
 			Class<? extends T> clazz;
 			if (classLoader != null) {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/dialect/GenericDataTypeResolver.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/dialect/GenericDataTypeResolver.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/extension/dialect/GenericDataTypeResolver.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -27,9 +27,6 @@
 import org.jiemamy.exception.IllegalDataTypeImplementationException;
 import org.jiemamy.exception.IllegalDialectImplementationException;
 import org.jiemamy.exception.UnexpectedConditionError;
-import org.jiemamy.extension.dialect.DataTypeResolver;
-import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.extension.dialect.MappingInfo;
 import org.jiemamy.model.datatype.DataType;
 import org.jiemamy.model.datatype.DataTypeDescriptor;
 import org.jiemamy.utils.JmStringUtil;
@@ -58,6 +55,7 @@
 	 * {@inheritDoc}
 	 */
 	public List<Class<? extends DataType>> getAllModelingDataTypes() {
+		assert allModelingDataTypes != null;
 		return allModelingDataTypes;
 	}
 	
@@ -65,6 +63,7 @@
 	 * {@inheritDoc}
 	 */
 	public void register(Class<? extends DataType> clazz) {
+		assert allModelingDataTypes != null;
 		Validate.notNull(clazz);
 		allModelingDataTypes.add(clazz);
 	}
@@ -73,6 +72,7 @@
 	 * {@inheritDoc}
 	 */
 	public DataType resolveDataType(DataTypeDescriptor dataTypeDescriptor) {
+		assert allModelingDataTypes != null;
 		Validate.notNull(dataTypeDescriptor);
 		for (Class<? extends DataType> clazz : allModelingDataTypes) {
 			if (clazz.getAnnotation(MappingInfo.class).descriptor() == dataTypeDescriptor.getClass()) {
@@ -92,6 +92,7 @@
 	 * {@inheritDoc}
 	 */
 	public DataTypeDescriptor resolveDataTypeDescriptor(String typeName) throws DataTypeNotFoundException {
+		assert allModelingDataTypes != null;
 		for (Class<? extends DataType> clazz : allModelingDataTypes) {
 			MappingInfo annotation = clazz.getAnnotation(MappingInfo.class);
 			if (annotation.typeName().equalsIgnoreCase(typeName)

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/AdapterManager.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/AdapterManager.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/AdapterManager.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -41,6 +41,7 @@
 	public <T>T getAdapter(Class<T> adapter) {
 		assert adapters != null;
 		Validate.notNull(adapter);
+		
 		for (Object myAdapter : adapters) {
 			if (adapter.isAssignableFrom(myAdapter.getClass())) {
 				return (T) myAdapter;
@@ -67,6 +68,7 @@
 	public boolean hasAdapter(Class<?> adapter) {
 		assert adapters != null;
 		Validate.notNull(adapter);
+		
 		for (Object myAdapter : adapters) {
 			if (adapter.isAssignableFrom(myAdapter.getClass())) {
 				return true;

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/AbstractContext.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/AbstractContext.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/AbstractContext.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -38,6 +38,7 @@
 	 * @return コンテキスト値のマップ
 	 */
 	public Map<String, Object> getProperties() {
+		assert properties != null;
 		return properties;
 	}
 	
@@ -49,6 +50,7 @@
 	 */
 	@SuppressWarnings("unchecked")
 	public <T>T getValue(String key) {
+		assert properties != null;
 		return (T) properties.get(key);
 	}
 	
@@ -57,6 +59,7 @@
 	 * @param properties コンテキスト値のマップ
 	 */
 	public void setProperties(Map<String, Object> properties) {
+		assert properties != null;
 		this.properties = properties;
 	}
 	
@@ -67,6 +70,7 @@
 	 * @param value コンテキスト値
 	 */
 	public <T>void setValue(String key, T value) {
+		assert properties != null;
 		properties.put(key, value);
 	}
 }

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/DatabaseReader.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/DatabaseReader.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/interpreter/DatabaseReader.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -24,6 +24,7 @@
 import java.sql.SQLException;
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.extension.dialect.DatabaseReadingContext;
@@ -60,6 +61,8 @@
 	 * @category instance creation
 	 */
 	public DatabaseReader(Dialect dialect, DatabaseReadingContext ctx) {
+		Validate.notNull(dialect);
+		Validate.notNull(ctx);
 		this.dialect = dialect;
 		this.ctx = ctx;
 	}
@@ -71,8 +74,14 @@
 	 * @param visitor 各エンティティに情報に対するビジター。
 	 * @return ビジターに依存した、実行結果
 	 * @throws SQLException 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public <T>T readEnities(Connection connection, AbstractResultSetVisitor<T> visitor) throws SQLException {
+		assert dialect != null;
+		assert ctx != null;
+		Validate.notNull(connection);
+		Validate.notNull(visitor);
+		
 		dialect.getAdvisor().setUpRead(connection);
 		
 		String schema = ctx.getValue("schema"); // DatabaseImporter.SCHEMA
@@ -92,8 +101,14 @@
 	 * @param visitor 各エンティティに情報に対するビジター。
 	 * @return ビジターに依存した、実行結果
 	 * @throws SQLException 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public <T>List<T> readRelations(Connection connection, AbstractResultSetVisitor<T> visitor) throws SQLException {
+		assert dialect != null;
+		assert ctx != null;
+		Validate.notNull(connection);
+		Validate.notNull(visitor);
+		
 		dialect.getAdvisor().setUpRead(connection);
 		
 		String schema = ctx.getValue("schema"); // DatabaseImporter.SCHEMA

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetColumnProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetColumnProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetColumnProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,6 +20,7 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.exception.ElementNotFoundException;
@@ -40,9 +41,11 @@
 	/**
 	 * コンストラクタ。
 	 * @param columnName カラム名
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetColumnProcessor(String columnName) {
+		Validate.notNull(columnName);
 		this.columnName = columnName;
 	}
 	
@@ -51,6 +54,7 @@
 	 * @throws TooManyElementsException 複数のカラムが見つかった時
 	 */
 	public ColumnModel process(TableModel tableModel) throws TooManyElementsException {
+		Validate.notNull(tableModel);
 		List<ColumnModel> columns = CollectionsUtil.newArrayList();
 		for (ColumnModel column : tableModel.getColumns()) {
 			if (columnName.equals(column.getName())) {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConnectionsProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConnectionsProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConnectionsProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -17,6 +17,7 @@
 import java.util.List;
 
 import org.apache.commons.collections15.list.UnmodifiableList;
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.model.RootModel;
@@ -58,6 +59,7 @@
 	 */
 	@SuppressWarnings("unchecked")
 	public List<T> process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		List<T> connections = CollectionsUtil.newArrayList();
 		for (AbstractNodeModel node : rootModel.getNodes()) {
 			for (AbstractConnectionModel connection : node.getSourceConnections()) {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConstrainEntitiesProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConstrainEntitiesProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetConstrainEntitiesProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,6 +20,7 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.model.connection.AbstractConnectionModel;
@@ -51,6 +52,7 @@
 	 * {@inheritDoc}
 	 */
 	public List<AbstractEntityModel> process(AbstractEntityModel entity) {
+		Validate.notNull(entity);
 		return recursive ? processRecursive(entity) : processNonRecursive(entity);
 	}
 	

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetDataSetProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetDataSetProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetDataSetProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,6 +20,8 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.dataset.RecordModel;
 import org.jiemamy.model.node.AbstractEntityModel;
@@ -42,9 +44,11 @@
 	 * コンストラクタ。
 	 * @param index データセットのインデックス番号
 	 * @param entity 対象エンティティ
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetDataSetProcessor(int index, AbstractEntityModel entity) {
+		Validate.notNull(entity);
 		this.index = index;
 		this.entity = entity;
 	}
@@ -53,6 +57,7 @@
 	 * {@inheritDoc}
 	 */
 	public List<RecordModel> process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		return rootModel.getInsertDataSets().get(index).getRecords().get(entity);
 	}
 	

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetEntityProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetEntityProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetEntityProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,6 +20,7 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.exception.ElementNotFoundException;
@@ -49,10 +50,12 @@
 	 * @param <T> 
 	 * @param clazz エンティティの種類を表すクラス
 	 * @param entityName エンティティ名
+	 * @throws IllegalArgumentException 引数entityNameに{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	@SuppressWarnings("hiding")
 	public <T> GetEntityProcessor(Class<T> clazz, String entityName) {
+		Validate.notNull(entityName);
 		this.clazz = clazz;
 		this.entityName = entityName;
 	}
@@ -60,9 +63,11 @@
 	/**
 	 * コンストラクタ。
 	 * @param entityName エンティティ名
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetEntityProcessor(String entityName) {
+		Validate.notNull(entityName);
 		this.entityName = entityName;
 	}
 	
@@ -71,6 +76,7 @@
 	 * @throws TooManyElementsException 
 	 */
 	public AbstractEntityModel process(RootModel rootModel) throws TooManyElementsException {
+		Validate.notNull(rootModel);
 		List<AbstractEntityModel> entities = CollectionsUtil.newArrayList();
 		for (AbstractNodeModel node : rootModel.getNodes()) {
 			if (node instanceof AbstractEntityModel) {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetMappingProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetMappingProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetMappingProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,6 +18,8 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.exception.ElementNotFoundException;
 import org.jiemamy.model.ColumnModel;
 import org.jiemamy.model.connection.ForeignKeyMapping;
@@ -36,9 +38,11 @@
 	/**
 	 * コンストラクタ。
 	 * @param referenceColumn
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetMappingProcessor(ColumnModel referenceColumn) {
+		Validate.notNull(referenceColumn);
 		this.referenceColumn = referenceColumn;
 	}
 	
@@ -46,6 +50,7 @@
 	 * {@inheritDoc}
 	 */
 	public ForeignKeyMapping process(ForeignKeyModel fkModel) {
+		Validate.notNull(fkModel);
 		for (ForeignKeyMapping mapping : fkModel.getMappings()) {
 			if (mapping.getReferenceColumn().equals(referenceColumn)) {
 				return mapping;

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetNodesProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetNodesProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetNodesProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -16,6 +16,7 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.model.RootModel;
@@ -36,9 +37,11 @@
 	/**
 	 * コンストラクタ。
 	 * @param clazz ノードの種類を表すクラス
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetNodesProcessor(Class<T> clazz) {
+		Validate.notNull(clazz);
 		this.clazz = clazz;
 	}
 	
@@ -47,6 +50,7 @@
 	 */
 	@SuppressWarnings("unchecked")
 	public List<T> process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		List<T> nodes = CollectionsUtil.newArrayList();
 		for (AbstractNodeModel node : rootModel.getNodes()) {
 			Class<? extends AbstractNodeModel> nodeClass = node.getClass();

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetPrimaryKeyColumnsProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetPrimaryKeyColumnsProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetPrimaryKeyColumnsProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -21,6 +21,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.model.ColumnModel;
 import org.jiemamy.model.constraint.PrimaryKeyConstraintModel;
 import org.jiemamy.model.node.TableModel;
@@ -54,6 +56,7 @@
 	 * {@inheritDoc}
 	 */
 	public List<ColumnModel> process(TableModel tableModel) {
+		Validate.notNull(tableModel);
 		List<ColumnModel> pks = new ArrayList<ColumnModel>();
 		for (ColumnModel column : tableModel.getColumns()) {
 			if (column.hasConstraint(PrimaryKeyConstraintModel.class)) {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetReferenceEntitiesProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetReferenceEntitiesProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/GetReferenceEntitiesProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,6 +20,7 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.util.tiger.CollectionsUtil;
 
 import org.jiemamy.model.connection.AbstractConnectionModel;
@@ -51,6 +52,7 @@
 	 * {@inheritDoc}
 	 */
 	public List<AbstractEntityModel> process(AbstractEntityModel entity) {
+		Validate.notNull(entity);
 		return recursive ? processRecursive(entity) : processNonRecursive(entity);
 	}
 	

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/IsCyclicProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/IsCyclicProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/IsCyclicProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,6 +18,8 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.model.connection.AbstractConnectionModel;
 import org.jiemamy.utils.Processor;
 
@@ -49,6 +51,7 @@
 	 * {@inheritDoc}
 	 */
 	public Boolean process(AbstractConnectionModel connectionModel) {
+		Validate.notNull(connectionModel);
 		return connectionModel.getSource().equals(connectionModel.getTarget());
 	}
 	

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideEntityNameProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideEntityNameProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideEntityNameProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,6 +18,8 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.exception.ElementNotFoundException;
 import org.jiemamy.exception.TooManyElementsException;
 import org.jiemamy.exception.UnexpectedConditionError;
@@ -45,9 +47,11 @@
 	 * コンストラクタ。
 	 * @param entityModel
 	 * @param validator 
+	 * @throws IllegalArgumentException 引数entityModelに{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public ProvideEntityNameProcessor(AbstractEntityModel entityModel, IdentifierValidator validator) {
+		Validate.notNull(entityModel);
 		this.entityModel = entityModel;
 		this.validator = validator;
 	}
@@ -56,6 +60,7 @@
 	 * {@inheritDoc}
 	 */
 	public String process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		StringBuilder sb;
 		int counter = 0;
 		boolean duplicated;

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideForeignKeyNameProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideForeignKeyNameProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/ProvideForeignKeyNameProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -63,6 +63,7 @@
 	 * {@inheritDoc}
 	 */
 	public String process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		StringBuilder sb;
 		int counter = 0;
 		do {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetDefaultColumnsProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetDefaultColumnsProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetDefaultColumnsProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,6 +18,8 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.exception.TooManyElementsException;
 import org.jiemamy.model.ColumnModel;
 import org.jiemamy.model.RootModel;
@@ -49,10 +51,14 @@
 	 * @param sourceTable 参照元テーブル
 	 * @param referencePkColumn 参照先(targetのPKカラム)
 	 * @param createColumn 同名カラムが存在しなかった場合、新規作成するかどうか
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public SetDefaultColumnsProcessor(RootModel rootModel, TableModel sourceTable, ColumnModel referencePkColumn,
 			boolean createColumn) {
+		Validate.notNull(rootModel);
+		Validate.notNull(sourceTable);
+		Validate.notNull(referencePkColumn);
 		this.rootModel = rootModel;
 		this.sourceTable = sourceTable;
 		this.referencePkColumn = referencePkColumn;
@@ -63,6 +69,7 @@
 	 * {@inheritDoc}
 	 */
 	public Void process(ForeignKeyMapping mapping) {
+		Validate.notNull(mapping);
 		mapping.setReferenceColumn(referencePkColumn);
 		
 		// targetのPKと同じ名前のカラムが、同じ型であればマッピング

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetRecordProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetRecordProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/SetRecordProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,6 +18,8 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.model.ColumnModel;
 import org.jiemamy.model.dataset.RecordModel;
 import org.jiemamy.utils.Processor;
@@ -39,9 +41,11 @@
 	 * コンストラクタ。
 	 * @param column カラム
 	 * @param value 値
+	 * @throws IllegalArgumentException 引数columnに{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public SetRecordProcessor(ColumnModel column, String value) {
+		Validate.notNull(column);
 		this.column = column;
 		this.value = value;
 	}
@@ -49,8 +53,9 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public Void process(RecordModel record) {
-		record.getValues().put(column, value);
+	public Void process(RecordModel recordModel) {
+		Validate.notNull(recordModel);
+		recordModel.getValues().put(column, value);
 		return null;
 	}
 	

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/UpdateMappingsProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/UpdateMappingsProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/processor/UpdateMappingsProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -22,6 +22,8 @@
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.exception.ElementNotFoundException;
 import org.jiemamy.model.ColumnModel;
 import org.jiemamy.model.RootModel;
@@ -46,9 +48,11 @@
 	 * コンストラクタ。
 	 * @param rootModel 
 	 * @param createColumnWithFk 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public UpdateMappingsProcessor(RootModel rootModel, boolean createColumnWithFk) {
+		Validate.notNull(rootModel);
 		this.rootModel = rootModel;
 		this.createColumnWithFk = createColumnWithFk;
 	}
@@ -57,6 +61,9 @@
 	 * {@inheritDoc}
 	 */
 	public Void process(ForeignKeyModel fkModel) {
+		Validate.notNull(fkModel);
+		Validate.notNull(fkModel.getSource());
+		Validate.notNull(fkModel.getTarget());
 		TableModel targetTable = (TableModel) fkModel.getTarget();
 		TableModel sourceTable = (TableModel) fkModel.getSource();
 		List<ColumnModel> targetPkColumns = targetTable.getPrimaryKeyColumns();

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ConstraintUtil.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ConstraintUtil.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ConstraintUtil.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -38,6 +38,7 @@
 	 */
 	public static ConstraintsModel marge(ConstraintsModel... inputConstraintss) {
 		Validate.notEmpty(inputConstraintss);
+		
 		ConstraintsModel constraints = new ConstraintsModelImpl();
 		for (ConstraintsModel inputConstraints : inputConstraintss) {
 			for (Constraint constraint : inputConstraints.getConstraints()) {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/DriverUtil.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/DriverUtil.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/DriverUtil.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -55,6 +55,7 @@
 	 */
 	public static List<Class<? extends Driver>> getDriverClasses(URL[] paths) throws IOException {
 		Validate.notNull(paths);
+		
 		URLClassLoader classLoader = new URLClassLoader(paths);
 		
 		List<Class<? extends Driver>> driverList = CollectionsUtil.newArrayList();

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/EntityDependencyCalculator.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/EntityDependencyCalculator.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/EntityDependencyCalculator.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -30,6 +30,7 @@
 	 */
 	public static List<AbstractEntityModel> getSortedEntityList(RootModel rootModel) {
 		Validate.notNull(rootModel);
+		
 		results = new ArrayList<AbstractEntityModel>(rootModel.getNodes().size());
 		
 		for (AbstractNodeModel node : rootModel.getNodes()) {
@@ -50,6 +51,7 @@
 	 */
 	private static void addDependsdentsToResult(AbstractEntityModel entityModel) {
 		Validate.notNull(entityModel);
+		
 		for (AbstractConnectionModel connection : entityModel.getSourceConnections()) {
 			assert connection.getTarget() != null : "entityのsourceConnectionsに、"
 					+ "source/targetが揃っていないconnectionがappendされている";

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ForEachUtil.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ForEachUtil.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/ForEachUtil.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -23,6 +23,8 @@
 import java.util.Collection;
 import java.util.Map;
 
+import org.apache.commons.lang.Validate;
+
 /**
  * {@link Collection}や{@link Map}等、複数の要素を持つObjectに対して、全ての要素に処理を行うためのユーティリティ。
  * @author daisuke
@@ -38,9 +40,13 @@
 	 * @param target 処理対象コレクション
 	 * @param visitor ビジター
 	 * @return accept結果
-	 * @throws Exception 
+	 * @throws E 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <T, R, E extends Exception>R accept(Iterable<T> target, CollectionVisitor<T, R, E> visitor) throws E {
+		Validate.notNull(target);
+		Validate.notNull(visitor);
+		
 		for (T connection : target) {
 			R result = visitor.visit(connection);
 			if (result != null) {
@@ -61,8 +67,12 @@
 	 * @param visitor ビジター
 	 * @return accept結果
 	 * @throws E 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <K, V, R, E extends Exception>R accept(Map<K, V> targetMap, MapVisitor<K, V, R, E> visitor) throws E {
+		Validate.notNull(targetMap);
+		Validate.notNull(visitor);
+		
 		for (Map.Entry<K, V> entry : targetMap.entrySet()) {
 			R result = visitor.visit(entry.getKey(), entry.getValue());
 			if (result != null) {
@@ -80,9 +90,13 @@
 	 * @param visitor ビジター
 	 * @return accept結果
 	 * @throws SQLException 
+		 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <R>R accept(ResultSet target, CollectionVisitor<ResultSet, R, SQLException> visitor)
 			throws SQLException {
+		Validate.notNull(target);
+		Validate.notNull(visitor);
+		
 		while (target.next()) {
 			visitor.visit(target);
 		}

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/JmIOUtil.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/JmIOUtil.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/JmIOUtil.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,8 +18,6 @@
  */
 package org.jiemamy.utils;
 
-import java.io.Closeable;
-import java.io.IOException;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -36,23 +34,23 @@
  */
 public final class JmIOUtil {
 	
-	/**
-	 * 無条件にリソースを閉じる。
-	 * 
-	 * <p>{@link Closeable#close()} と等価であるが、例外を無視する。
-	 * 主に finally 句内で使われることを想定している。</p>
-	 * 
-	 * @param closeable 閉じる対象。nullでも、既にclose済みであっても構わない。
-	 */
-	public static void closeQuietly(Closeable closeable) {
-		if (closeable != null) {
-			try {
-				closeable.close();
-			} catch (IOException ignore) {
-				// ignore
-			}
-		}
-	}
+//	/**
+//	 * 無条件にリソースを閉じる。
+//	 * 
+//	 * <p>{@link Closeable#close()} と等価であるが、例外を無視する。
+//	 * 主に finally 句内で使われることを想定している。</p>
+//	 * 
+//	 * @param closeable 閉じる対象。nullでも、既にclose済みであっても構わない。
+//	 */
+//	public static void closeQuietly(Closeable closeable) {
+//		if (closeable != null) {
+//			try {
+//				closeable.close();
+//			} catch (IOException ignore) {
+//				// ignore
+//			}
+//		}
+//	}
 	
 	/**
 	 * 無条件にリソースを閉じる。

Deleted: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/Processor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/Processor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/Processor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -1,41 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/08/01
- *
- * 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.utils;
-
-/**
- * オブジェクトに対して実行する処理のインターフェイス。
- * 
- * <p>cf. http://d.hatena.ne.jp/daisuke-m/20080801/1217594494</p>
- * 
- * @param <R> 結果の型
- * @param <T> 処理対象のオブジェクトの型
- * @param <E> 処理が投げる可能性のある例外の型(投げない場合は{@link RuntimeException}を指定)
- * @author daisuke
- */
-public interface Processor<T, R, E extends Exception> {
-	
-	/**
-	 * オブジェクトに対する処理を実行する。
-	 * @param target 対象オブジェクト
-	 * @return 結果
-	 * @throws E Process処理が正常に終了しなかった場合
-	 */
-	R process(T target) throws E;
-	
-}

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/debug/S2ContainerUtil.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/debug/S2ContainerUtil.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/utils/debug/S2ContainerUtil.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -37,6 +37,7 @@
 	 */
 	public static String toString(S2Container container) {
 		Validate.notNull(container);
+		
 		StrBuilder sb = new StrBuilder();
 		sb.appendln("--------");
 		

Modified: artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/general/GeneralDialect.java
===================================================================
--- artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/general/GeneralDialect.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/general/GeneralDialect.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -76,6 +76,7 @@
 	 * {@inheritDoc}
 	 */
 	public ConnectionAdvisor getAdvisor() {
+		assert advisor != null;
 		return advisor;
 	}
 	
@@ -83,6 +84,7 @@
 	 * {@inheritDoc}
 	 */
 	public DataTypeResolver getDataTypeResolver() {
+		assert dataTypeResolver != null;
 		return dataTypeResolver;
 	}
 	
@@ -90,6 +92,7 @@
 	 * {@inheritDoc}
 	 */
 	public Quoter getQuoter() {
+		assert quoter != null;
 		return quoter;
 	}
 	
@@ -97,6 +100,7 @@
 	 * {@inheritDoc}
 	 */
 	public IdentifierValidator getValidator() {
+		assert validator != null;
 		return validator;
 	}
 	

Modified: artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/helper/JiemamyXADataSource.java
===================================================================
--- artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/helper/JiemamyXADataSource.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/helper/JiemamyXADataSource.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -64,6 +64,7 @@
 	 * @param value 値
 	 */
 	public void addProperty(String name, String value) {
+		assert properties != null;
 		properties.put(name, value);
 	}
 	
@@ -126,6 +127,7 @@
 	 * {@inheritDoc}
 	 */
 	public XAConnection getXAConnection(String user, String password) throws SQLException {
+		assert properties != null;
 		Connection con = null;
 		if (StringUtil.isEmpty(user)) {
 			con = DriverManager.getConnection(url);

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractModelChangeSupport.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractModelChangeSupport.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -34,6 +34,7 @@
 	 * {@inheritDoc}
 	 */
 	public void addModelChangeListener(ModelChangeListener listener) {
+		assert listeners != null;
 		listeners.add(listener);
 	}
 	
@@ -41,6 +42,7 @@
 	 * {@inheritDoc}
 	 */
 	public void removeModelChangeListener(ModelChangeListener listener) {
+		assert listeners != null;
 		listeners.remove(listener);
 	}
 	
@@ -49,6 +51,7 @@
 	 * @param event
 	 */
 	protected void fireModelChange(ModelChangeEvent event) {
+		assert listeners != null;
 		for (ModelChangeListener listener : listeners) {
 			listener.modelChanged(event);
 		}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractObservable.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractObservable.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/AbstractObservable.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -39,6 +39,7 @@
 	 * {@inheritDoc}
 	 */
 	public void addModelChangeListener(ModelChangeListener listener) {
+		assert listeners != null;
 		listeners.add(listener);
 	}
 	
@@ -46,6 +47,7 @@
 	 * {@inheritDoc}
 	 */
 	public void fireModelChange(Object model, Field field) {
+		assert listeners != null;
 		ModelChangeEvent e = new ModelChangeEvent(model, field);
 		for (ModelChangeListener listener : listeners) {
 			listener.modelChanged(e);
@@ -56,6 +58,7 @@
 	 * {@inheritDoc}
 	 */
 	public void removeModelChangeListener(ModelChangeListener listener) {
+		assert listeners != null;
 		listeners.remove(listener);
 	}
 	

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableList.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableList.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableList.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -21,6 +21,8 @@
 import java.util.List;
 import java.util.ListIterator;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.Adaptable;
 import org.jiemamy.event.ModelChangeEvent;
 import org.jiemamy.event.ModelChangeListener;
@@ -46,6 +48,7 @@
 	 * @param <T>
 	 * @param list
 	 * @return {@link ObservableList}
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <T>ObservableList<T> decorate(List<T> list) {
 		return new ObservableList<T>(list);
@@ -75,6 +78,8 @@
 	 * @category instance creation
 	 */
 	ObservableList(List<T> list) {
+		Validate.notNull(list);
+		
 		this.list = list;
 		modelChangeListener = new ModelChangeListenerImpl(this);
 	}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableMap.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableMap.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableMap.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -25,6 +25,8 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.Adaptable;
 import org.jiemamy.event.ModelChangeEvent;
 import org.jiemamy.event.ModelChangeListener;
@@ -50,6 +52,7 @@
 	 * @param <V>
 	 * @param map
 	 * @return {@link ObservableMap}
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <K, V>ObservableMap<K, V> decorate(Map<K, V> map) {
 		return new ObservableMap<K, V>(map);
@@ -79,6 +82,7 @@
 	 * @category instance creation
 	 */
 	ObservableMap(Map<K, V> map) {
+		Validate.notNull(map);
 		this.map = map;
 		modelChangeListener = new ModelChangeListenerImpl(this);
 	}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableSet.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableSet.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/util/ObservableSet.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -25,6 +25,8 @@
 import java.util.List;
 import java.util.Set;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.Adaptable;
 import org.jiemamy.event.ModelChangeEvent;
 import org.jiemamy.event.ModelChangeListener;
@@ -48,6 +50,7 @@
 	 * @param <T>
 	 * @param set
 	 * @return {@link ObservableList}
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static <T>ObservableSet<T> decorate(Set<T> set) {
 		return new ObservableSet<T>(set);
@@ -77,6 +80,7 @@
 	 * @category instance creation
 	 */
 	ObservableSet(Set<T> set) {
+		Validate.notNull(set);
 		this.set = set;
 		modelChangeListener = new ModelChangeListenerImpl(this);
 	}

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/JiemamyHandler.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/JiemamyHandler.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/JiemamyHandler.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -21,6 +21,7 @@
 import java.util.Stack;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.Validate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xml.sax.Attributes;
@@ -62,8 +63,8 @@
 	 * @category instance creation
 	 */
 	public JiemamyHandler(InstanceCreationStrategy modelStrategy, InstanceAccessStrategy<Dialect> dialectStrategy) {
-		assert modelStrategy != null;
-		assert dialectStrategy != null;
+		Validate.notNull(modelStrategy);
+		Validate.notNull(dialectStrategy);
 		JiemamyModelFactory.init(modelStrategy);
 		DialectProvider.init(dialectStrategy);
 	}

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -26,6 +26,7 @@
 import javax.xml.parsers.SAXParserFactory;
 
 import org.apache.commons.lang.SerializationException;
+import org.apache.commons.lang.Validate;
 import org.xml.sax.SAXException;
 
 import org.jiemamy.JiemamySerializer;
@@ -56,6 +57,7 @@
 	/**
 	 * コンストラクタ。
 	 * @param modelStrategy 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public JiemamyDefaultSerializer(InstanceCreationStrategy modelStrategy) {
@@ -66,12 +68,13 @@
 	 * コンストラクタ。
 	 * @param modelStrategy 
 	 * @param dialectStrategy 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public JiemamyDefaultSerializer(InstanceCreationStrategy modelStrategy,
 			InstanceAccessStrategy<Dialect> dialectStrategy) {
-		assert modelStrategy != null;
-		assert dialectStrategy != null;
+		Validate.notNull(modelStrategy);
+		Validate.notNull(dialectStrategy);
 		this.modelStrategy = modelStrategy;
 		this.dialectStrategy = dialectStrategy;
 	}

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -24,14 +24,15 @@
 
 import com.megginson.sax.DataWriter;
 
+import org.apache.commons.lang.Validate;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.AttributesImpl;
 
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.serializer.element.RootXmlElement;
 import org.jiemamy.serializer.element.XmlElement;
 import org.jiemamy.serializer.element.XmlElement.ElementState;
-import org.jiemamy.model.DiagramPresentations;
 
 /**
  * モデルライター。
@@ -76,9 +77,15 @@
 	 * @param resourceQueue
 	 * @param schemaLocation 
 	 * @throws SAXException 
-	 * @category  instance creation
+	 * @throws IllegalArgumentException 引数rootModel, resourceQueueに{@code null}を与えた場合
+	 * @category instance creation
 	 */
 	public ModelWriter(RootModel rootModel, Queue<Byte> resourceQueue, String schemaLocation) throws SAXException {
+		assert xmlStack != null;
+		assert dataWriter != null;
+		Validate.notNull(rootModel);
+		Validate.notNull(resourceQueue);
+		
 		this.resourceQueue = resourceQueue;
 		dataWriter.forceNSDecleration(Namespaces.CORE, "");
 		if (rootModel.hasAdapter(DiagramPresentations.class)) {
@@ -104,6 +111,7 @@
 	 * @throws SAXException 
 	 */
 	public void dispose() throws SAXException {
+		assert dataWriter != null;
 		dataWriter.endDocument();
 	}
 	
@@ -122,6 +130,9 @@
 	 * @throws SAXException 
 	 */
 	public boolean write() throws SAXException {
+		assert xmlStack != null;
+		assert dataWriter != null;
+		
 		if (xmlStack.isEmpty()) {
 			return false;
 		}
@@ -140,6 +151,9 @@
 	 * @param bytes
 	 */
 	private void addToQueue(byte[] bytes) {
+		assert resourceQueue != null;
+		Validate.notNull(bytes);
+		
 		for (byte b : bytes) {
 			if (b != 0) {
 				resourceQueue.add(b);
@@ -156,7 +170,6 @@
 			attrs.addAttribute(Namespaces.XSI, "schemaLocation", "xsi:schemaLocation", "CDATA", schemaLocation);
 			schemaLocation = null;
 		}
-		
 	}
 	
 	private void write(XmlElement element) throws SAXException {

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetBendpointsProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetBendpointsProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetBendpointsProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,9 +20,11 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.connection.AbstractConnectionModel;
-import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.geometory.JmPoint;
 import org.jiemamy.utils.Processor;
 
@@ -41,9 +43,11 @@
 	 * コンストラクタ。
 	 * @param index
 	 * @param connection
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetBendpointsProcessor(int index, AbstractConnectionModel connection) {
+		Validate.notNull(connection);
 		this.index = index;
 		this.connection = connection;
 	}
@@ -52,6 +56,7 @@
 	 * {@inheritDoc}
 	 */
 	public List<JmPoint> process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		return rootModel.getAdapter(DiagramPresentations.class).get(index).getConnectionLayouts().get(connection);
 	}
 	

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetColorProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetColorProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetColorProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,10 +18,12 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
+import org.jiemamy.model.geometory.JmColor;
 import org.jiemamy.model.node.AbstractNodeModel;
-import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.geometory.JmColor;
 import org.jiemamy.utils.Processor;
 
 /**
@@ -39,9 +41,11 @@
 	 * コンストラクタ。
 	 * @param index
 	 * @param node
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetColorProcessor(int index, AbstractNodeModel node) {
+		Validate.notNull(node);
 		this.index = index;
 		this.node = node;
 	}
@@ -50,6 +54,7 @@
 	 * {@inheritDoc}
 	 */
 	public JmColor process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		return rootModel.getAdapter(DiagramPresentations.class).get(index).getNodeColors().get(node);
 	}
 	

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetConstraintProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetConstraintProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/GetConstraintProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,10 +18,12 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
+import org.jiemamy.model.geometory.JmRectangle;
 import org.jiemamy.model.node.AbstractNodeModel;
-import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.geometory.JmRectangle;
 import org.jiemamy.utils.Processor;
 
 /**
@@ -39,9 +41,11 @@
 	 * コンストラクタ。
 	 * @param index
 	 * @param node
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public GetConstraintProcessor(int index, AbstractNodeModel node) {
+		Validate.notNull(node);
 		this.index = index;
 		this.node = node;
 	}
@@ -50,6 +54,7 @@
 	 * {@inheritDoc}
 	 */
 	public JmRectangle process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		return rootModel.getAdapter(DiagramPresentations.class).get(index).getNodeLayouts().get(node);
 	}
 	

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/RemoveFromDiagramProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/RemoveFromDiagramProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/RemoveFromDiagramProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,9 +18,11 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.node.AbstractNodeModel;
-import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.utils.Processor;
 
 /**
@@ -38,9 +40,11 @@
 	 * コンストラクタ。
 	 * @param index
 	 * @param node
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public RemoveFromDiagramProcessor(int index, AbstractNodeModel node) {
+		Validate.notNull(node);
 		this.index = index;
 		this.node = node;
 	}
@@ -49,6 +53,7 @@
 	 * {@inheritDoc}
 	 */
 	public Void process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		rootModel.getAdapter(DiagramPresentations.class).get(index).getNodeLayouts().remove(node);
 		return null;
 	}

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/ResetBendpointProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/ResetBendpointProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/ResetBendpointProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,8 +20,10 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.connection.AbstractConnectionModel;
-import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.geometory.JmPoint;
 import org.jiemamy.model.geometory.JmRectangle;
 import org.jiemamy.utils.Processor;
@@ -42,9 +44,11 @@
 	/**
 	 * コンストラクタ。
 	 * @param connection
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public ResetBendpointProcessor(AbstractConnectionModel connection) {
+		Validate.notNull(connection);
 		this.connection = connection;
 	}
 	
@@ -52,6 +56,7 @@
 	 * {@inheritDoc}
 	 */
 	public Void process(DiagramPresentationModel diagramPresentation) {
+		Validate.notNull(diagramPresentation);
 		List<JmPoint> bendpoints = diagramPresentation.getConnectionLayouts().get(connection);
 		if (bendpoints == null) {
 			throw new IllegalStateException("表示されていないレイアウトをリセットしようとしました。");

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetBendpointsProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetBendpointsProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetBendpointsProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -20,9 +20,11 @@
 
 import java.util.List;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.connection.AbstractConnectionModel;
-import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.geometory.JmPoint;
 import org.jiemamy.utils.Processor;
 
@@ -44,9 +46,12 @@
 	 * @param index ベンドポイントインデックス
 	 * @param connection 対象のコネクション
 	 * @param bendpoints 座標のリスト
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public SetBendpointsProcessor(int index, AbstractConnectionModel connection, List<JmPoint> bendpoints) {
+		Validate.notNull(connection);
+		Validate.notNull(bendpoints);
 		this.index = index;
 		this.connection = connection;
 		this.bendpoints = bendpoints;
@@ -56,6 +61,7 @@
 	 * {@inheritDoc}
 	 */
 	public Void process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		rootModel.getAdapter(DiagramPresentations.class).get(index).getConnectionLayouts().put(connection, bendpoints);
 		return null;
 	}

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetColorProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetColorProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetColorProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,10 +18,12 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
+import org.jiemamy.model.geometory.JmColor;
 import org.jiemamy.model.node.AbstractNodeModel;
-import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.geometory.JmColor;
 import org.jiemamy.utils.Processor;
 
 /**
@@ -42,9 +44,12 @@
 	 * @param index
 	 * @param node
 	 * @param color 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public SetColorProcessor(int index, AbstractNodeModel node, JmColor color) {
+		Validate.notNull(node);
+		Validate.notNull(color);
 		this.index = index;
 		this.node = node;
 		this.color = color;
@@ -54,6 +59,7 @@
 	 * {@inheritDoc}
 	 */
 	public Void process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		rootModel.getAdapter(DiagramPresentations.class).get(index).getNodeColors().put(node, color);
 		return null;
 	}

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetConstraintProcessor.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetConstraintProcessor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/internal/processor/SetConstraintProcessor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -18,10 +18,12 @@
  */
 package org.jiemamy.internal.processor;
 
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
+import org.jiemamy.model.geometory.JmRectangle;
 import org.jiemamy.model.node.AbstractNodeModel;
-import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.geometory.JmRectangle;
 import org.jiemamy.utils.Processor;
 
 /**
@@ -42,9 +44,12 @@
 	 * @param index
 	 * @param node
 	 * @param constraint 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 * @category instance creation
 	 */
 	public SetConstraintProcessor(int index, AbstractNodeModel node, JmRectangle constraint) {
+		Validate.notNull(node);
+		Validate.notNull(constraint);
 		this.index = index;
 		this.node = node;
 		this.constraint = constraint;
@@ -54,6 +59,7 @@
 	 * {@inheritDoc}
 	 */
 	public JmRectangle process(RootModel rootModel) {
+		Validate.notNull(rootModel);
 		rootModel.getAdapter(DiagramPresentations.class).get(index).getNodeLayouts().put(node, constraint);
 		return null;
 	}

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationModelImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationModelImpl.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationModelImpl.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -22,6 +22,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.commons.lang.Validate;
 import org.seasar.framework.container.annotation.tiger.Binding;
 
 import org.jiemamy.internal.processor.ResetBendpointProcessor;
@@ -77,6 +78,7 @@
 	 * @return コネクションのベンドポイント情報
 	 */
 	public Map<AbstractConnectionModel, List<JmPoint>> getConnectionLayouts() {
+		assert connectionLayouts != null;
 		return connectionLayouts;
 	}
 	
@@ -85,6 +87,7 @@
 	 * @return 表示モード
 	 */
 	public Set<DisplayItem> getDisplayTargetSet() {
+		assert displayTargetSet != null;
 		return displayTargetSet;
 	}
 	
@@ -101,6 +104,7 @@
 	 * @return ノードの色情報
 	 */
 	public Map<AbstractNodeModel, JmColor> getNodeColors() {
+		assert nodeColors != null;
 		return nodeColors;
 	}
 	
@@ -109,6 +113,7 @@
 	 * @return ノードのレイアウト情報
 	 */
 	public Map<AbstractNodeModel, JmRectangle> getNodeLayouts() {
+		assert nodeLayouts != null;
 		return nodeLayouts;
 	}
 	
@@ -116,6 +121,7 @@
 	 * {@inheritDoc}
 	 */
 	public void resetBendpoints(AbstractConnectionModel connection) {
+		Validate.notNull(connection);
 		ProcessorUtil.process(this, new ResetBendpointProcessor(connection));
 	}
 	
@@ -123,6 +129,10 @@
 	 * {@inheritDoc}
 	 */
 	public void setBendpoints(AbstractConnectionModel connection, List<JmPoint> bendpoints) {
+		assert connectionLayouts != null;
+		Validate.notNull(connection);
+		Validate.notNull(bendpoints);
+		
 		connectionLayouts.get(connection).clear();
 		connectionLayouts.get(connection).addAll(bendpoints);
 	}
@@ -131,6 +141,10 @@
 	 * {@inheritDoc}
 	 */
 	public void setColor(AbstractNodeModel node, JmColor color) {
+		assert nodeColors != null;
+		Validate.notNull(node);
+		Validate.notNull(color);
+		
 		nodeColors.put(node, color);
 	}
 	
@@ -138,14 +152,20 @@
 	 * {@inheritDoc}
 	 */
 	public void setConstraint(AbstractNodeModel node, JmRectangle constraint) {
+		assert nodeLayouts != null;
+		Validate.notNull(node);
+		Validate.notNull(constraint);
+		
 		nodeLayouts.put(node, constraint);
 	}
 	
 	/**
 	 * 表示モードを設定する。
 	 * @param displayTargetSet 表示モード
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public void setDisplayTargetSet(Set<DisplayItem> displayTargetSet) {
+		Validate.notNull(displayTargetSet);
 		this.displayTargetSet = displayTargetSet;
 	}
 	
@@ -160,24 +180,30 @@
 	/**
 	 * コネクションのベンドポイント情報を設定する。
 	 * @param connectionLayouts コネクションのベンドポイント情報
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setConnectionLayouts(Map<AbstractConnectionModel, List<JmPoint>> connectionLayouts) {
+		Validate.notNull(connectionLayouts);
 		this.connectionLayouts = connectionLayouts;
 	}
 	
 	/**
 	 * ノードの色情報を設定する。
 	 * @param nodeColors ノードの色情報
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setNodeColors(Map<AbstractNodeModel, JmColor> nodeColors) {
+		Validate.notNull(nodeColors);
 		this.nodeColors = nodeColors;
 	}
 	
 	/**
 	 * ノードのレイアウト情報を設定する。
 	 * @param nodeLayouts ノードのレイアウト情報
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setNodeLayouts(Map<AbstractNodeModel, JmRectangle> nodeLayouts) {
+		Validate.notNull(nodeLayouts);
 		this.nodeLayouts = nodeLayouts;
 	}
 }

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationsImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationsImpl.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/model/DiagramPresentationsImpl.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -39,6 +39,7 @@
 	 * {@inheritDoc}
 	 */
 	public void appendModel(DiagramPresentationModel presentation) {
+		assert composite != null;
 		Validate.notNull(presentation);
 		composite.add(presentation);
 	}
@@ -47,6 +48,7 @@
 	 * {@inheritDoc}
 	 */
 	public DiagramPresentationModel get(int index) {
+		assert composite != null;
 		return composite.get(index);
 	}
 	
@@ -54,6 +56,7 @@
 	 * {@inheritDoc}
 	 */
 	public Iterator<DiagramPresentationModel> iterator() {
+		assert composite != null;
 		return UnmodifiableIterator.decorate(composite.iterator());
 	}
 	
@@ -61,6 +64,7 @@
 	 * {@inheritDoc}
 	 */
 	public void removeModel(DiagramPresentationModel presentation) {
+		assert composite != null;
 		Validate.notNull(presentation);
 		composite.remove(presentation);
 	}
@@ -69,6 +73,7 @@
 	 * {@inheritDoc}
 	 */
 	public int size() {
+		assert composite != null;
 		return composite.size();
 	}
 	

Modified: artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/utils/JmPointUtil.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/utils/JmPointUtil.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/main/java/org/jiemamy/utils/JmPointUtil.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -1,5 +1,7 @@
 package org.jiemamy.utils;
 
+import org.apache.commons.lang.Validate;
+
 import org.jiemamy.model.geometory.JmPoint;
 import org.jiemamy.model.geometory.JmRectangle;
 
@@ -11,23 +13,27 @@
 	
 	/**
 	 * 2点の差を求める。
-	 * 
 	 * @param from 基準点
 	 * @param to 対象点
 	 * @return 差
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static JmPoint delta(JmPoint from, JmPoint to) {
+		Validate.notNull(from);
+		Validate.notNull(to);
 		return new JmPoint(from.x - to.x, from.y - to.y);
 	}
 	
 	/**
 	 * 矩形の配置点(左上)2点の差を求める。
-	 * 
 	 * @param from 基準矩形
 	 * @param to 対象矩形
 	 * @return 差
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static JmPoint delta(JmRectangle from, JmRectangle to) {
+		Validate.notNull(from);
+		Validate.notNull(to);
 		return new JmPoint(from.x - to.x, from.y - to.y);
 	}
 	
@@ -37,8 +43,10 @@
 	 * @param x X軸移動量
 	 * @param y Y軸移動量
 	 * @return 移動結果
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static JmPoint shiftNegative(JmPoint target, int x, int y) {
+		Validate.notNull(target);
 		return new JmPoint(target.x - x, target.y - y);
 	}
 	
@@ -47,8 +55,10 @@
 	 * @param target 移動対象
 	 * @param delta 移動量
 	 * @return 移動結果
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static JmPoint shiftNegative(JmPoint target, JmPoint delta) {
+		Validate.notNull(target);
 		return new JmPoint(target.x - delta.x, target.y - delta.y);
 	}
 	
@@ -58,8 +68,10 @@
 	 * @param x X軸移動量
 	 * @param y Y軸移動量
 	 * @return 移動結果
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static JmPoint shiftPositive(JmPoint target, int x, int y) {
+		Validate.notNull(target);
 		return new JmPoint(target.x + x, target.y + y);
 	}
 	
@@ -68,8 +80,10 @@
 	 * @param target 移動対象
 	 * @param delta 移動量
 	 * @return 移動結果
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	public static JmPoint shiftPositive(JmPoint target, JmPoint delta) {
+		Validate.notNull(target);
 		return new JmPoint(target.x + delta.x, target.y + delta.y);
 	}
 	

Modified: artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -58,9 +58,9 @@
 		presentation.setName("テスト");
 		rootModel.getAdapter(DiagramPresentations.class).appendModel(presentation);
 		
-		TableModel table = rootModel.newModel(TableModel.class);
-		table.setName("T_TEST");
-		rootModel.appendModel(table);
+		tableModel = rootModel.newModel(TableModel.class);
+		tableModel.setName("T_TEST");
+		rootModel.appendModel(tableModel);
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -58,9 +58,9 @@
 		presentation.setName("テスト");
 		rootModel.getAdapter(DiagramPresentations.class).appendModel(presentation);
 		
-		TableModel table = rootModel.newModel(TableModel.class);
-		table.setName("T_TEST");
-		rootModel.appendModel(table);
+		tableModel = rootModel.newModel(TableModel.class);
+		tableModel.setName("T_TEST");
+		rootModel.appendModel(tableModel);
 	}
 	
 	/**

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Processor.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Processor.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Processor.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -1,3 +1,21 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/08/01
+ *
+ * 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.utils;
 
 /**

Modified: zeus/trunk/org.jiemamy.spec.view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java	2008-12-10 15:52:49 UTC (rev 2238)
+++ zeus/trunk/org.jiemamy.spec.view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java	2008-12-10 17:02:42 UTC (rev 2239)
@@ -72,6 +72,7 @@
 	 * 配置してもよい(MAY)。</p>
 	 * 
 	 * @param connection 設定対象コネクション
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void resetBendpoints(AbstractConnectionModel connection);
 	
@@ -82,6 +83,7 @@
 	 * 
 	 * @param connection 設定対象コネクション
 	 * @param bendpoints ベンドポイント情報のリスト
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setBendpoints(AbstractConnectionModel connection, List<JmPoint> bendpoints);
 	
@@ -89,6 +91,7 @@
 	 * ノードの背景色情報を設定する。
 	 * @param node 設定対象ノード
 	 * @param color 背景色情報
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setColor(AbstractNodeModel node, JmColor color);
 	
@@ -96,12 +99,14 @@
 	 * ノードの位置サイズ情報を設定する。
 	 * @param node 設定対象ノード
 	 * @param constraint 位置サイズ情報
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setConstraint(AbstractNodeModel node, JmRectangle constraint);
 	
 	/**
 	 * 表示モードを設定する。
 	 * @param displayTargetSet 表示モード
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
 	void setDisplayTargetSet(Set<DisplayItem> displayTargetSet);
 	


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