You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2012/09/20 18:58:30 UTC
svn commit: r1388114 - in
/karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core:
PackageRequirement.java PackageService.java PackagesMBean.java
internal/PackageServiceImpl.java internal/Packages.java
Author: cschneider
Date: Thu Sep 20 16:58:30 2012
New Revision: 1388114
URL: http://svn.apache.org/viewvc?rev=1388114&view=rev
Log:
KARAF-1838 Adding old package mbean methods for compatibility
Modified:
karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageRequirement.java
karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java
karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackagesMBean.java
karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/PackageServiceImpl.java
karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/Packages.java
Modified: karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageRequirement.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageRequirement.java?rev=1388114&r1=1388113&r2=1388114&view=diff
==============================================================================
--- karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageRequirement.java (original)
+++ karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageRequirement.java Thu Sep 20 16:58:30 2012
@@ -52,6 +52,10 @@ public class PackageRequirement {
}
public String getPackageName() {
+ return getPackageName(filter);
+ }
+
+ public static String getPackageName(String filter) {
Matcher matcher = packagePattern.matcher(filter);
matcher.matches();
return matcher.group(1);
Modified: karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java?rev=1388114&r1=1388113&r2=1388114&view=diff
==============================================================================
--- karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java (original)
+++ karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackageService.java Thu Sep 20 16:58:30 2012
@@ -16,12 +16,36 @@
*/
package org.apache.karaf.packages.core;
+import java.util.List;
import java.util.SortedMap;
public interface PackageService {
+ /**
+ * Gets the simplified package exports of a bundle. This does not show the
+ * package versions.
+ *
+ * @param bundleId
+ * @return
+ */
+ List<String> getExports(long bundleId);
+
+ List<String> getImports(long bundleId);
+
+ /**
+ * Gets a map of all exported packages with their version and the bundles that exprot them
+ * The key is in the form packagename:version.
+ *
+ * @return
+ */
SortedMap<String, PackageVersion> getExports();
+ /**
+ * Gets a map of all package imports.
+ * The key is the import filter.
+ *
+ * @return
+ */
SortedMap<String, PackageRequirement> getImports();
}
Modified: karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackagesMBean.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackagesMBean.java?rev=1388114&r1=1388113&r2=1388114&view=diff
==============================================================================
--- karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackagesMBean.java (original)
+++ karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/PackagesMBean.java Thu Sep 20 16:58:30 2012
@@ -16,6 +16,8 @@
*/
package org.apache.karaf.packages.core;
+import java.util.List;
+
import javax.management.openmbean.TabularData;
/**
@@ -25,5 +27,6 @@ public interface PackagesMBean {
TabularData getExports();
TabularData getImports();
-
+ List<String> getExports(long bundleId);
+ List<String> getImports(long bundleId);
}
Modified: karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/PackageServiceImpl.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/PackageServiceImpl.java?rev=1388114&r1=1388113&r2=1388114&view=diff
==============================================================================
--- karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/PackageServiceImpl.java (original)
+++ karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/PackageServiceImpl.java Thu Sep 20 16:58:30 2012
@@ -16,6 +16,7 @@
*/
package org.apache.karaf.packages.core.internal;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
@@ -63,6 +64,7 @@ public class PackageServiceImpl implemen
return packageVersionMap;
}
+ @Override
public SortedMap<String, PackageRequirement> getImports() {
Bundle[] bundles = bundleContext.getBundles();
SortedMap<String, PackageRequirement> filterMap = new TreeMap<String, PackageRequirement>();
@@ -100,4 +102,33 @@ public class PackageServiceImpl implemen
return false;
}
+ @Override
+ public List<String> getExports(long bundleId) {
+ Bundle bundle = bundleContext.getBundle(bundleId);
+ BundleRevision rev = bundle.adapt(BundleRevision.class);
+ List<BundleCapability> caps = rev.getDeclaredCapabilities(BundleRevision.PACKAGE_NAMESPACE);
+ List<String> exports = new ArrayList<String>();
+ for (BundleCapability cap : caps) {
+ Map<String, Object> attr = cap.getAttributes();
+ String packageName = (String)attr.get(BundleRevision.PACKAGE_NAMESPACE);
+ exports.add(packageName);
+ }
+ return exports ;
+ }
+
+ @Override
+ public List<String> getImports(long bundleId) {
+ Bundle bundle = bundleContext.getBundle(bundleId);
+ BundleRevision rev = bundle.adapt(BundleRevision.class);
+ List<BundleRequirement> reqs = rev.getDeclaredRequirements(BundleRevision.PACKAGE_NAMESPACE);
+ List<String> imports = new ArrayList<String>();
+ for (BundleRequirement req : reqs) {
+ Map<String, String> attr = req.getDirectives();
+ String filter = attr.get("filter");
+ String name = PackageRequirement.getPackageName(filter);
+ imports.add(name);
+ }
+ return imports;
+ }
+
}
Modified: karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/Packages.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/Packages.java?rev=1388114&r1=1388113&r2=1388114&view=diff
==============================================================================
--- karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/Packages.java (original)
+++ karaf/trunk/package/core/src/main/java/org/apache/karaf/packages/core/internal/Packages.java Thu Sep 20 16:58:30 2012
@@ -16,6 +16,7 @@
*/
package org.apache.karaf.packages.core.internal;
+import java.util.List;
import java.util.SortedMap;
import javax.management.NotCompliantMBeanException;
@@ -126,4 +127,15 @@ public class Packages extends StandardMB
}
}
+ @Override
+ public List<String> getExports(long bundleId) {
+ return packageService.getExports(bundleId);
+
+ }
+
+ @Override
+ public List<String> getImports(long bundleId) {
+ return packageService.getImports(bundleId);
+ }
+
}