svn commit: r13517 - trunk/src/model-mdr/src/org/argouml/model/mdr
[email protected] 9 Sep 2007 10:36:31 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: bobtarling
Date: 2007-09-09 03:36:30-0700
New Revision: 13517
Modified:
trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java
trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java
trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java
Log:
Sme command need to return a result to their creator.
Not all MDR commands are redoable.
Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java?view=diff&rev=13517&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java&r1=13516&r2=13517
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java (original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java 2007-09-09 03:36:30-0700
@@ -29,8 +29,13 @@
import java.util.Iterator;
import java.util.List;
+import javax.jmi.reflect.InvalidObjectException;
+import javax.jmi.reflect.RefObject;
+
import org.apache.log4j.Logger;
import org.argouml.model.CoreFactory;
+import org.argouml.model.ModelCommand;
+import org.argouml.model.ModelCommandCreationObserver;
import org.argouml.model.ModelManagementHelper;
import org.omg.uml.behavioralelements.commonbehavior.Reception;
import org.omg.uml.behavioralelements.commonbehavior.Signal;
@@ -801,15 +806,37 @@
public UmlClass buildClass() {
- UmlClass cl = createClass();
- cl.setName("");
- cl.setAbstract(false);
- cl.setActive(false);
- cl.setRoot(false);
- cl.setLeaf(false);
- cl.setSpecification(false);
- cl.setVisibility(VisibilityKindEnum.VK_PUBLIC);
- return cl;
+ ModelCommand command = new ModelCommand() {
+ UmlClass cl;
+ public UmlClass execute() {
+ cl = createClass();
+ cl.setName("");
+ cl.setAbstract(false);
+ cl.setActive(false);
+ cl.setRoot(false);
+ cl.setLeaf(false);
+ cl.setSpecification(false);
+ cl.setVisibility(VisibilityKindEnum.VK_PUBLIC);
+ return cl;
+ }
+
+ public void undo() {
+ try {
+ cl.refDelete();
+ } catch (InvalidObjectException e) {
+ LOG.warn("Object already deleted " + cl);
+ }
+ }
+
+ public boolean isUndoable() {
+ return true;
+ }
+
+ public boolean isRedoable() {
+ return false;
+ }
+ };
+ return (UmlClass) org.argouml.model.Model.execute(command);
}
Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java?view=diff&rev=13517&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java&r1=13516&r2=13517
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java (original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java 2007-09-09 03:36:30-0700
@@ -3182,17 +3182,20 @@
public void undo() {
accesser.set(oldValue);
}
- public void execute() {
+ public Object execute() {
accesser.set(newValue);
+ return null;
}
public boolean isUndoable() {
return true;
}
+ public boolean isRedoable() {
+ return true;
+ }
public String toString() {
return descr;
}
};
- Model.notifyModelCommandCreationObserver(command);
- command.execute();
+ Model.execute(command);
}
}
Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&rev=13517&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java&r1=13516&r2=13517
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java (original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java 2007-09-09 03:36:30-0700
@@ -667,7 +667,7 @@
elementsToBeDeleted.add(elem);
}
- if (LOG.isInfoEnabled()) {
+ if (LOG.isDebugEnabled()) {
if (top == elem) {
LOG.debug("Set top for cascade delete to " + elem);
}
Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java?view=diff&rev=13517&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java&r1=13516&r2=13517
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java (original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/UndoCoreHelperDecorator.java 2007-09-09 03:36:30-0700
@@ -108,15 +108,18 @@
public void undo() {
accesser.set(oldValue);
}
- public void execute() {
+ public Object execute() {
accesser.set(newValue);
+ return null;
}
public boolean isUndoable() {
return true;
}
+ public boolean isRedoable() {
+ return true;
+ }
};
- Model.notifyModelCommandCreationObserver(command);
- command.execute();
+ Model.execute(command);
}
/**
@@ -140,15 +143,18 @@
public void undo() {
accesser.set(oldValue);
}
- public void execute() {
+ public Object execute() {
accesser.set(newValue);
+ return null;
}
public boolean isUndoable() {
return true;
}
+ public boolean isRedoable() {
+ return true;
+ }
};
- Model.notifyModelCommandCreationObserver(memento);
- memento.execute();
+ Model.execute(memento);
}
/**
@@ -172,15 +178,18 @@
public void undo() {
accesser.set(oldValue);
}
- public void execute() {
+ public Object execute() {
accesser.set(newValue);
+ return null;
}
public boolean isUndoable() {
return true;
}
+ public boolean isRedoable() {
+ return true;
+ }
};
- Model.notifyModelCommandCreationObserver(command);
- command.execute();
+ Model.execute(command);
}