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 <[email protected]> Authored: Wed Sep 14 14:44:14 2016 +0100 Committer: Geoff Macartney <[email protected]> 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; + } }
