brooklyn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From henev...@apache.org
Subject [11/39] brooklyn-server git commit: Fix testRebindWithCatalogAndApp with mode == DELETE_CATALOG.
Date Fri, 21 Apr 2017 22:55:30 GMT
Fix testRebindWithCatalogAndApp with mode == DELETE_CATALOG.


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

Branch: refs/heads/master
Commit: 0bb7eb4a6b1a9603c25fe97aab91110bf556d1c6
Parents: d26e705
Author: Geoff Macartney <geoff.macartney@cloudsoftcorp.com>
Authored: Thu Sep 29 18:06:15 2016 +0100
Committer: Geoff Macartney <geoff.macartney@cloudsoftcorp.com>
Committed: Thu Apr 20 11:20:35 2017 +0100

----------------------------------------------------------------------
 .../brooklyn/core/mgmt/rebind/RebindIteration.java   | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/0bb7eb4a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
index 0054a19..dc47c2d 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
 import org.apache.brooklyn.api.catalog.BrooklynCatalog;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.Application;
@@ -843,8 +844,9 @@ public abstract class RebindIteration {
 
             //As a last resort go through all catalog items trying to load the type and use
the first that succeeds.
             //But first check if can be loaded from the default classpath
-            if (JavaBrooklynClassLoadingContext.create(managementContext).tryLoadClass(entityManifest.getType()).isPresent())
-                return null;
+            if (JavaBrooklynClassLoadingContext.create(managementContext).tryLoadClass(entityManifest.getType()).isPresent())
{
+                return ImmutableList.of();
+            }
 
             // TODO get to the point when we can deprecate this behaviour!:
             for (RegisteredType item : types.getAll()) {
@@ -946,24 +948,25 @@ public abstract class RebindIteration {
             List<String> idsFromReboundCatalog = MutableList.of();
             if (catalogItemIds != null && !catalogItemIds.isEmpty()) {
                 findCatalogIdsInReboundCatalog(bType, catalogItemIds, contextSuchAsId, idsFromReboundCatalog);
-                if (!idsFromReboundCatalog.isEmpty()) {
+                if (idsFromReboundCatalog.size() == catalogItemIds.size()) {
                     BrooklynClassLoadingContext loader = CatalogUtils.newClassLoadingContextForCatalogItems(managementContext,
idsFromReboundCatalog);
                     return new LoadedClass<T>(loader.loadClass(jType, bType), catalogItemIds);
                 } else {
-                    LOG.warn("Unable to load catalog items "+ catalogItemIds +" for "+contextSuchAsId
+                    LOG.warn("Unable to load all catalog items "+ Iterables.toString(catalogItemIds)
+" for "+contextSuchAsId
                             +" ("+bType.getSimpleName()+"); will try default class loader");
                 }
             }
             
             try {
-                return new LoadedClass<T>((Class<T>)loadClass(jType), idsFromReboundCatalog);
+                return new LoadedClass<T>((Class<T>)loadClass(jType), catalogItemIds);
             } catch (Exception e) {
                 Exceptions.propagateIfFatal(e);
                 LOG.warn("Unable to load "+jType+" using reflections; will try standard context");
             }
 
             if (catalogItemIds != null && !catalogItemIds.isEmpty()) {
-                throw new IllegalStateException("Unable to load catalog item "+ catalogItemIds
+" for "+contextSuchAsId+", or load class from classpath");
+                throw new IllegalStateException("Unable to load catalog items " + Iterables.toString(catalogItemIds)
+                    + " for "+contextSuchAsId+", or load class from classpath");
             } else if (BrooklynFeatureEnablement.isEnabled(BrooklynFeatureEnablement.FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND))
{
                 //Try loading from whichever catalog bundle succeeds.
                 BrooklynCatalog catalog = managementContext.getCatalog();


Mime
View raw message