svn commit: r19232 - trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMetaClassComboBoxModel.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2011-04-13 02:30:09-0700
New Revision: 19232
Modified:
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMetaClassComboBoxModel.java
Log:
Lazy load the metaClasses list so its there when needed
Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMetaClassComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMetaClassComboBoxModel.java?view=diff&pathrev=19232&r1=19231&r2=19232
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMetaClassComboBoxModel.java (original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMetaClassComboBoxModel.java 2011-04-13 02:30:09-0700
@@ -73,23 +73,6 @@
final String propertyName,
final Object target) {
super(target, propertyName, true);
-
- Collection<String> tmpMetaClasses =
- Model.getCoreHelper().getAllMetatypeNames();
-
- if (tmpMetaClasses instanceof List) {
- metaClasses = (List<String>) tmpMetaClasses;
- } else {
- metaClasses = new LinkedList<String>(tmpMetaClasses);
- }
- tmpMetaClasses.addAll(Model.getCoreHelper().getAllMetaDatatypeNames());
- 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);
- }
}
/*
@@ -107,14 +90,37 @@
* @see org.argouml.uml.ui.UMLComboBoxModel#buildModelList()
*/
protected void buildModelList() {
- setElements(metaClasses);
+ setElements(getMetaClassNames());
+ }
+
+ private List<String> getMetaClassNames() {
+
+ if (metaClasses == null) {
+ Collection<String> tmpMetaClasses =
+ Model.getCoreHelper().getAllMetatypeNames();
+
+ if (tmpMetaClasses instanceof List) {
+ metaClasses = (List<String>) tmpMetaClasses;
+ } else {
+ metaClasses = new LinkedList<String>(tmpMetaClasses);
+ }
+ tmpMetaClasses.addAll(Model.getCoreHelper().getAllMetaDatatypeNames());
+ 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);
+ }
+ }
+ return metaClasses;
}
/*
* @see org.argouml.uml.ui.UMLComboBoxModel#isValidElement(Object)
*/
protected boolean isValidElement(Object element) {
- return metaClasses.contains(element);
+ return getMetaClassNames().contains(element);
}
public Action getAction() {
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2719370
To unsubscribe from this discussion, e-mail: [[email protected]].