Author: gnodet
Date: Wed Sep  9 18:10:14 2009
New Revision: 813062

URL: http://svn.apache.org/viewvc?rev=813062&view=rev
Log:
FELIX-1576: The features service should do a PackageAdmin.refresh() after 
uninstalling a feature

Modified:
    
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
    
felix/trunk/karaf/features/core/src/main/resources/OSGI-INF/blueprint/gshell-features.xml

Modified: 
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java?rev=813062&r1=813061&r2=813062&view=diff
==============================================================================
--- 
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
 (original)
+++ 
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
 Wed Sep  9 18:10:14 2009
@@ -54,6 +54,7 @@
 import org.osgi.service.prefs.BackingStoreException;
 import org.osgi.service.prefs.Preferences;
 import org.osgi.service.prefs.PreferencesService;
+import org.osgi.service.packageadmin.PackageAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -72,6 +73,7 @@
 
     private BundleContext bundleContext;
     private ConfigurationAdmin configAdmin;
+    private PackageAdmin packageAdmin;
     private PreferencesService preferences;
     private Set<URI> uris;
     private Map<URI, RepositoryImpl> repositories = new HashMap<URI, 
RepositoryImpl>();
@@ -97,6 +99,14 @@
         this.configAdmin = configAdmin;
     }
 
+    public PackageAdmin getPackageAdmin() {
+        return packageAdmin;
+    }
+
+    public void setPackageAdmin(PackageAdmin packageAdmin) {
+        this.packageAdmin = packageAdmin;
+    }
+
     public PreferencesService getPreferences() {
         return preferences;
     }
@@ -219,11 +229,11 @@
                 b.start();
             }
         }
-
         callListeners(new FeatureEvent(f, 
FeatureEvent.EventType.FeatureInstalled, false));
         installed.put(f, bundles);
         saveState();
     }
+
     protected Bundle installBundleIfNeeded(String bundleLocation) throws 
IOException, BundleException {
         LOGGER.debug("Checking " + bundleLocation);
         InputStream is;
@@ -306,6 +316,9 @@
                 b.uninstall();
             }
         }
+        if (getPackageAdmin() != null) {
+            getPackageAdmin().refreshPackages(null);
+        }
         callListeners(new FeatureEvent(feature, 
FeatureEvent.EventType.FeatureInstalled, false));
         saveState();
     }

Modified: 
felix/trunk/karaf/features/core/src/main/resources/OSGI-INF/blueprint/gshell-features.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/features/core/src/main/resources/OSGI-INF/blueprint/gshell-features.xml?rev=813062&r1=813061&r2=813062&view=diff
==============================================================================
--- 
felix/trunk/karaf/features/core/src/main/resources/OSGI-INF/blueprint/gshell-features.xml
 (original)
+++ 
felix/trunk/karaf/features/core/src/main/resources/OSGI-INF/blueprint/gshell-features.xml
 Wed Sep  9 18:10:14 2009
@@ -34,6 +34,7 @@
         <property name="urls" value="$[featuresRepositories]" />
         <property name="boot" value="$[featuresBoot]" />
         <property name="configAdmin" ref="configAdmin" />
+        <property name="packageAdmin" ref="packageAdmin" />
         <property name="preferences" ref="preferences" />
         <property name="bundleContext" ref="blueprintBundleContext" />
     </bean>
@@ -48,6 +49,8 @@
 
     <reference id="preferences" 
interface="org.osgi.service.prefs.PreferencesService" availability="optional"/>
 
+    <reference id="packageAdmin" 
interface="org.osgi.service.packageadmin.PackageAdmin" />
+
     <service ref="featuresService" 
interface="org.apache.felix.karaf.features.FeaturesService" />
 
 </blueprint>


Reply via email to