Author: thn
Date: 2011-05-10 10:28:55-0700
New Revision: 19392

Modified:
   trunk/src/argouml-app/src/org/argouml/uml/StereotypeUtility.java

Log:
UML2: just check applied profiles for stereotypes (don't search outside 
profiles)

Modified: trunk/src/argouml-app/src/org/argouml/uml/StereotypeUtility.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/StereotypeUtility.java?view=diff&pathrev=19392&r1=19391&r2=19392
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/StereotypeUtility.java    
(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/StereotypeUtility.java    
2011-05-10 10:28:55-0700
@@ -122,46 +122,49 @@
         Set<List> paths = new HashSet<List>();
         Set<Object> availableStereotypes = new TreeSet<Object>(
                 new PathComparator());
-        Collection models = ProjectManager.getManager().getCurrentProject()
-                .getModels();
 
-        Collection topLevelModels = ProjectManager.getManager()
-                .getCurrentProject().getModels();
+        if (Model.getFacade().getUmlVersion().charAt(0) == '1') {
 
-        // adds all stereotypes defined at the top level namespaces
-        Collection topLevelStereotypes = 
getTopLevelStereotypes(topLevelModels);
+            Collection models = ProjectManager.getManager().getCurrentProject()
+                    .getModels();
 
-        Collection validTopLevelStereotypes = new ArrayList();
-
-        addAllUniqueModelElementsFrom(
-                availableStereotypes,
-                paths,
-                Model.getExtensionMechanismsHelper().getAllPossibleStereotypes(
-                        models, modelElement));
-        for (Object stereotype : topLevelStereotypes) {
-            if (Model.getExtensionMechanismsHelper().isValidStereotype(
-                    modelElement, stereotype)) {
-                validTopLevelStereotypes.add(stereotype);
-            }
-        }
+            Collection topLevelModels = ProjectManager.getManager()
+                    .getCurrentProject().getModels();
 
-        addAllUniqueModelElementsFrom(availableStereotypes, paths,
-                validTopLevelStereotypes);
+            // adds all stereotypes defined at the top level namespaces
+            Collection topLevelStereotypes = 
getTopLevelStereotypes(topLevelModels);
 
-        // adds all stereotypes defined at the profiles applied to the
-        // current namespace
-        Object namespace = Model.getFacade().getNamespace(modelElement);
-        if (namespace != null) {
-            while (true) {
-                getApplicableStereotypesInNamespace(modelElement, paths,
-                        availableStereotypes, namespace);
-                Object newNamespace = 
Model.getFacade().getNamespace(namespace);
+            Collection validTopLevelStereotypes = new ArrayList();
 
-                if (newNamespace == null) {
-                    break;
+            addAllUniqueModelElementsFrom(availableStereotypes, paths,
+                    Model.getExtensionMechanismsHelper()
+                            .getAllPossibleStereotypes(models, modelElement));
+            for (Object stereotype : topLevelStereotypes) {
+                if (Model.getExtensionMechanismsHelper().isValidStereotype(
+                        modelElement, stereotype)) {
+                    validTopLevelStereotypes.add(stereotype);
                 }
+            }
+
+            addAllUniqueModelElementsFrom(availableStereotypes, paths,
+                    validTopLevelStereotypes);
 
-                namespace = newNamespace;
+            // adds all stereotypes defined at the profiles applied to the
+            // current namespace
+            Object namespace = Model.getFacade().getNamespace(modelElement);
+            if (namespace != null) {
+                while (true) {
+                    getApplicableStereotypesInNamespace(modelElement, paths,
+                            availableStereotypes, namespace);
+                    Object newNamespace = Model.getFacade().getNamespace(
+                            namespace);
+
+                    if (newNamespace == null) {
+                        break;
+                    }
+
+                    namespace = newNamespace;
+                }
             }
         }

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

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

Reply via email to