[Jiemamy-notify] commit [2171] [CORE-80] 最新の自動生成結果に更新した。いくつかのソース(AbstractなModelとか)は出力されなくなったので削除する。

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2008年 11月 19日 (水) 01:53:30 JST


Revision: 2171
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=2171
Author:   shin1
Date:     2008-11-19 01:53:29 +0900 (Wed, 19 Nov 2008)

Log Message:
-----------
[CORE-80]最新の自動生成結果に更新した。いくつかのソース(AbstractなModelとか)は出力されなくなったので削除する。

Modified Paths:
--------------
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/ColumnModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/RootModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/ForeignKeyModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintsModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/InsertDataSetModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/RecordModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/index/IndexModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/TableModelChangeSupportImpl.java

Removed Paths:
-------------
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/AbstractModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/JiemamyModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractConnectionModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractRelationModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/AbstractConstraintModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/AbstractDataTypeChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeAdapterChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/GeneralDataTypeChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/SpecialDataTypeChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/adapter/
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractEntityModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractNodeModelChangeSupportImpl.java
    artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/typedef/


-------------- next part --------------
Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/AbstractModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/AbstractModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/AbstractModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model;
-
-import org.jiemamy.core.model.AbstractModel;
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * AbstractModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractModel}
-	 * @category instance creation
-	 */
-	public AbstractModelChangeSupportImpl(AbstractModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/ColumnModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/ColumnModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/ColumnModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -18,13 +18,7 @@
  */
 package org.jiemamy.event.model;
 
-import java.lang.ref.WeakReference;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.accessor.ColumnModelAccessor;
 import org.jiemamy.spec.event.ModelChangeEvent;
 import org.jiemamy.spec.event.ModelChangeListener;
 import org.jiemamy.spec.event.ModelChangeSupport;
@@ -38,11 +32,6 @@
  */
 public class ColumnModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
 	
-	private static Logger logger = LoggerFactory.getLogger(ModelChangeSupport.class);
-	
-	/** イベント発火元となるModel */
-	private WeakReference<ColumnModel> eventTarget;
-	
 	/**
 	 * ColumnModelの属性の変更Eventを処理するListener
 	 * 
@@ -66,9 +55,7 @@
 	 * @category instance creation
 	 */
 	public ColumnModelChangeSupportImpl(ColumnModel source) {
-		ColumnModelAccessor accessor = (ColumnModelAccessor) source;
 		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-		eventTarget = new WeakReference<ColumnModel>(source);
 	}
 	
 }

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/JiemamyModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/JiemamyModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/JiemamyModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,57 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
- * 
- * 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.event.model;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.JiemamyModel;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、JiemamyModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class JiemamyModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * JiemamyModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link JiemamyModel}
-	 * @category instance creation
-	 */
-	public JiemamyModelChangeSupportImpl(JiemamyModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/RootModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/RootModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/RootModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -67,9 +67,8 @@
 				 * {@inheritDoc}
 				 */
 				public void collectionChanged(ObservableCollectionChangeEvent<List<DomainModel>, DomainModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
 						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
 							event.setSource(event.getModel());
 						} else {
@@ -95,9 +94,8 @@
 				 */
 				public void collectionChanged(
 						ObservableCollectionChangeEvent<List<AbstractNodeModel>, AbstractNodeModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
 						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
 							event.setSource(event.getModel());
 						} else {
@@ -123,9 +121,8 @@
 				 */
 				public void collectionChanged(
 						ObservableCollectionChangeEvent<List<InsertDataSetModel>, InsertDataSetModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
 						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
 							event.setSource(event.getModel());
 						} else {
@@ -161,8 +158,8 @@
 	 */
 	public RootModelChangeSupportImpl(RootModel source) {
 		RootModelAccessor accessor = (RootModelAccessor) source;
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
 		eventTarget = new WeakReference<RootModel>(source);
+		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
 		((ObservableList<DomainModel>) accessor.getModifiableDomains()).addListener(domainsCollectionChangeListener);
 		((ObservableList<AbstractNodeModel>) accessor.getModifiableNodes()).addListener(nodesCollectionChangeListener);
 		((ObservableList<InsertDataSetModel>) accessor.getModifiableInsertDataSets())
@@ -181,26 +178,26 @@
 	}
 	
 	/**
-	 * nodesのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
+	 * insertDataSetsのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
 	 * 
 	 * @param event {@link ObservableCollectionChangeEvent}
 	 */
-	public void fireNodesCollectionChangeEvent(
-			ObservableCollectionChangeEvent<List<AbstractNodeModel>, AbstractNodeModel> event) {
+	public void fireInsertDataSetsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<InsertDataSetModel>, InsertDataSetModel> event) {
 		BeanDesc beanDesc = new BeanDescImpl(RootModelImpl.class);
-		event.setField(beanDesc.getField("nodes"));
+		event.setField(beanDesc.getField("insertDataSets"));
 		fireModelChange(event);
 	}
 	
 	/**
-	 * insertDataSetsのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
+	 * nodesのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
 	 * 
 	 * @param event {@link ObservableCollectionChangeEvent}
 	 */
-	public void fireInsertDataSetsCollectionChangeEvent(
-			ObservableCollectionChangeEvent<List<InsertDataSetModel>, InsertDataSetModel> event) {
+	public void fireNodesCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<AbstractNodeModel>, AbstractNodeModel> event) {
 		BeanDesc beanDesc = new BeanDescImpl(RootModelImpl.class);
-		event.setField(beanDesc.getField("insertDataSets"));
+		event.setField(beanDesc.getField("nodes"));
 		fireModelChange(event);
 	}
 }

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractConnectionModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractConnectionModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractConnectionModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.connection;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.connection.AbstractConnectionModel;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractConnectionModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractConnectionModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * AbstractConnectionModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractConnectionModel}
-	 * @category instance creation
-	 */
-	public AbstractConnectionModelChangeSupportImpl(AbstractConnectionModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractRelationModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractRelationModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/AbstractRelationModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.connection;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.connection.AbstractRelationModel;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractRelationModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractRelationModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * AbstractRelationModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractRelationModel}
-	 * @category instance creation
-	 */
-	public AbstractRelationModelChangeSupportImpl(AbstractRelationModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/ForeignKeyModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/ForeignKeyModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/connection/ForeignKeyModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -18,20 +18,25 @@
  */
 package org.jiemamy.event.model.connection;
 
+import java.lang.ref.WeakReference;
 import java.util.List;
 
 import org.seasar.framework.beans.BeanDesc;
 import org.seasar.framework.beans.impl.BeanDescImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.jiemamy.core.model.connection.ForeignKeyModelImpl;
 import org.jiemamy.event.AbstractModelChangeSupport;
 import org.jiemamy.event.collectionimpl.ObservableList;
+import org.jiemamy.spec.accessor.connection.ForeignKeyModelAccessor;
 import org.jiemamy.spec.event.ModelChangeEvent;
 import org.jiemamy.spec.event.ModelChangeListener;
 import org.jiemamy.spec.event.ModelChangeSupport;
 import org.jiemamy.spec.event.Observable;
 import org.jiemamy.spec.event.ObservableCollectionChangeEvent;
 import org.jiemamy.spec.event.ObservableCollectionChangeListener;
+import org.jiemamy.spec.event.ObservableCollectionChangeEvent.Timing;
 import org.jiemamy.spec.model.connection.ForeignKeyMapping;
 import org.jiemamy.spec.model.connection.ForeignKeyModel;
 
@@ -42,6 +47,11 @@
  */
 public class ForeignKeyModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
 	
+	private static Logger logger = LoggerFactory.getLogger(ModelChangeSupport.class);
+	
+	/** イベント発火元となるModel */
+	private WeakReference<ForeignKeyModel> eventTarget;
+	
 	/** 
 	 * mappingsのリストを監視するListener 
 	 * 
@@ -56,9 +66,14 @@
 				 */
 				public void collectionChanged(
 						ObservableCollectionChangeEvent<List<ForeignKeyMapping>, ForeignKeyMapping> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
+						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
+							event.setSource(event.getModel());
+						} else {
+							event.setSource(eventTarget.get());
+						}
+						logger.trace("mappingsCollectionChangeListener#changed(): " + event);
 						fireMappingsCollectionChangeEvent(event);
 					}
 				}
@@ -87,8 +102,10 @@
 	 * @category instance creation
 	 */
 	public ForeignKeyModelChangeSupportImpl(ForeignKeyModel source) {
+		ForeignKeyModelAccessor accessor = (ForeignKeyModelAccessor) source;
+		eventTarget = new WeakReference<ForeignKeyModel>(source);
 		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-		((ObservableList<ForeignKeyMapping>) source.getMappings()).addListener(mappingsCollectionChangeListener);
+		((ObservableList<ForeignKeyMapping>) accessor.getMappings()).addListener(mappingsCollectionChangeListener);
 	}
 	
 	/**

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/AbstractConstraintModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/AbstractConstraintModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/AbstractConstraintModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.constraint;
-
-import org.jiemamy.core.model.constraint.AbstractConstraintModel;
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractConstraintModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractConstraintModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * AbstractConstraintModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractConstraintModel}
-	 * @category instance creation
-	 */
-	public AbstractConstraintModelChangeSupportImpl(AbstractConstraintModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,57 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
- * 
- * 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.event.model.constraint;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.constraint.Constraint;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、Constraintからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class ConstraintChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * Constraintの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link Constraint}
-	 * @category instance creation
-	 */
-	public ConstraintChangeSupportImpl(Constraint source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintsModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintsModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/constraint/ConstraintsModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -18,11 +18,25 @@
  */
 package org.jiemamy.event.model.constraint;
 
+import java.lang.ref.WeakReference;
+import java.util.Map;
+
+import org.seasar.framework.beans.BeanDesc;
+import org.seasar.framework.beans.impl.BeanDescImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.jiemamy.core.model.constraint.ConstraintsModelImpl;
 import org.jiemamy.event.AbstractModelChangeSupport;
+import org.jiemamy.event.collectionimpl.ObservableMap;
+import org.jiemamy.spec.accessor.constraint.ConstraintsModelAccessor;
 import org.jiemamy.spec.event.ModelChangeEvent;
 import org.jiemamy.spec.event.ModelChangeListener;
 import org.jiemamy.spec.event.ModelChangeSupport;
 import org.jiemamy.spec.event.Observable;
+import org.jiemamy.spec.event.ObservableCollectionChangeEvent;
+import org.jiemamy.spec.event.ObservableCollectionChangeListener;
+import org.jiemamy.spec.event.ObservableCollectionChangeEvent.Timing;
 import org.jiemamy.spec.model.constraint.ConstraintsModel;
 
 /**
@@ -32,6 +46,38 @@
  */
 public class ConstraintsModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
 	
+	private static Logger logger = LoggerFactory.getLogger(ModelChangeSupport.class);
+	
+	/** イベント発火元となるModel */
+	private WeakReference<ConstraintsModel> eventTarget;
+	
+	/** 
+	 * constraintMapのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireConstraintMapCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<Class<? extends org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint> constraintMapCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<Class<? extends org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<Map<Class<? extends org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint> event) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
+						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
+							event.setSource(event.getModel());
+						} else {
+							event.setSource(eventTarget.get());
+						}
+						logger.trace("constraintMapCollectionChangeListener#changed(): " + event);
+						fireConstraintMapCollectionChangeEvent(event);
+					}
+				}
+			};
+	
 	/**
 	 * ConstraintsModelの属性の変更Eventを処理するListener
 	 * 
@@ -55,7 +101,22 @@
 	 * @category instance creation
 	 */
 	public ConstraintsModelChangeSupportImpl(ConstraintsModel source) {
+		ConstraintsModelAccessor accessor = (ConstraintsModelAccessor) source;
+		eventTarget = new WeakReference<ConstraintsModel>(source);
 		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
+		((ObservableMap<Class<? extends org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint>) accessor
+			.getConstraintMap()).addListener(constraintMapCollectionChangeListener);
 	}
 	
+	/**
+	 * constraintMapのcollectionを監視するListenerに通知されたEventをConstraintsModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireConstraintMapCollectionChangeEvent(
+			ObservableCollectionChangeEvent<Map<Class<? extends org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint>, org.jiemamy.spec.model.constraint.Constraint> event) {
+		BeanDesc beanDesc = new BeanDescImpl(ConstraintsModelImpl.class);
+		event.setField(beanDesc.getField("constraintMap"));
+		fireModelChange(event);
+	}
 }

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/InsertDataSetModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/InsertDataSetModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/InsertDataSetModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -18,23 +18,26 @@
  */
 package org.jiemamy.event.model.dataset;
 
-import java.util.List;
+import java.lang.ref.WeakReference;
 import java.util.Map;
 
 import org.seasar.framework.beans.BeanDesc;
 import org.seasar.framework.beans.impl.BeanDescImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.jiemamy.core.model.dataset.InsertDataSetModelImpl;
 import org.jiemamy.event.AbstractModelChangeSupport;
 import org.jiemamy.event.collectionimpl.ObservableMap;
+import org.jiemamy.spec.accessor.dataset.InsertDataSetModelAccessor;
 import org.jiemamy.spec.event.ModelChangeEvent;
 import org.jiemamy.spec.event.ModelChangeListener;
 import org.jiemamy.spec.event.ModelChangeSupport;
 import org.jiemamy.spec.event.Observable;
 import org.jiemamy.spec.event.ObservableCollectionChangeEvent;
 import org.jiemamy.spec.event.ObservableCollectionChangeListener;
+import org.jiemamy.spec.event.ObservableCollectionChangeEvent.Timing;
 import org.jiemamy.spec.model.dataset.InsertDataSetModel;
-import org.jiemamy.spec.model.dataset.RecordModel;
 import org.jiemamy.spec.model.node.AbstractEntityModel;
 
 /**
@@ -44,23 +47,33 @@
  */
 public class InsertDataSetModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
 	
+	private static Logger logger = LoggerFactory.getLogger(ModelChangeSupport.class);
+	
+	/** イベント発火元となるModel */
+	private WeakReference<InsertDataSetModel> eventTarget;
+	
 	/** 
 	 * recordsのリストを監視するListener 
 	 * 
 	 * @see ObservableCollectionChangeListener
 	 * @see #fireRecordsCollectionChangeEvent(ObservableCollectionChangeEvent)
 	 */
-	private ObservableCollectionChangeListener<Map<AbstractEntityModel, List<RecordModel>>, List<RecordModel>> recordsCollectionChangeListener =
-			new ObservableCollectionChangeListener<Map<AbstractEntityModel, List<RecordModel>>, List<RecordModel>>() {
+	private ObservableCollectionChangeListener<Map<AbstractEntityModel, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>>, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>> recordsCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<AbstractEntityModel, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>>, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>>() {
 				
 				/**
 				 * {@inheritDoc}
 				 */
 				public void collectionChanged(
-						ObservableCollectionChangeEvent<Map<AbstractEntityModel, List<RecordModel>>, List<RecordModel>> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+						ObservableCollectionChangeEvent<Map<AbstractEntityModel, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>>, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>> event) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
+						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
+							event.setSource(event.getModel());
+						} else {
+							event.setSource(eventTarget.get());
+						}
+						logger.trace("recordsCollectionChangeListener#changed(): " + event);
 						fireRecordsCollectionChangeEvent(event);
 					}
 				}
@@ -89,9 +102,11 @@
 	 * @category instance creation
 	 */
 	public InsertDataSetModelChangeSupportImpl(InsertDataSetModel source) {
+		InsertDataSetModelAccessor accessor = (InsertDataSetModelAccessor) source;
+		eventTarget = new WeakReference<InsertDataSetModel>(source);
 		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-		((ObservableMap<AbstractEntityModel, List<RecordModel>>) source.getRecords())
-			.addListener(recordsCollectionChangeListener);
+		((ObservableMap<AbstractEntityModel, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>>) accessor
+			.getRecords()).addListener(recordsCollectionChangeListener);
 	}
 	
 	/**
@@ -100,7 +115,7 @@
 	 * @param event {@link ObservableCollectionChangeEvent}
 	 */
 	public void fireRecordsCollectionChangeEvent(
-			ObservableCollectionChangeEvent<Map<AbstractEntityModel, List<RecordModel>>, List<RecordModel>> event) {
+			ObservableCollectionChangeEvent<Map<AbstractEntityModel, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>>, java.util.List<org.jiemamy.spec.model.dataset.RecordModel>> event) {
 		BeanDesc beanDesc = new BeanDescImpl(InsertDataSetModelImpl.class);
 		event.setField(beanDesc.getField("records"));
 		fireModelChange(event);

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/RecordModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/RecordModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/dataset/RecordModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -18,20 +18,25 @@
  */
 package org.jiemamy.event.model.dataset;
 
+import java.lang.ref.WeakReference;
 import java.util.Map;
 
 import org.seasar.framework.beans.BeanDesc;
 import org.seasar.framework.beans.impl.BeanDescImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.jiemamy.core.model.dataset.RecordModelImpl;
 import org.jiemamy.event.AbstractModelChangeSupport;
 import org.jiemamy.event.collectionimpl.ObservableMap;
+import org.jiemamy.spec.accessor.dataset.RecordModelAccessor;
 import org.jiemamy.spec.event.ModelChangeEvent;
 import org.jiemamy.spec.event.ModelChangeListener;
 import org.jiemamy.spec.event.ModelChangeSupport;
 import org.jiemamy.spec.event.Observable;
 import org.jiemamy.spec.event.ObservableCollectionChangeEvent;
 import org.jiemamy.spec.event.ObservableCollectionChangeListener;
+import org.jiemamy.spec.event.ObservableCollectionChangeEvent.Timing;
 import org.jiemamy.spec.model.ColumnModel;
 import org.jiemamy.spec.model.dataset.RecordModel;
 
@@ -42,6 +47,11 @@
  */
 public class RecordModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
 	
+	private static Logger logger = LoggerFactory.getLogger(ModelChangeSupport.class);
+	
+	/** イベント発火元となるModel */
+	private WeakReference<RecordModel> eventTarget;
+	
 	/** 
 	 * valuesのリストを監視するListener 
 	 * 
@@ -55,9 +65,14 @@
 				 * {@inheritDoc}
 				 */
 				public void collectionChanged(ObservableCollectionChangeEvent<Map<ColumnModel, String>, String> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
+						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
+							event.setSource(event.getModel());
+						} else {
+							event.setSource(eventTarget.get());
+						}
+						logger.trace("valuesCollectionChangeListener#changed(): " + event);
 						fireValuesCollectionChangeEvent(event);
 					}
 				}
