Author: bobtarling
Date: 2011-05-17 02:26:04-0700
New Revision: 19448

Modified:
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CommonBehaviorHelperEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java

Log:
Allow get/set classifiers of InstanceSpecification

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CommonBehaviorHelperEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CommonBehaviorHelperEUMLImpl.java?view=diff&pathrev=19448&r1=19447&r2=19448
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CommonBehaviorHelperEUMLImpl.java
      (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CommonBehaviorHelperEUMLImpl.java
      2011-05-17 02:26:04-0700
@@ -15,6 +15,7 @@
 import java.util.List;
 
 import org.argouml.model.CommonBehaviorHelper;
+import org.eclipse.uml2.uml.InstanceSpecification;
 
 /**
  * Eclipse UML2 implementation of CommonBehaviorHelper.
@@ -122,7 +123,9 @@
 
 
     public void setClassifiers(Object handle, Collection classifiers) {
-        // TODO: Auto-generated method stub
+        ((InstanceSpecification) 
handle).getClassifiers().retainAll(classifiers);
+        classifiers.removeAll(((InstanceSpecification) 
handle).getClassifiers());
+        ((InstanceSpecification) handle).getClassifiers().addAll(classifiers);
     }
     
     public void setCommunicationLink(Object handle, Object c) {

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&pathrev=19448&r1=19447&r2=19448
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
    (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
    2011-05-17 02:26:04-0700
@@ -404,7 +404,12 @@
     }
 
     public Collection getClassifiers(Object handle) {
-        throw new NotYetImplementedException();
+        if (handle instanceof InstanceSpecification) {
+            return ((InstanceSpecification) handle).getClassifiers();
+        }
+        throw new IllegalArgumentException(
+                "Expected an InstanceSpecification. Got a " //$NON-NLS-1$
+                + handle);
     }
 
     public Collection getClassifiersInState(Object handle) {
@@ -477,7 +482,8 @@
     }
 
     public Object getComponentInstance(Object handle) {
-        throw new NotYetImplementedException();
+        throw new IllegalArgumentException(
+                "ComponentInstance is not available in UML2"); //$NON-NLS-1$
     }
 
     public Object getConcurrency(Object handle) {
@@ -1330,7 +1336,8 @@
     }
 
     public Collection getReceivedStimuli(Object handle) {
-        throw new NotYetImplementedException();
+        throw new NotImplementedException(
+                "Not available in UML2"); //$NON-NLS-1$
     }
 
     public Object getReceiver(Object handle) {

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java?view=diff&pathrev=19448&r1=19447&r2=19448
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
        (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
        2011-05-17 02:26:04-0700
@@ -384,6 +384,8 @@
             o = modelImpl.getStateMachinesFactory().createCompositeState();
         } else if (elementType == metaTypes.getSynchState()) {
             o = modelImpl.getStateMachinesFactory().createSynchState();
+        } else if (elementType == metaTypes.getInstanceSpecification()) {
+            o = UMLFactory.eINSTANCE.createInstanceSpecification();
         } else if (elementType == metaTypes.getState()) {
             throw new IllegalArgumentException(
                     "Attempt to instantiate abstract type"); //$NON-NLS-1$

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

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to