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]].

Reply via email to