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 2013/12/18 13:23:06 UTC
[31/50] [abbrv] git commit: [KARAF-2272] Populate the bundle name in
the cluster
[KARAF-2272] Populate the bundle name in the cluster
git-svn-id: https://svn.apache.org/repos/asf/karaf/cellar/trunk@1484061 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/9020e910
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/9020e910
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/9020e910
Branch: refs/heads/master
Commit: 9020e91045960eaf673eb097c4becce4d360f975
Parents: 33ab36c
Author: jbonofre <jb...@13f79535-47bb-0310-9956-ffa450edef68>
Authored: Sat May 18 06:24:24 2013 +0000
Committer: jbonofre <jb...@13f79535-47bb-0310-9956-ffa450edef68>
Committed: Sat May 18 06:24:24 2013 +0000
----------------------------------------------------------------------
.../org/apache/karaf/cellar/bundle/BundleSynchronizer.java | 8 ++++++++
.../org/apache/karaf/cellar/bundle/LocalBundleListener.java | 5 +++++
.../karaf/cellar/bundle/shell/InstallBundleCommand.java | 3 +++
.../apache/karaf/cellar/bundle/shell/ListBundleCommand.java | 1 +
.../cellar/management/internal/CellarBundleMBeanImpl.java | 7 +++++++
.../cellar/management/internal/CellarFeaturesMBeanImpl.java | 1 +
6 files changed, 25 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/9020e910/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
----------------------------------------------------------------------
diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
index 4114ce5..100ebd3 100644
--- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
+++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleSynchronizer.java
@@ -143,6 +143,14 @@ public class BundleSynchronizer extends BundleSupport implements Synchronizer {
if (isAllowed(group, Constants.CATEGORY, bundleLocation, EventType.OUTBOUND)) {
BundleState bundleState = new BundleState();
+ // get the bundle name or location.
+ String name = (String) bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME);
+ // if there is no name, then default to symbolic name.
+ name = (name == null) ? bundle.getSymbolicName() : name;
+ // if there is no symbolic name, resort to location.
+ name = (name == null) ? bundle.getLocation() : name;
+ bundleState.setName(name);
+ bundleState.setName(bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME));
bundleState.setLocation(bundleLocation);
if (status == Bundle.ACTIVE)
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/9020e910/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
----------------------------------------------------------------------
diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
index cba2f83..ddbb6fb 100644
--- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
+++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
@@ -69,7 +69,12 @@ public class LocalBundleListener extends BundleSupport implements SynchronousBun
if (groups != null && !groups.isEmpty()) {
for (Group group : groups) {
+ // get the bundle name or location.
String name = (String) event.getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME);
+ // if there is no name, then default to symbolic name.
+ name = (name == null) ? event.getBundle().getSymbolicName() : name;
+ // if there is no symbolic name, resort to location.
+ name = (name == null) ? event.getBundle().getLocation() : name;
String symbolicName = event.getBundle().getSymbolicName();
String version = event.getBundle().getVersion().toString();
String bundleLocation = event.getBundle().getLocation();
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/9020e910/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
----------------------------------------------------------------------
diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
index 81ebc46..e6712fc 100644
--- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
+++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
@@ -80,6 +80,9 @@ public class InstallBundleCommand extends CellarCommandSupport {
if (name == null) {
name = symbolicName;
}
+ if (name == null) {
+ name = url;
+ }
String version = manifest.getMainAttributes().getValue("Bundle-Version");
jarInputStream.close();
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/9020e910/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
----------------------------------------------------------------------
diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
index eaf1ace..6af87ec 100644
--- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
+++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java
@@ -70,6 +70,7 @@ public class ListBundleCommand extends CellarCommandSupport {
version = "";
}
BundleState state = clusterBundles.get(bundle);
+
String status;
switch (state.getStatus()) {
case BundleEvent.INSTALLED:
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/9020e910/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java
----------------------------------------------------------------------
diff --git a/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java b/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java
index 1f88d06..e087146 100644
--- a/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java
+++ b/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java
@@ -106,6 +106,12 @@ public class CellarBundleMBeanImpl extends StandardMBean implements CellarBundle
JarInputStream jarInputStream = new JarInputStream(new URL(location).openStream());
Manifest manifest = jarInputStream.getManifest();
String name = manifest.getMainAttributes().getValue("Bundle-SymbolicName");
+ if (name == null) {
+ name = manifest.getMainAttributes().getValue("Bundle-SymbolicName");
+ }
+ if (name == null) {
+ name = location;
+ }
String version = manifest.getMainAttributes().getValue("Bundle-Version");
jarInputStream.close();
@@ -115,6 +121,7 @@ public class CellarBundleMBeanImpl extends StandardMBean implements CellarBundle
// update the cluster group
Map<String, BundleState> clusterBundles = clusterManager.getMap(Constants.BUNDLE_MAP + Configurations.SEPARATOR + groupName);
BundleState state = new BundleState();
+ state.setName(name);
state.setLocation(location);
state.setStatus(BundleEvent.INSTALLED);
clusterBundles.put(name + "/" + version, state);
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/9020e910/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
----------------------------------------------------------------------
diff --git a/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java b/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
index c5bfac3..b75c149 100644
--- a/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
+++ b/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
@@ -145,6 +145,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
// update the cluster group
clusterFeatures.put(feature, true);
try {
+ // TODO does it make sense ?
List<BundleInfo> bundles = featuresService.getFeature(feature.getName(), version).getBundles();
Map<String, BundleState> clusterBundles = clusterManager.getMap(org.apache.karaf.cellar.bundle.Constants.BUNDLE_MAP + Configurations.SEPARATOR + groupName);
for (BundleInfo bundle : bundles) {