[Jiemamy-notify:1625] commit [2828] [CORE-103] CreateNodeCommandの処理をFacadeメソッドに任せてシンプルに修正し、SavePointも適用した。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 3月 6日 (金) 18:11:19 JST


Revision: 2828
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=2828
Author:   shin1
Date:     2009-03-06 18:11:19 +0900 (Fri, 06 Mar 2009)

Log Message:
-----------
[CORE-103]CreateNodeCommandの処理をFacadeメソッドに任せてシンプルに修正し、SavePointも適用した。
ViewEditPartでモデルが削除された時の考慮が無かったので、追加。

Modified Paths:
--------------
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/command/CreateNodeCommand.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/TableEditPart.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/ViewEditPart.java


-------------- next part --------------
Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/command/CreateNodeCommand.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/command/CreateNodeCommand.java	2009-03-06 08:40:43 UTC (rev 2827)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/command/CreateNodeCommand.java	2009-03-06 09:11:19 UTC (rev 2828)
@@ -27,7 +27,7 @@
 import org.jiemamy.eclipse.utils.ConvertUtil;
 import org.jiemamy.facade.JiemamyViewFacade;
 import org.jiemamy.facade.JiemamyViewFacadeImpl;
-import org.jiemamy.model.NodeProfile;
+import org.jiemamy.facade.SavePoint;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.node.NodeAdapter;
 
@@ -48,6 +48,8 @@
 	
 	private JiemamyViewFacade jiemamyFacade;
 	
+	private SavePoint savePoint;
+	
 
 	/**
 	 * インスタンスを生成する。
@@ -67,11 +69,8 @@
 	@Override
 	public void execute() {
 		if (nodeAdapter.unwrap() != null) {
-			jiemamyFacade.addEntity(nodeAdapter.unwrap());
-			
-			NodeProfile nodeProfile = rootModel.getJiemamy().getFactory().newModel(NodeProfile.class);
-			jiemamyFacade.addNodeProfile(Migration.DIAGRAM_INDEX, nodeAdapter, nodeProfile);
-			jiemamyFacade.changeNodeBoundary(Migration.DIAGRAM_INDEX, nodeAdapter, ConvertUtil.convert(rectangle));
+			savePoint = jiemamyFacade.save();
+			jiemamyFacade.addEntity(Migration.DIAGRAM_INDEX, nodeAdapter, ConvertUtil.convert(rectangle));
 		} else {
 			logger.debug("EntityModel以外は未実装状態");
 		}
@@ -79,8 +78,6 @@
 	
 	@Override
 	public void undo() {
-		jiemamyFacade.undo();
-		jiemamyFacade.undo();
-		jiemamyFacade.undo();
+		jiemamyFacade.rollback(savePoint);
 	}
 }

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/TableEditPart.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/TableEditPart.java	2009-03-06 08:40:43 UTC (rev 2827)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/TableEditPart.java	2009-03-06 09:11:19 UTC (rev 2828)
@@ -132,14 +132,14 @@
 		super.refreshVisuals();
 		GraphicalEditPart editPart = (GraphicalEditPart) getParent();
 		if (editPart == null) {
+			// モデルが削除された場合にeditPart=nullとなる。その時は描画処理は行わない。
 			return;
 		}
 		
 		RootModel rootModel = (RootModel) editPart.getModel();
-		NodeAdapter node = getModel();
-		
 		DiagramPresentations diagramPresentations = rootModel.getAdapter(DiagramPresentations.class);
 		DiagramPresentationModel presentation = diagramPresentations.get(Migration.DIAGRAM_INDEX);
+		NodeAdapter node = getModel();
 		NodeProfile nodeProfile = presentation.getFigureProfiles().get(node);
 		if (nodeProfile == null) {
 			// TODO 表示しない

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/ViewEditPart.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/ViewEditPart.java	2009-03-06 08:40:43 UTC (rev 2827)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/ViewEditPart.java	2009-03-06 09:11:19 UTC (rev 2828)
@@ -118,12 +118,18 @@
 	
 	@Override
 	protected void refreshVisuals() {
-		RootModel rootModel = (RootModel) getParent().getModel();
-		NodeAdapter node = getModel();
+		logger.debug(LogMarker.LIFECYCLE, "refreshVisuals");
+		super.refreshVisuals();
 		GraphicalEditPart editPart = (GraphicalEditPart) getParent();
+		if (editPart == null) {
+			// モデルが削除された場合にeditPart=nullとなる。その時は描画処理は行わない。
+			return;
+		}
 		
+		RootModel rootModel = (RootModel) getRoot().getContents().getModel();
 		DiagramPresentations diagramPresentations = rootModel.getAdapter(DiagramPresentations.class);
 		DiagramPresentationModel presentation = diagramPresentations.get(Migration.DIAGRAM_INDEX);
+		NodeAdapter node = getModel();
 		NodeProfile nodeProfile = presentation.getFigureProfiles().get(node);
 		if (nodeProfile == null) {
 			// TODO 表示しない



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