svn commit: r18718 - trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2010-09-01 00:44:25-0700
New Revision: 18718
Modified:
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Log:
Allow ElementResidence to be removed from a component
Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java?view=diff&pathrev=18718&r1=18717&r2=18718
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java (original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java 2010-09-01 00:44:25-0700
@@ -1716,21 +1716,24 @@
@Override
protected void doIt(Collection selected) {
- ArrayList toRemove = new ArrayList();
Collection current = Model.getFacade().getResidentElements(getTarget());
- for (Iterator it = current.iterator(); it.hasNext(); ) {
- toRemove.add(Model.getFacade().getResident(it.next()));
- }
+
+ ArrayList toRemove = new ArrayList(current);
toRemove.removeAll(selected);
selected.removeAll(current);
for (Iterator it = toRemove.iterator(); it.hasNext(); ) {
- Model.getCoreHelper().removeElementResidence(getTarget(), it.next());
+ Object elementResidenceToDelete = it.next();
+ Model.getCoreHelper().removeElementResidence(getTarget(), elementResidenceToDelete);
+ Model.getUmlFactory().delete(elementResidenceToDelete);
}
for (Iterator it = selected.iterator(); it.hasNext(); ) {
- Model.getCoreFactory().buildElementResidence(
- it.next(), getTarget());
+ final Object element = it.next();
+ if (!Model.getFacade().isAElementResidence(element)) {
+ Model.getCoreFactory().buildElementResidence(
+ element, getTarget());
+ }
}
}
}
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2653990
To unsubscribe from this discussion, e-mail: [[email protected]].