svn commit: r13515 - trunk/src/model/src/org/argouml/model

[email protected]
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();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.