svn commit: r14237 - trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java

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