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;