svn commit: r13515 - trunk/src/model/src/org/argouml/model
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2007-09-09 03:36:19-0700
New Revision: 13515
Modified:
trunk/src/model/src/org/argouml/model/DummyModelCommand.java
trunk/src/model/src/org/argouml/model/Model.java
trunk/src/model/src/org/argouml/model/ModelCommand.java
Log:
Sme command need to return a result to their creator.
Not all MDR commands are redoable.
Modified: trunk/src/model/src/org/argouml/model/DummyModelCommand.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model/src/org/argouml/model/DummyModelCommand.java?view=diff&rev=13515&p1=trunk/src/model/src/org/argouml/model/DummyModelCommand.java&p2=trunk/src/model/src/org/argouml/model/DummyModelCommand.java&r1=13514&r2=13515
==============================================================================
--- trunk/src/model/src/org/argouml/model/DummyModelCommand.java (original)
+++ trunk/src/model/src/org/argouml/model/DummyModelCommand.java 2007-09-09 03:36:19-0700
@@ -41,12 +41,18 @@
}
@Override
- public void execute() {
+ public Object execute() {
// Do nothing.
+ return null;
}
@Override
public boolean isUndoable() {
return false;
}
+
+ @Override
+ public boolean isRedoable() {
+ return false;
+ }
}
Modified: trunk/src/model/src/org/argouml/model/Model.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model/src/org/argouml/model/Model.java?view=diff&rev=13515&p1=trunk/src/model/src/org/argouml/model/Model.java&p2=trunk/src/model/src/org/argouml/model/Model.java&r1=13514&r2=13515
==============================================================================
--- trunk/src/model/src/org/argouml/model/Model.java (original)
+++ trunk/src/model/src/org/argouml/model/Model.java 2007-09-09 03:36:19-0700
@@ -575,16 +575,17 @@
}
/**
- * Notify any observer that a memento has been created.
- *
+ * Notify any observer that a memento has been created and execute
+ * that command.
* @param command The newly created command.
*/
- public static void notifyModelCommandCreationObserver(
+ public static Object execute(
ModelCommand command) {
ModelCommandCreationObserver mco = getModelCommandCreationObserver();
if (mco != null) {
mco.modelCommandCreated(command);
}
+ return command.execute();
}
/**
Modified: trunk/src/model/src/org/argouml/model/ModelCommand.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model/src/org/argouml/model/ModelCommand.java?view=diff&rev=13515&p1=trunk/src/model/src/org/argouml/model/ModelCommand.java&p2=trunk/src/model/src/org/argouml/model/ModelCommand.java&r1=13514&r2=13515
==============================================================================
--- trunk/src/model/src/org/argouml/model/ModelCommand.java (original)
+++ trunk/src/model/src/org/argouml/model/ModelCommand.java 2007-09-09 03:36:19-0700
@@ -37,7 +37,7 @@
/**
* The method to execute this memento.
*/
- public abstract void execute();
+ public abstract Object execute();
/**
* Determine of the command can be undone
@@ -46,6 +46,12 @@
public abstract boolean isUndoable();
/**
+ * Determine of the command can be redone once undone
+ * @return true if the command can be redone
+ */
+ public abstract boolean isRedoable();
+
+ /**
* The method to undo this memento.
*/
public abstract void undo();