You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xbean-scm@geronimo.apache.org by ga...@apache.org on 2011/05/02 22:42:12 UTC
svn commit: r1098784 -
/geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleUtils.java
Author: gawor
Date: Mon May 2 20:42:11 2011
New Revision: 1098784
URL: http://svn.apache.org/viewvc?rev=1098784&view=rev
Log:
add utility function to unwrap a bundle
Modified:
geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleUtils.java
Modified: geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleUtils.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleUtils.java?rev=1098784&r1=1098783&r2=1098784&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleUtils.java (original)
+++ geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/BundleUtils.java Mon May 2 20:42:11 2011
@@ -105,7 +105,7 @@ public class BundleUtils {
*
* @param unwrap if true and if the bundle associated with the context classloader is a
* {@link DelegatingBundle}, this function will return the main application bundle
- * backing with the {@link DelegatingBundle}. Otherwise, the bundle associated with
+ * backing the {@link DelegatingBundle}. Otherwise, the bundle associated with
* the context classloader is returned as is. See {@link BundleClassLoader#getBundle(boolean)}
* for more information.
* @return The bundle associated with the current thread's context classloader. Might be null.
@@ -122,6 +122,18 @@ public class BundleUtils {
}
/**
+ * If the given bundle is a {@link DelegatingBundle} this function will return the main
+ * application bundle backing the {@link DelegatingBundle}. Otherwise, the bundle
+ * passed in is returned as is.
+ */
+ public static Bundle unwrapBundle(Bundle bundle) {
+ if (bundle instanceof DelegatingBundle) {
+ return ((DelegatingBundle) bundle).getMainBundle();
+ }
+ return bundle;
+ }
+
+ /**
* Works like {@link Bundle#getEntryPaths(String)} but also returns paths
* in attached fragment bundles.
*