@@ -86,8 +101,10 @@
 	 * @category instance creation
 	 */
 	public RecordModelChangeSupportImpl(RecordModel source) {
+		RecordModelAccessor accessor = (RecordModelAccessor) source;
+		eventTarget = new WeakReference<RecordModel>(source);
 		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-		((ObservableMap<ColumnModel, String>) source.getValues()).addListener(valuesCollectionChangeListener);
+		((ObservableMap<ColumnModel, String>) accessor.getValues()).addListener(valuesCollectionChangeListener);
 	}
 	
 	/**

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/AbstractDataTypeChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/AbstractDataTypeChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/AbstractDataTypeChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.datatype;
-
-import org.jiemamy.core.model.datatype.AbstractDataType;
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractDataTypeからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractDataTypeChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * AbstractDataTypeの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractDataType}
-	 * @category instance creation
-	 */
-	public AbstractDataTypeChangeSupportImpl(AbstractDataType source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeAdapterChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeAdapterChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeAdapterChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,57 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
- * 
- * 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.event.model.datatype;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.datatype.DataTypeAdapter;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、DataTypeAdapterからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class DataTypeAdapterChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * DataTypeAdapterの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link DataTypeAdapter}
-	 * @category instance creation
-	 */
-	public DataTypeAdapterChangeSupportImpl(DataTypeAdapter source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/DataTypeChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,57 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
- * 
- * 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.event.model.datatype;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.datatype.DataType;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、DataTypeからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class DataTypeChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * DataTypeの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link DataType}
-	 * @category instance creation
-	 */
-	public DataTypeChangeSupportImpl(DataType source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/GeneralDataTypeChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/GeneralDataTypeChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/GeneralDataTypeChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.datatype;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.datatype.GeneralDataType;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、GeneralDataTypeからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class GeneralDataTypeChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * GeneralDataTypeの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link GeneralDataType}
-	 * @category instance creation
-	 */
-	public GeneralDataTypeChangeSupportImpl(GeneralDataType source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/SpecialDataTypeChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/SpecialDataTypeChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/datatype/SpecialDataTypeChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.datatype;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.datatype.SpecialDataType;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、SpecialDataTypeからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class SpecialDataTypeChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * SpecialDataTypeの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link SpecialDataType}
-	 * @category instance creation
-	 */
-	public SpecialDataTypeChangeSupportImpl(SpecialDataType source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/index/IndexModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/index/IndexModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/index/IndexModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -18,20 +18,25 @@
  */
 package org.jiemamy.event.model.index;
 
+import java.lang.ref.WeakReference;
 import java.util.List;
 
 import org.seasar.framework.beans.BeanDesc;
 import org.seasar.framework.beans.impl.BeanDescImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.jiemamy.core.model.index.IndexModelImpl;
 import org.jiemamy.event.AbstractModelChangeSupport;
 import org.jiemamy.event.collectionimpl.ObservableList;
+import org.jiemamy.spec.accessor.index.IndexModelAccessor;
 import org.jiemamy.spec.event.ModelChangeEvent;
 import org.jiemamy.spec.event.ModelChangeListener;
 import org.jiemamy.spec.event.ModelChangeSupport;
 import org.jiemamy.spec.event.Observable;
 import org.jiemamy.spec.event.ObservableCollectionChangeEvent;
 import org.jiemamy.spec.event.ObservableCollectionChangeListener;
+import org.jiemamy.spec.event.ObservableCollectionChangeEvent.Timing;
 import org.jiemamy.spec.model.index.IndexColumnModel;
 import org.jiemamy.spec.model.index.IndexModel;
 
@@ -42,6 +47,11 @@
  */
 public class IndexModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
 	
+	private static Logger logger = LoggerFactory.getLogger(ModelChangeSupport.class);
+	
+	/** イベント発火元となるModel */
+	private WeakReference<IndexModel> eventTarget;
+	
 	/** 
 	 * columnsのリストを監視するListener 
 	 * 
@@ -56,9 +66,14 @@
 				 */
 				public void collectionChanged(
 						ObservableCollectionChangeEvent<List<IndexColumnModel>, IndexColumnModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
+						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
+							event.setSource(event.getModel());
+						} else {
+							event.setSource(eventTarget.get());
+						}
+						logger.trace("columnsCollectionChangeListener#changed(): " + event);
 						fireColumnsCollectionChangeEvent(event);
 					}
 				}
