svn commit: r15404 - trunk/src/argouml-app/src/org/argouml: kernel profile/internal
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: tfmorris
Date: 2008-07-29 10:33:06-0700
New Revision: 15404
Modified:
trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
Log:
Issue 5255: Introduce deleteExtent method and use it when removing projects and profiles
Modified: trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java?view=diff&rev=15404&p1=trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java&p2=trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java&r1=15403&r2=15404
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java (original)
+++ trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java 2008-07-29 10:33:06-0700
@@ -1067,14 +1067,7 @@
}
members.clear();
-
- for (Object model : roots) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Deleting root element "
- + Model.getFacade().getName(model));
- }
- Model.getUmlFactory().delete(model);
- }
+ Model.getUmlFactory().deleteExtent(roots.iterator().next());
roots.clear();
models.clear();
diagrams.clear();
Modified: trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java?view=diff&rev=15404&p1=trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java&p2=trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java&r1=15403&r2=15404
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java (original)
+++ trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java 2008-07-29 10:33:06-0700
@@ -26,6 +26,7 @@
import java.io.File;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;
@@ -212,6 +213,15 @@
profiles.remove(p);
defaultProfiles.remove(p);
}
+ try {
+ Collection packages = p.getProfilePackages();
+ if (packages != null && !packages.isEmpty()) {
+ // We assume profile is contained in a single extent
+ Model.getUmlFactory().deleteExtent(packages.iterator().next());
+ }
+ } catch (ProfileException e) {
+ // Nothing to delete if we couldn't get the packages
+ }
}