Author: tfmorris
Date: 2008-04-30 13:33:50-0700
New Revision: 14536
Added:
trunk/src/argouml-app/src/org/argouml/util/IItemUID.java
- copied, changed from r14532, /trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java
trunk/src/argouml-app/src/org/argouml/util/ItemUID.java
- copied, changed from r14532, /trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java
Removed:
trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java
Modified:
trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java
trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java
trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java
trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java
Log:
Move ItemUID & IItemUID to utils
Change ItemUID to use IItemUID if object implements it
Removed: trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java?view=auto&rev=14535
Modified: trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java?view=diff&rev=14536&p1=trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java&p2=trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java (original)
+++ trunk/src/argouml-app/src/org/argouml/cognitive/ResolvedCritic.java 2008-04-30 13:33:50-0700
@@ -28,6 +28,7 @@
import java.util.List;
import org.apache.log4j.Logger;
+import org.argouml.util.ItemUID;
// TODO: Maybe the exception strings should be internationalized
Modified: trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java?view=diff&rev=14536&p1=trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java (original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/PrivateHandler.java 2008-04-30 13:33:50-0700
@@ -26,8 +26,8 @@
import java.util.StringTokenizer;
import org.apache.log4j.Logger;
-import org.argouml.cognitive.ItemUID;
-import org.argouml.uml.diagram.IItemUID;
+import org.argouml.util.IItemUID;
+import org.argouml.util.ItemUID;
import org.tigris.gef.persistence.pgml.Container;
import org.tigris.gef.persistence.pgml.FigEdgeHandler;
import org.tigris.gef.persistence.pgml.FigGroupHandler;
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java?view=diff&rev=14536&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagram.java 2008-04-30 13:33:50-0700
@@ -32,8 +32,8 @@
import java.util.Iterator;
import java.util.List;
-import org.argouml.cognitive.ItemUID;
import org.argouml.kernel.Project;
+import org.argouml.util.ItemUID;
import org.tigris.gef.base.LayerPerspective;
import org.tigris.gef.graph.GraphModel;
import org.tigris.gef.presentation.Fig;
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java?view=diff&rev=14536&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ArgoDiagramImpl.java 2008-04-30 13:33:50-0700
@@ -32,7 +32,6 @@
import java.util.List;
import org.apache.log4j.Logger;
-import org.argouml.cognitive.ItemUID;
import org.argouml.kernel.Project;
import org.argouml.model.CoreHelper;
import org.argouml.model.DeleteInstanceEvent;
@@ -43,6 +42,8 @@
import org.argouml.uml.diagram.ui.FigEdgeModelElement;
import org.argouml.uml.diagram.ui.FigNodeModelElement;
import org.argouml.util.EnumerationIterator;
+import org.argouml.util.IItemUID;
+import org.argouml.util.ItemUID;
import org.tigris.gef.base.Diagram;
import org.tigris.gef.base.Editor;
import org.tigris.gef.graph.MutableGraphSupport;
Removed: trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java?view=auto&rev=14535
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java?view=diff&rev=14536&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java 2008-04-30 13:33:50-0700
@@ -58,7 +58,6 @@
import org.argouml.application.events.ArgoNotationEventListener;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.Highlightable;
-import org.argouml.cognitive.ItemUID;
import org.argouml.cognitive.ToDoItem;
import org.argouml.cognitive.ToDoList;
import org.argouml.cognitive.ui.ActionGoToCritique;
@@ -81,8 +80,9 @@
import org.argouml.ui.ProjectActions;
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.StereotypeUtility;
-import org.argouml.uml.diagram.IItemUID;
import org.argouml.uml.ui.ActionDeleteModelElements;
+import org.argouml.util.IItemUID;
+import org.argouml.util.ItemUID;
import org.tigris.gef.base.Globals;
import org.tigris.gef.base.Layer;
import org.tigris.gef.base.PathConvPercent;
@@ -290,6 +290,10 @@
ToDoList list = Designer.theDesigner().getToDoList();
List<ToDoItem> items = list.elementListForOffender(getOwner());
if (items != null && items.size() > 0) {
+ // TODO: This creates a dependency on the Critics subsystem.
+ // We need a generic way for modules (including our internal
+ // subsystems) to request addition of actions to the popup
+ // menu. - tfm 20080430
ArgoJMenu critiques = new ArgoJMenu("menu.popup.critiques");
ToDoItem itemUnderMouse = hitClarifier(me.getX(), me.getY());
if (itemUnderMouse != null) {
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java?view=diff&rev=14536&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java 2008-04-30 13:33:50-0700
@@ -62,7 +62,6 @@
import org.argouml.application.events.ArgoNotationEventListener;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.Highlightable;
-import org.argouml.cognitive.ItemUID;
import org.argouml.cognitive.ToDoItem;
import org.argouml.cognitive.ToDoList;
import org.argouml.cognitive.ui.ActionGoToCritique;
@@ -89,9 +88,10 @@
import org.argouml.uml.StereotypeUtility;
import org.argouml.uml.diagram.ArgoDiagram;
import org.argouml.uml.diagram.DiagramAppearance;
-import org.argouml.uml.diagram.IItemUID;
import org.argouml.uml.diagram.PathContainer;
import org.argouml.uml.ui.ActionDeleteModelElements;
+import org.argouml.util.IItemUID;
+import org.argouml.util.ItemUID;
import org.tigris.gef.base.Diagram;
import org.tigris.gef.base.Globals;
import org.tigris.gef.base.Layer;
@@ -506,6 +506,10 @@
ToDoList tdList = Designer.theDesigner().getToDoList();
List<ToDoItem> items = tdList.elementListForOffender(getOwner());
if (items != null && items.size() > 0) {
+ // TODO: This creates a dependency on the Critics subsystem.
+ // We need a generic way for modules (including our internal
+ // subsystems) to request addition of actions to the popup
+ // menu. - tfm 20080430
ArgoJMenu critiques = new ArgoJMenu("menu.popup.critiques");
ToDoItem itemUnderMouse = hitClarifier(me.getX(), me.getY());
if (itemUnderMouse != null) {
Copied: trunk/src/argouml-app/src/org/argouml/util/IItemUID.java (from r14532, /trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java)
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/util/IItemUID.java?view=diff&rev=14536&p1=/trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java&p2=trunk/src/argouml-app/src/org/argouml/util/IItemUID.java&r1=14532&r2=14536
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/diagram/IItemUID.java (original)
+++ trunk/src/argouml-app/src/org/argouml/util/IItemUID.java 2008-04-30 13:33:50-0700
@@ -22,9 +22,8 @@
// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-package org.argouml.uml.diagram;
+package org.argouml.util;
-import org.argouml.cognitive.ItemUID;
/**
* Interface for objects which implement the getItemUID/setItemUID methods. It
Copied: trunk/src/argouml-app/src/org/argouml/util/ItemUID.java (from r14532, /trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java)
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/util/ItemUID.java?view=diff&rev=14536&p1=/trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java&p2=trunk/src/argouml-app/src/org/argouml/util/ItemUID.java&r1=14532&r2=14536
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/cognitive/ItemUID.java (original)
+++ trunk/src/argouml-app/src/org/argouml/util/ItemUID.java 2008-04-30 13:33:50-0700
@@ -22,7 +22,7 @@
// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-package org.argouml.cognitive;
+package org.argouml.util;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -69,9 +69,6 @@
* I find a bit unaesthetic. So far, not enough to write it (though it is not
* much work).
*
- * TODO: This class seems to expect arguments to be guaranteed to implement
- * some specific method. So why doesn't it expect an interface to ensure that?
- *
* @author Michael Stockman
*/
public class ItemUID {
@@ -164,6 +161,9 @@
return Model.getFacade().getUUID(obj);
}
+ if (obj instanceof IItemUID) {
+ return ((IItemUID) obj).getItemUID().toString();
+ }
Object rv;
try {
Method m = obj.getClass().getMethod("getItemUID", (Class[]) null);
@@ -243,6 +243,12 @@
if (Model.getFacade().isAUMLElement(obj)) {
return null;
}
+
+ if (obj instanceof IItemUID) {
+ ItemUID uid = new ItemUID();
+ ((IItemUID) obj).setItemUID(uid);
+ return uid.toString();
+ }
Class[] params = new Class[1];
Object[] mparam;
Modified: trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java?view=diff&rev=14536&p1=trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java&p2=trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java (original)
+++ trunk/src/argouml-app/tests/org/argouml/cognitive/TestItemUID.java 2008-04-30 13:33:50-0700
@@ -61,6 +61,7 @@
import org.argouml.uml.diagram.use_case.ui.FigInclude;
import org.argouml.uml.diagram.use_case.ui.FigUseCase;
import org.argouml.uml.diagram.use_case.ui.UMLUseCaseDiagram;
+import org.argouml.util.ItemUID;
/**
Modified: trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java?view=diff&rev=14536&p1=trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java&p2=trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java&r1=14535&r2=14536
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java (original)
+++ trunk/src/argouml-app/tests/org/argouml/cognitive/TestResolvedCritic.java 2008-04-30 13:33:50-0700
@@ -31,6 +31,7 @@
import org.argouml.model.InitializeModel;
import org.argouml.model.Model;
+import org.argouml.util.ItemUID;
/**
* Test the ResolvedCritic class.
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.