svn commit: r16148 - trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: tfmorris
Date: 2008-11-23 10:08:43-0800
New Revision: 16148
Modified:
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
Log:
Comments and TODOs. No functional change.
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java?view=diff&rev=16148&p1=trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java&p2=trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java&r1=16147&r2=16148
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java 2008-11-23 10:08:43-0800
@@ -161,17 +161,19 @@
}
Class kind = (Class) type;
Collection ret = getAllModelElementsOfKind(model, kind);
- if (kind.isAssignableFrom(model.getClass())) {
+ if (kind.isAssignableFrom(model.getClass()) && !ret.contains(model)) {
+ // TODO: It doesn't really make sense that a namespace would be
+ // returned as part of its own contents, but that's the historical
+ // behavior.
ret = new ArrayList(ret);
- if (!ret.contains(model)) {
- ret.add(model);
- }
+ ret.add(model);
}
return ret;
}
- public Collection getAllModelElementsOfKind(Object nsa, Object type) {
+ public Collection getAllModelElementsOfKind(Object nsa, Object type) {
+ // TODO: Performance critical method
long startTime = System.currentTimeMillis();
if (nsa == null || type == null) {
return Collections.EMPTY_LIST;
@@ -222,6 +224,8 @@
// Remove any elements not in requested namespace
Collection returnElements = new ArrayList();
+ // TODO: Perhaps use a HashSet or other collection with faster lookup
+ // performance in case our callers are doing naive .contains() lookups
for (Iterator i = allOfType.iterator(); i.hasNext();) {
Object me = i.next();
// TODO: Optimize for root model case? - tfm