@@ -87,8 +102,10 @@
 	 * @category instance creation
 	 */
 	public IndexModelChangeSupportImpl(IndexModel source) {
+		IndexModelAccessor accessor = (IndexModelAccessor) source;
+		eventTarget = new WeakReference<IndexModel>(source);
 		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-		((ObservableList<IndexColumnModel>) source.getColumns()).addListener(columnsCollectionChangeListener);
+		((ObservableList<IndexColumnModel>) accessor.getColumns()).addListener(columnsCollectionChangeListener);
 	}
 	
 	/**

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractEntityModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractEntityModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractEntityModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,61 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.node;
-
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.model.node.AbstractEntityModel;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractEntityModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractEntityModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/**
-	 * AbstractEntityModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractEntityModel}
-	 * @category instance creation
-	 */
-	public AbstractEntityModelChangeSupportImpl(AbstractEntityModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-	}
-	
-}

Deleted: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractNodeModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractNodeModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/AbstractNodeModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -1,142 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
- * 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.event.model.node;
-
-import java.util.List;
-
-import org.seasar.framework.beans.BeanDesc;
-import org.seasar.framework.beans.impl.BeanDescImpl;
-
-import org.jiemamy.core.model.node.AbstractNodeModelImpl;
-import org.jiemamy.event.AbstractModelChangeSupport;
-import org.jiemamy.event.collectionimpl.ObservableList;
-import org.jiemamy.spec.event.ModelChangeEvent;
-import org.jiemamy.spec.event.ModelChangeListener;
-import org.jiemamy.spec.event.ModelChangeSupport;
-import org.jiemamy.spec.event.Observable;
-import org.jiemamy.spec.event.ObservableCollectionChangeEvent;
-import org.jiemamy.spec.event.ObservableCollectionChangeListener;
-import org.jiemamy.spec.model.connection.AbstractConnectionModel;
-import org.jiemamy.spec.model.node.AbstractNodeModel;
-
-/**
- * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractNodeModelからそれらを引き受ける。
- * 
- * @author shin1ogawa
- */
-public class AbstractNodeModelChangeSupportImpl extends AbstractModelChangeSupport implements ModelChangeSupport {
-	
-	/** 
-	 * sourceConnectionsのリストを監視するListener 
-	 * 
-	 * @see ObservableCollectionChangeListener
-	 * @see #fireSourceConnectionsCollectionChangeEvent(ObservableCollectionChangeEvent)
-	 */
-	private ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel> sourceConnectionsCollectionChangeListener =
-			new ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel>() {
-				
-				/**
-				 * {@inheritDoc}
-				 */
-				public void collectionChanged(
-						ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
-						fireSourceConnectionsCollectionChangeEvent(event);
-					}
-				}
-			};
-	
-	/** 
-	 * targetConnectionsのリストを監視するListener 
-	 * 
-	 * @see ObservableCollectionChangeListener
-	 * @see #fireTargetConnectionsCollectionChangeEvent(ObservableCollectionChangeEvent)
-	 */
-	private ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel> targetConnectionsCollectionChangeListener =
-			new ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel>() {
-				
-				/**
-				 * {@inheritDoc}
-				 */
-				public void collectionChanged(
-						ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
-						fireTargetConnectionsCollectionChangeEvent(event);
-					}
-				}
-			};
-	
-	/**
-	 * AbstractNodeModelの属性の変更Eventを処理するListener
-	 * 
-	 * @see #fireModelChange(ModelChangeEvent)
-	 */
-	private ModelChangeListener modelChangeListener = new ModelChangeListener() {
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void modelChanged(ModelChangeEvent event) {
-			fireModelChange(event);
-		}
-	};
-	
-
-	/**
-	 * コンストラクタ。
-	 * 
-	 * @param source {@link AbstractNodeModel}
-	 * @category instance creation
-	 */
-	public AbstractNodeModelChangeSupportImpl(AbstractNodeModel source) {
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
-		((ObservableList<AbstractConnectionModel>) source.getSourceConnections())
-			.addListener(sourceConnectionsCollectionChangeListener);
-		((ObservableList<AbstractConnectionModel>) source.getTargetConnections())
-			.addListener(targetConnectionsCollectionChangeListener);
-	}
-	
-	/**
-	 * sourceConnectionsのcollectionを監視するListenerに通知されたEventをAbstractNodeModelの監視Listenerへ通知する。
-	 * 
-	 * @param event {@link ObservableCollectionChangeEvent}
-	 */
-	public void fireSourceConnectionsCollectionChangeEvent(
-			ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
-		BeanDesc beanDesc = new BeanDescImpl(AbstractNodeModelImpl.class);
-		event.setField(beanDesc.getField("sourceConnections"));
-		fireModelChange(event);
-	}
-	
-	/**
-	 * targetConnectionsのcollectionを監視するListenerに通知されたEventをAbstractNodeModelの監視Listenerへ通知する。
-	 * 
-	 * @param event {@link ObservableCollectionChangeEvent}
-	 */
-	public void fireTargetConnectionsCollectionChangeEvent(
-			ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
-		BeanDesc beanDesc = new BeanDescImpl(AbstractNodeModelImpl.class);
-		event.setField(beanDesc.getField("targetConnections"));
-		fireModelChange(event);
-	}
-}

