Author: bobtarling Date: 2010-03-27 09:24:45-0700 New Revision: 18177 Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
Log: When removing from the toAdd list we need to refer to the model element being imported not the ElementImport object itself. Adapted to use generics to make code clearer. 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&pathrev=18177&r1=18176&r2=18177 ============================================================================== --- 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 2010-03-27 09:24:45-0700 @@ -480,28 +480,28 @@ public void setImportedElements(Object pack, Collection imports) { if (pack instanceof UmlPackage) { - Collection eis = ((UmlPackage) pack).getElementImport(); - Collection toRemove = new ArrayList(); + Collection<ElementImport> currentImports = + ((UmlPackage) pack).getElementImport(); + Collection<ElementImport> toRemove = + new ArrayList<ElementImport>(); Collection toAdd = new ArrayList(imports); - Iterator i = eis.iterator(); - while (i.hasNext()) { - ElementImport ei = (ElementImport) i.next(); + for (final ElementImport ei : currentImports) { if (imports.contains(ei.getImportedElement())) { - toAdd.remove(ei); + toAdd.remove(ei.getImportedElement()); } else { toRemove.add(ei); } } - eis.removeAll(toRemove); // Should these also be deleted? + currentImports.removeAll(toRemove); // Should these also be deleted? Collection toAddEIs = new ArrayList(); - i = toAdd.iterator(); + Iterator i = toAdd.iterator(); while (i.hasNext()) { ModelElement me = (ModelElement) i.next(); toAddEIs.add(modelImpl.getModelManagementFactory() .buildElementImport(pack, me)); } - eis.addAll(toAddEIs); + currentImports.addAll(toAddEIs); return; } throw new IllegalArgumentException( ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2465966 To unsubscribe from this discussion, e-mail: [[email protected]].
