You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/04/27 17:17:39 UTC

svn commit: r1331465 - in /karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell: StartBundleCommand.java StopBundleCommand.java UninstallBundleCommand.java

Author: jbonofre
Date: Fri Apr 27 15:17:39 2012
New Revision: 1331465

URL: http://svn.apache.org/viewvc?rev=1331465&view=rev
Log:
[KARAF-1419] Populate bundle location in cluster:bundle-* commands in order to avoid a NPE in the BundleEventHandler

Modified:
    karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java
    karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java
    karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java

Modified: karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java?rev=1331465&r1=1331464&r2=1331465&view=diff
==============================================================================
--- karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java (original)
+++ karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java Fri Apr 27 15:17:39 2012
@@ -48,6 +48,7 @@ public class StartBundleCommand extends 
         // update the distributed map
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+        String location;
         try {
             Map<String, BundleState> bundles = clusterManager.getMap(Constants.BUNDLE_MAP + Configurations.SEPARATOR + groupName);
             BundleState state = bundles.get(name + "/" + version);
@@ -56,6 +57,7 @@ public class StartBundleCommand extends 
                 return null;
             }
             state.setStatus(BundleEvent.STARTED);
+            location = state.getLocation();
             bundles.put(name + "/" + version, state);
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
@@ -63,7 +65,7 @@ public class StartBundleCommand extends 
 
         // broadcast the event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
-        RemoteBundleEvent event = new RemoteBundleEvent(name, version, null, BundleEvent.STARTED);
+        RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.STARTED);
         event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);

Modified: karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java?rev=1331465&r1=1331464&r2=1331465&view=diff
==============================================================================
--- karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java (original)
+++ karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java Fri Apr 27 15:17:39 2012
@@ -48,6 +48,7 @@ public class StopBundleCommand extends C
         // update the cluster map
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+        String location;
         try {
             Map<String, BundleState> bundles = clusterManager.getMap(Constants.BUNDLE_MAP + Configurations.SEPARATOR + groupName);
             BundleState state = bundles.get(name + "/" + version);
@@ -56,6 +57,7 @@ public class StopBundleCommand extends C
                 return null;
             }
             state.setStatus(BundleEvent.STOPPED);
+            location = state.getLocation();
             bundles.put(name + "/" + version, state);
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
@@ -63,7 +65,7 @@ public class StopBundleCommand extends C
 
         // broadcast the event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
-        RemoteBundleEvent event = new RemoteBundleEvent(name, version, null, BundleEvent.STOPPED);
+        RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.STOPPED);
         event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);

Modified: karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java?rev=1331465&r1=1331464&r2=1331465&view=diff
==============================================================================
--- karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java (original)
+++ karaf/cellar/trunk/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java Fri Apr 27 15:17:39 2012
@@ -48,6 +48,7 @@ public class UninstallBundleCommand exte
         // update the cluster map
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+        String location;
         try {
             Map<String, BundleState> bundles = clusterManager.getMap(Constants.BUNDLE_MAP + Configurations.SEPARATOR + groupName);
             BundleState state = bundles.get(name + "/" + version);
@@ -55,6 +56,7 @@ public class UninstallBundleCommand exte
                 System.err.println("Bundle " + name + "/" + version + " not found in cluster group " + groupName);
                 return null;
             }
+            location = state.getLocation();
             bundles.remove(name + "/" + version);
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
@@ -62,7 +64,7 @@ public class UninstallBundleCommand exte
 
         // broadcast the event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
-        RemoteBundleEvent event = new RemoteBundleEvent(name, version, null, BundleEvent.UNINSTALLED);
+        RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.UNINSTALLED);
         event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);