You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2017/04/21 22:55:25 UTC

[06/39] brooklyn-server git commit: Osgi loader change

Osgi loader change


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

Branch: refs/heads/master
Commit: 5d0fe63cec36a8f478b4e666e0cb769462232fe5
Parents: eb4992e
Author: Geoff Macartney <ge...@cloudsoftcorp.com>
Authored: Wed Sep 14 14:44:14 2016 +0100
Committer: Geoff Macartney <ge...@cloudsoftcorp.com>
Committed: Thu Apr 20 11:18:42 2017 +0100

----------------------------------------------------------------------
 .../apache/brooklyn/core/catalog/internal/CatalogUtils.java  | 8 ++++++++
 .../classloading/BrooklynClassLoadingContextSequential.java  | 7 +++++--
 2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/5d0fe63c/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
index 8306b71..8b7555b 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUtils.java
@@ -19,6 +19,7 @@
 package org.apache.brooklyn.core.catalog.internal;
 
 import java.util.Collection;
+import java.util.Iterator;
 
 import javax.annotation.Nullable;
 
@@ -171,6 +172,13 @@ public class CatalogUtils {
     public static String getCatalogItemIdFromLoader(BrooklynClassLoadingContext loader) {
         if (loader instanceof OsgiBrooklynClassLoadingContext) {
             return ((OsgiBrooklynClassLoadingContext)loader).getCatalogItemId();
+        } else if (loader instanceof BrooklynClassLoadingContextSequential) {
+            final Iterator<BrooklynClassLoadingContext> iterator = ((BrooklynClassLoadingContextSequential) loader).getPrimaries().iterator();
+            if (iterator.hasNext()) {
+                BrooklynClassLoadingContext osgiLoader = iterator.next();
+                return getCatalogItemIdFromLoader(osgiLoader);
+            }
+            else return null;
         } else {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/5d0fe63c/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/BrooklynClassLoadingContextSequential.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/BrooklynClassLoadingContextSequential.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/BrooklynClassLoadingContextSequential.java
index 989cacc..ee55ae9 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/BrooklynClassLoadingContextSequential.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/classloading/BrooklynClassLoadingContextSequential.java
@@ -38,7 +38,7 @@ import com.google.common.collect.Lists;
 public final class BrooklynClassLoadingContextSequential extends AbstractBrooklynClassLoadingContext {
 
     private static final Logger log = LoggerFactory.getLogger(BrooklynClassLoadingContextSequential.class);
-    
+
     private final List<BrooklynClassLoadingContext> primaries = MutableList.<BrooklynClassLoadingContext>of();
     // secondaries used to put java classloader last
     private final Set<BrooklynClassLoadingContext> secondaries = MutableSet.<BrooklynClassLoadingContext>of();
@@ -132,5 +132,8 @@ public final class BrooklynClassLoadingContextSequential extends AbstractBrookly
         if (!Objects.equal(secondaries, ((BrooklynClassLoadingContextSequential)obj).secondaries)) return false;
         return true;
     }
-    
+
+    public List<BrooklynClassLoadingContext> getPrimaries() {
+        return primaries;
+    }
 }