svn commit: r18177 - trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
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]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.