svn commit: r13327 - trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: tfmorris
Date: 2007-08-13 20:08:24-0700
New Revision: 13327
Modified:
trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java
Log:
Issue 4831 - restore sorting in base class name selector
Modified: trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java?view=diff&rev=13327&p1=trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java&p2=trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java&r1=13326&r2=13327
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java (original)
+++ trunk/src_new/org/argouml/uml/ui/foundation/extension_mechanisms/UMLMetaClassComboBoxModel.java 2007-08-13 20:08:24-0700
@@ -26,7 +26,10 @@
package org.argouml.uml.ui.foundation.extension_mechanisms;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
import org.argouml.model.Model;
import org.argouml.uml.ui.UMLComboBoxModel2;
@@ -42,16 +45,27 @@
*/
public class UMLMetaClassComboBoxModel extends UMLComboBoxModel2 {
- private Collection metaClasses =
- Model.getCoreHelper().getAllMetatypeNames();
+ private List<String> metaClasses;
/**
* Constructor.
*/
public UMLMetaClassComboBoxModel() {
super("baseClass", true);
- //TODO: You can not sort a HashSet !!!
-// Collections.sort((List) metaClasses);
+ Collection<String> tmpMetaClasses = Model.getCoreHelper().getAllMetatypeNames();
+
+ if (tmpMetaClasses instanceof List) {
+ metaClasses = (List<String>) tmpMetaClasses;
+ } else {
+ metaClasses = new LinkedList<String>(tmpMetaClasses);
+ }
+ try {
+ Collections.sort(metaClasses);
+ } catch (UnsupportedOperationException e) {
+ // We got passed an unmodifiable List. Copy it and sort the result
+ metaClasses = new LinkedList<String>(tmpMetaClasses);
+ Collections.sort(metaClasses);
+ }
}
/*