[Jiemamy-notify:1840] commit [3014] [ECL-37] DirectEditNodeCommandに、displayStatusをセットしていなかった。

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2009年 3月 27日 (金) 22:24:23 JST


Revision: 3014
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=3014
Author:   daisuke_m
Date:     2009-03-27 22:24:23 +0900 (Fri, 27 Mar 2009)

Log Message:
-----------
[ECL-37] DirectEditNodeCommandに、displayStatusをセットしていなかった。

Modified Paths:
--------------
    hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/DisplayStatus.java
    hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/command/DirectEditNodeCommand.java
    hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/editpolicy/JmDirectEditPolicy.java


-------------- next part --------------
Modified: hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/DisplayStatus.java
===================================================================
--- hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/DisplayStatus.java	2009-03-27 13:12:50 UTC (rev 3013)
+++ hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/DisplayStatus.java	2009-03-27 13:24:23 UTC (rev 3014)
@@ -18,6 +18,7 @@
  */
 package org.jiemamy.eclipse.editor;
 
+import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.Level;
 import org.jiemamy.model.Mode;
 
@@ -52,6 +53,22 @@
 	/** 論理モデル:エンティティレベル */
 	LOGICAL_ENTITY(Mode.LOGICAL, Level.ENTITY, Messages.Logical_Entity);
 	
+	/**
+	 * TODO for daisuke
+	 * 
+	 * @param presentationModel
+	 * @return
+	 */
+	public static DisplayStatus find(DiagramPresentationModel presentationModel) {
+		for (DisplayStatus status : values()) {
+			if (presentationModel.getMode() == status.mode && presentationModel.getLevel() == status.level) {
+				return status;
+			}
+		}
+		return null;
+	}
+	
+
 	/** 論理モデルかどうか */
 	private Mode mode;
 	

Modified: hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/command/DirectEditNodeCommand.java
===================================================================
--- hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/command/DirectEditNodeCommand.java	2009-03-27 13:12:50 UTC (rev 3013)
+++ hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/command/DirectEditNodeCommand.java	2009-03-27 13:24:23 UTC (rev 3014)
@@ -47,11 +47,11 @@
 	private String newValue;
 	
 	/** 編集対象 */
-	private NodeAdapter nodeAdapter;
+	private final NodeAdapter nodeAdapter;
 	
-	private DisplayStatus displayStatus;
+	private final DisplayStatus displayStatus;
 	
-	private JiemamyViewFacade jiemamyFacade;
+	private final JiemamyViewFacade jiemamyFacade;
 	
 	private SavePoint savePoint;
 	
@@ -60,8 +60,16 @@
 	 * インスタンスを生成する。
 	 * 
 	 * @param rootModel
+	 * @param displayStatus 
+	 * @param nodeAdapter 
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
 	 */
-	public DirectEditNodeCommand(RootModel rootModel) {
+	public DirectEditNodeCommand(RootModel rootModel, DisplayStatus displayStatus, NodeAdapter nodeAdapter) {
+		Validate.notNull(rootModel);
+		Validate.notNull(displayStatus);
+		Validate.notNull(nodeAdapter);
+		this.displayStatus = displayStatus;
+		this.nodeAdapter = nodeAdapter;
 		jiemamyFacade = rootModel.getJiemamy().getFactory().newFacade(JiemamyViewFacade.class);
 	}
 	
@@ -88,15 +96,6 @@
 	}
 	
 	/**
-	 * displayModeを設定する。
-	 * 
-	 * @param displayStatus displayMode
-	 */
-	public void setDisplayMode(DisplayStatus displayStatus) {
-		this.displayStatus = displayStatus;
-	}
-	
-	/**
 	 * 変更後の値を設定する。
 	 * 
 	 * @param newValue 変更後の値
@@ -105,17 +104,6 @@
 		this.newValue = newValue;
 	}
 	
-	/**
-	 * 編集対象を設定する。
-	 * 
-	 * @param nodeAdapter 編集対象
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	public void setNodeModel(NodeAdapter nodeAdapter) {
-		Validate.notNull(nodeAdapter);
-		this.nodeAdapter = nodeAdapter;
-	}
-	
 	@Override
 	public void undo() {
 		jiemamyFacade.rollback(savePoint);

Modified: hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/editpolicy/JmDirectEditPolicy.java
===================================================================
--- hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/editpolicy/JmDirectEditPolicy.java	2009-03-27 13:12:50 UTC (rev 3013)
+++ hestia/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/editpolicy/JmDirectEditPolicy.java	2009-03-27 13:24:23 UTC (rev 3014)
@@ -22,7 +22,11 @@
 import org.eclipse.gef.editpolicies.DirectEditPolicy;
 import org.eclipse.gef.requests.DirectEditRequest;
 
+import org.jiemamy.Migration;
+import org.jiemamy.eclipse.editor.DisplayStatus;
 import org.jiemamy.eclipse.editor.command.DirectEditNodeCommand;
+import org.jiemamy.model.DiagramPresentationModel;
+import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.node.NodeAdapter;
 
@@ -36,11 +40,13 @@
 	@Override
 	protected Command getDirectEditCommand(DirectEditRequest request) {
 		RootModel rootModel = (RootModel) getHost().getRoot().getContents().getModel();
-		NodeAdapter entity = (NodeAdapter) getHost().getModel();
+		NodeAdapter nodeAdapter = (NodeAdapter) getHost().getModel();
 		
-		DirectEditNodeCommand command = new DirectEditNodeCommand(rootModel);
-		command.setNodeModel(entity);
-//		command.setDisplayMode(rootModel.getDisplayMode());
+		DiagramPresentations diagramPresentations = rootModel.getAdapter(DiagramPresentations.class);
+		DiagramPresentationModel presentation = diagramPresentations.get(Migration.DIAGRAM_INDEX);
+		DisplayStatus displayStatus = DisplayStatus.find(presentation);
+		
+		DirectEditNodeCommand command = new DirectEditNodeCommand(rootModel, displayStatus, nodeAdapter);
 		command.setNewValue((String) request.getCellEditor().getValue());
 		
 		return command;



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