svn commit: r14536 - trunk/src/argouml-app: src/org/argouml/cognitive src/org/argouml/persistence src/org/argouml/uml/diagram src/org/argouml/uml/diagram/ui src/org/argouml/util tests/org/argouml/cognitive

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
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.