Author: jbonofre
Date: Thu Oct 25 06:42:30 2012
New Revision: 1401987

URL: http://svn.apache.org/viewvc?rev=1401987&view=rev
Log:
[KARAF-1974] Fix bundle state in the distributed map

Modified:
    
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
    
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java

Modified: 
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
URL: 
http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java?rev=1401987&r1=1401986&r2=1401987&view=diff
==============================================================================
--- 
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
 (original)
+++ 
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
 Thu Oct 25 06:42:30 2012
@@ -67,13 +67,17 @@ public class LocalBundleListener extends
 
                         // update the cluster map
                         Map<String, BundleState> bundles = 
clusterManager.getMap(Constants.BUNDLE_MAP + Configurations.SEPARATOR + 
group.getName());
-                        BundleState state = bundles.get(symbolicName + "/" + 
version);
-                        if (state == null) {
-                            state = new BundleState();
+                        if (type == BundleEvent.UNINSTALLED) {
+                            bundles.remove(symbolicName + "/" + version);
+                        } else {
+                            BundleState state = bundles.get(symbolicName + "/" 
+ version);
+                            if (state == null) {
+                                state = new BundleState();
+                            }
+                            state.setStatus(type);
+                            state.setLocation(bundleLocation);
+                            bundles.put(symbolicName + "/" + version, state);
                         }
-                        state.setStatus(event.getBundle().getState());
-                        state.setLocation(event.getBundle().getLocation());
-                        bundles.put(symbolicName + "/" + version, state);
 
                         // broadcast the cluster event
                         RemoteBundleEvent remoteBundleEvent = new 
RemoteBundleEvent(symbolicName, version, bundleLocation, type);

Modified: 
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
URL: 
http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java?rev=1401987&r1=1401986&r2=1401987&view=diff
==============================================================================
--- 
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
 (original)
+++ 
karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
 Thu Oct 25 06:42:30 2012
@@ -67,13 +67,13 @@ public class ListBundleCommand extends C
                             status = "Resolved";
                             break;
                         case BundleEvent.STARTED:
-                            status = "Started";
+                            status = "Active";
                             break;
                         case BundleEvent.STARTING:
                             status = "Starting";
                             break;
                         case BundleEvent.STOPPED:
-                            status = "Stopped";
+                            status = "Resolved";
                             break;
                         case BundleEvent.STOPPING:
                             status = "Stopping";


Reply via email to