You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by tj...@apache.org on 2014/07/24 15:45:09 UTC
svn commit: r1613124 -
/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/SubsystemResourceUninstaller.java
Author: tjwatson
Date: Thu Jul 24 13:45:09 2014
New Revision: 1613124
URL: http://svn.apache.org/r1613124
Log:
ARIES-1228 - subsytem install fails OSGI CT test on Java 8
Modified:
aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/SubsystemResourceUninstaller.java
Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/SubsystemResourceUninstaller.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/SubsystemResourceUninstaller.java?rev=1613124&r1=1613123&r2=1613124&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/SubsystemResourceUninstaller.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/SubsystemResourceUninstaller.java Thu Jul 24 13:45:09 2014
@@ -66,10 +66,16 @@ public class SubsystemResourceUninstalle
private void removeReferences() {
if (!isExplicit()) {
removeReference();
- return;
}
- for (Subsystem subsystem : ((BasicSubsystem)resource).getParents())
- removeReference((BasicSubsystem)subsystem, (BasicSubsystem)resource);
+ else {
+ for (Subsystem subsystem : ((BasicSubsystem)resource).getParents())
+ removeReference((BasicSubsystem)subsystem, (BasicSubsystem)resource);
+ Subsystems subsystems = Activator.getInstance().getSubsystems();
+ // for explicit uninstall remove all references to subsystem.
+ for (BasicSubsystem s : subsystems.getSubsystemsReferencing(resource)) {
+ removeReference(s, resource);
+ }
+ }
}
private void removeSubsystem() {