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