Modified: artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/TableModelChangeSupportImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/TableModelChangeSupportImpl.java	2008-11-18 16:51:41 UTC (rev 2170)
+++ artemis/trunk/org.jiemamy.event/src/main/java/org/jiemamy/event/model/node/TableModelChangeSupportImpl.java	2008-11-18 16:53:29 UTC (rev 2171)
@@ -67,9 +67,8 @@
 				 * {@inheritDoc}
 				 */
 				public void collectionChanged(ObservableCollectionChangeEvent<List<ColumnModel>, ColumnModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
 						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
 							event.setSource(event.getModel());
 						} else {
@@ -94,9 +93,8 @@
 				 * {@inheritDoc}
 				 */
 				public void collectionChanged(ObservableCollectionChangeEvent<List<IndexModel>, IndexModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
 						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
 							event.setSource(event.getModel());
 						} else {
@@ -122,9 +120,8 @@
 				 */
 				public void collectionChanged(
 						ObservableCollectionChangeEvent<List<CheckConstraintModel>, CheckConstraintModel> event) {
-					if (event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_ADD
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_REMOVE
-							&& event.getTiming() != ObservableCollectionChangeEvent.Timing.BEFORE_SET) {
+					if (event.getTiming() != Timing.BEFORE_ADD && event.getTiming() != Timing.BEFORE_REMOVE
+							&& event.getTiming() != Timing.BEFORE_SET) {
 						if (event.getTiming() == Timing.COLLECTION_CHANGED) {
 							event.setSource(event.getModel());
 						} else {
@@ -160,8 +157,8 @@
 	 */
 	public TableModelChangeSupportImpl(TableModel source) {
 		TableModelAccessor accessor = (TableModelAccessor) source;
-		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
 		eventTarget = new WeakReference<TableModel>(source);
+		source.getAdapter(Observable.class).addModelChangeListener(modelChangeListener);
 		((ObservableList<ColumnModel>) accessor.getModifiableColumns()).addListener(columnsCollectionChangeListener);
 		((ObservableList<IndexModel>) accessor.getModifiableIndexes()).addListener(indexesCollectionChangeListener);
 		((ObservableList<CheckConstraintModel>) accessor.getModifiableChecks())
@@ -169,36 +166,36 @@
 	}
 	
 	/**
-	 * columnsのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * checksのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
 	 * 
 	 * @param event {@link ObservableCollectionChangeEvent}
 	 */
-	public void fireColumnsCollectionChangeEvent(ObservableCollectionChangeEvent<List<ColumnModel>, ColumnModel> event) {
+	public void fireChecksCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<CheckConstraintModel>, CheckConstraintModel> event) {
 		BeanDesc beanDesc = new BeanDescImpl(TableModelImpl.class);
-		event.setField(beanDesc.getField("columns"));
+		event.setField(beanDesc.getField("checks"));
 		fireModelChange(event);
 	}
 	
 	/**
-	 * indexesのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * columnsのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
 	 * 
 	 * @param event {@link ObservableCollectionChangeEvent}
 	 */
-	public void fireIndexesCollectionChangeEvent(ObservableCollectionChangeEvent<List<IndexModel>, IndexModel> event) {
+	public void fireColumnsCollectionChangeEvent(ObservableCollectionChangeEvent<List<ColumnModel>, ColumnModel> event) {
 		BeanDesc beanDesc = new BeanDescImpl(TableModelImpl.class);
-		event.setField(beanDesc.getField("indexes"));
+		event.setField(beanDesc.getField("columns"));
 		fireModelChange(event);
 	}
 	
 	/**
-	 * checksのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * indexesのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
 	 * 
 	 * @param event {@link ObservableCollectionChangeEvent}
 	 */
-	public void fireChecksCollectionChangeEvent(
-			ObservableCollectionChangeEvent<List<CheckConstraintModel>, CheckConstraintModel> event) {
+	public void fireIndexesCollectionChangeEvent(ObservableCollectionChangeEvent<List<IndexModel>, IndexModel> event) {
 		BeanDesc beanDesc = new BeanDescImpl(TableModelImpl.class);
-		event.setField(beanDesc.getField("checks"));
+		event.setField(beanDesc.getField("indexes"));
 		fireModelChange(event);
 	}
 }


Jiemamy-notify メーリングリストの案内
Zurück zum Archiv-Index