Author: tfmorris
Date: 2008-03-27 09:03:22-0700
New Revision: 14237

Modified:
   trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java

Log:
Add method to get names of all meta datatypes & use in metatype combo box

Update Javadoc for getAllMetatypeNames to match implemented behavior.

Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java?view=diff&rev=14237&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java&r1=14236&r2=14237
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java        
(original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java        
2008-03-27 09:03:22-0700
@@ -3158,6 +3158,12 @@
                 LOG.error("Found duplicate class " + name + " in metamodel");
             }
         }
+        return names;
+    }
+    
+    public Collection<String> getAllMetaDatatypeNames() {
+        Set<String> names = new HashSet<String>();
+        // Returns nothing
         for (Object element : modelImpl.getModelPackage().getDataType()
                 .refAllOfClass()) {
             String name = ((javax.jmi.model.DataType) element).getName();
@@ -3167,7 +3173,20 @@
                 LOG.error("Found duplicate datatype " + name + " in 
metamodel");
             }
         }
-        // String, Integer, Long, Float, Double, etc
+        // ScopeKind, VisibilityKind, PseudostateKind, etc
+        // Doesn't include Boolean though, despite what UML 1.4 spec says
+        for (Object element : modelImpl.getModelPackage().getEnumerationType()
+                .refAllOfClass()) {
+            String name = ((javax.jmi.model.EnumerationType) 
element).getName();
+            if (names.add(name)) {
+                LOG.debug(" EnumerationType " + name);
+            } else {
+                LOG.error("Found duplicate EnumerationType " + name 
+                        + " in metamodel");
+            }
+        }
+
+        // Boolean, String, Integer, Long, Float, Double, etc
         for (Object element : modelImpl.getModelPackage().getPrimitiveType()
                 .refAllOfClass()) {
             String name = ((javax.jmi.model.PrimitiveType) element).getName();
@@ -3178,6 +3197,7 @@
                         + " in metamodel");
             }
         }
+
         return names;
     }
     

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to