change RTypeSupplier to take filter

makes it more general. also stores mgmt not TR as mgmt has smarts around 
persistence whereas TR doesnt
(just in case this is ever persisted, it shouldn't be but passing mgmt is the 
standard way;
alternative would be to pass TR in constructor and make it a TR filtered view;
passing mgmt then converting to TR seems weird middle ground)


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

Branch: refs/heads/master
Commit: d5b4b576fd546c8b7573678fc7a9775d8bfb5b3d
Parents: b05b819
Author: Alex Heneveld <[email protected]>
Authored: Fri Oct 27 11:14:03 2017 +0100
Committer: Alex Heneveld <[email protected]>
Committed: Fri Oct 27 11:57:28 2017 +0100

----------------------------------------------------------------------
 .../catalog/internal/CatalogInitialization.java     | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d5b4b576/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
index 225e3fd..f2a1f47 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
@@ -39,7 +39,6 @@ import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.mgmt.ha.ManagementNodeState;
 import org.apache.brooklyn.api.mgmt.rebind.RebindExceptionHandler;
 import org.apache.brooklyn.api.objs.BrooklynObjectType;
-import org.apache.brooklyn.api.typereg.BrooklynTypeRegistry;
 import org.apache.brooklyn.api.typereg.BrooklynTypeRegistry.RegisteredTypeKind;
 import org.apache.brooklyn.api.typereg.ManagedBundle;
 import org.apache.brooklyn.api.typereg.RegisteredType;
@@ -75,6 +74,7 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.Beta;
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Predicate;
 import com.google.common.base.Stopwatch;
 import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableList;
@@ -580,7 +580,7 @@ public class CatalogInitialization implements 
ManagementContextInjectable {
             if (bundle.isPresent()) {
                 CatalogUpgrades catalogUpgrades = 
BundleUpgradeParser.parseBundleManifestForCatalogUpgrades(
                         bundle.get(),
-                        new RegisteredTypesSupplier(managementContext, 
managedBundle));
+                        new RegisteredTypesSupplier(managementContext, 
RegisteredTypePredicates.containingBundle(managedBundle)));
                 catalogUpgradesBuilder.addAll(catalogUpgrades);
             } else {
                 rebindLogger.info("Managed bundle "+managedBundle.getId()+" 
not found by OSGi Manager; "
@@ -591,16 +591,16 @@ public class CatalogInitialization implements 
ManagementContextInjectable {
     }
 
     private static class RegisteredTypesSupplier implements 
Supplier<Iterable<RegisteredType>> {
-        private final BrooklynTypeRegistry typeRegistry;
-        private final ManagedBundle bundle;
+        private final ManagementContext mgmt;
+        private final Predicate<? super RegisteredType> filter;
         
-        RegisteredTypesSupplier(ManagementContext mgmt, ManagedBundle bundle) {
-            this.typeRegistry = mgmt.getTypeRegistry();
-            this.bundle = bundle;
+        RegisteredTypesSupplier(ManagementContext mgmt, Predicate<? super 
RegisteredType> predicate) {
+            this.mgmt = mgmt;
+            this.filter = predicate;
         }
         @Override
         public Iterable<RegisteredType> get() {
-            return 
typeRegistry.getMatching(RegisteredTypePredicates.containingBundle(bundle));
+            return mgmt.getTypeRegistry().getMatching(filter);
         }
     }
 

Reply via email to