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);