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


Reply via email to