You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/11/25 02:55:20 UTC

[10/21] incubator-brooklyn git commit: [BROOKLYN-183] Fix detection of OSGi framework

[BROOKLYN-183] Fix detection of OSGi framework

Fix the code detecting if we are running within an OSGi framework.


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/ed6f1df1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/ed6f1df1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/ed6f1df1

Branch: refs/heads/master
Commit: ed6f1df199c268fdf2811abd15a3de967840b1ee
Parents: c61f719
Author: Ciprian Ciubotariu <ch...@gmx.net>
Authored: Thu Nov 19 12:27:39 2015 +0200
Committer: Ciprian Ciubotariu <ch...@gmx.net>
Committed: Thu Nov 19 12:27:39 2015 +0200

----------------------------------------------------------------------
 .../apache/brooklyn/util/core/osgi/Osgis.java   | 22 +++++++++-----------
 1 file changed, 10 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ed6f1df1/core/src/main/java/org/apache/brooklyn/util/core/osgi/Osgis.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/osgi/Osgis.java b/core/src/main/java/org/apache/brooklyn/util/core/osgi/Osgis.java
index be24dc1..8777032 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/osgi/Osgis.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/osgi/Osgis.java
@@ -318,12 +318,10 @@ public class Osgis {
      * @todo Use felixCacheDir ?
      */
     public static Framework getFramework(String felixCacheDir, boolean clean) {
-        final Bundle frameworkBundle = FrameworkUtil.getBundle(Framework.class);
-        if (frameworkBundle != null) {
+        final Bundle bundle = FrameworkUtil.getBundle(Osgis.class);
+        if (bundle != null) {
             // already running inside an OSGi container
-            final BundleContext ctx = frameworkBundle.getBundleContext();
-            final ServiceReference<?> ref = ctx.getServiceReference(Framework.class);
-            return (Framework) ctx.getService(ref);
+            return (Framework) bundle.getBundleContext().getBundle(0);
         } else {
             // not running inside OSGi container
             return EmbeddedFelixFramework.newFrameworkStarted(felixCacheDir, clean, null);
@@ -338,12 +336,12 @@ public class Osgis {
      * @param framework
      */
     public static void ungetFramework(Framework framework) {
-        final Bundle frameworkBundle = FrameworkUtil.getBundle(Framework.class);
-        if (frameworkBundle != null) {
-            // already running inside an OSGi container
-            final BundleContext ctx = frameworkBundle.getBundleContext();
-            final ServiceReference<?> ref = ctx.getServiceReference(Framework.class);
-            ctx.ungetService(ref);
+        final Bundle bundle = FrameworkUtil.getBundle(Osgis.class);
+        if (bundle != null) {
+//            // already running inside an OSGi container
+//            final BundleContext ctx = bundle.getBundleContext();
+//            final ServiceReference<Framework> ref = ctx.getServiceReference(Framework.class);
+//            ctx.ungetService(ref);
         } else {
             EmbeddedFelixFramework.stopFramework(framework);
         }
@@ -352,7 +350,7 @@ public class Osgis {
 
     /** Tells if Brooklyn is running in an OSGi environment or not. */
     public static boolean isBrooklynInsideFramework() {
-        return FrameworkUtil.getBundle(Framework.class) != null;
+        return FrameworkUtil.getBundle(Osgis.class) != null;
     }
 
     /** @deprecated since 0.9.0, replaced with {@link OsgiUtils#getVersionedId(org.osgi.framework.Bundle) } */