svn commit: r19449 - trunk/src/argouml-app/src/org/argouml: notation/providers uml/diagram/deployment/ui uml/diagram/static_structure/ui

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2011-05-17 02:29:56-0700
New Revision: 19449

Modified:
   trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java

Log:
Allow FigObject to display a InstanceSpecification

Modified: trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java?view=diff&pathrev=19449&r1=19448&r2=19449
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java	2011-05-17 02:29:56-0700
@@ -1,6 +1,6 @@
 /* $Id$
  *****************************************************************************
- * Copyright (c) 2009-2010 Contributors - see below
+ * Copyright (c) 2009-2011 Contributors - see below
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *    Michiel van der Wulp
+ *    Bob Tarling
  *****************************************************************************
  *
  * Some portions of this file was previously release using the BSD License:
@@ -61,7 +62,8 @@
      * @param theObject the UML element
      */
     public ObjectNotation(Object theObject) {
-        if (!Model.getFacade().isAObject(theObject)) {
+        if (!Model.getFacade().isAObject(theObject)
+                && !Model.getFacade().isAInstanceSpecification(theObject)) {
             throw new IllegalArgumentException("This is not an Object.");
         }
     }

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java?view=diff&pathrev=19449&r1=19448&r2=19449
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java	2011-05-17 02:29:56-0700
@@ -251,7 +251,6 @@
      */
     @Override
     public void setEnclosingFig(Fig encloser) {
-	assert Model.getFacade().isAObject(getOwner());
 
         Object owner = getOwner();
 
@@ -262,7 +261,8 @@
                     .setComponentInstance(owner, encloser.getOwner());
             super.setEnclosingFig(encloser);
 
-        } else if (Model.getFacade().getComponentInstance(owner) != null) {
+        } else if (Model.getFacade().getUmlVersion().startsWith("1")
+                && Model.getFacade().getComponentInstance(owner) != null) {
             Model.getCommonBehaviorHelper().setComponentInstance(owner, null);
             super.setEnclosingFig(null);
         }

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java?view=diff&pathrev=19449&r1=19448&r2=19449
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java	2011-05-17 02:29:56-0700
@@ -53,6 +53,7 @@
 import org.argouml.uml.diagram.DiagramEdgeSettings;
 import org.argouml.uml.diagram.DiagramElement;
 import org.argouml.uml.diagram.DiagramSettings;
+import org.argouml.uml.diagram.collaboration.ui.FigClassifierRole;
 import org.argouml.uml.diagram.deployment.ui.FigComponent;
 import org.argouml.uml.diagram.deployment.ui.FigComponentInstance;
 import org.argouml.uml.diagram.deployment.ui.FigMNode;
@@ -100,6 +101,7 @@
     private Action actionAssociationClass;
     private Action actionClass;
     private Action actionInterface;
+    private Action actionInstanceSpecification;
     private Action actionDependency;
     private Action actionPermission;
     private Action actionUsage;
@@ -209,6 +211,7 @@
             ActionAddAttribute.getTargetFollower(),
             ActionAddOperation.getTargetFollower(),
             getActionAssociationClass(),
+            getActionInstanceSpecification(),
             null,
             getDataTypeActions(),
         };
@@ -419,6 +422,19 @@
     }
 
     /**
+     * @return Returns the actionInterface.
+     */
+    protected Action getActionInstanceSpecification() {
+        if (actionInstanceSpecification == null) {
+            actionInstanceSpecification =
+                makeCreateNodeAction(
+                        Model.getMetaTypes().getInstanceSpecification(),
+                        "button.new-instance-specification");
+        }
+        return actionInstanceSpecification;
+    }
+
+    /**
      * @return Returns the actionLink.
      */
     protected Action getActionLink() {
@@ -669,6 +685,8 @@
             return true;
         } else if (Model.getFacade().isAObject(objectToAccept)) {
             return true;
+        } else if (Model.getFacade().isAInstanceSpecification(objectToAccept)) {
+            return true;
         } else if (Model.getFacade().isANodeInstance(objectToAccept)) {
             return true;
         } else if (Model.getFacade().isAComponentInstance(objectToAccept)) {
@@ -866,6 +884,8 @@
             figNode = new FigUseCase(modelElement, bounds, settings);
         } else if (Model.getFacade().isAObject(modelElement)) {
             figNode = new FigObject(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAInstanceSpecification(modelElement)) {
+            figNode = new FigObject(modelElement, bounds, settings);
         } else if (Model.getFacade().isANodeInstance(modelElement)) {
             figNode = new FigNodeInstance(modelElement, bounds, settings);
         } else if (Model.getFacade().isAComponentInstance(modelElement)) {

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2738512

To unsubscribe from this discussion, e-mail: [[email protected]].
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.