This is an automated email from the ASF dual-hosted git repository. aledsage pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit cdb298faafada153bcd1e81f1a65b983d0752611 Author: Paul Campbell <pcampb...@kemitix.net> AuthorDate: Wed Oct 24 11:48:39 2018 +0100 Limit violation of the law of demeter Push out drilling into the orgimanager,framework.bundlecontext.bundles to callers. --- .../core/catalog/internal/CatalogInitialization.java | 10 +++++++--- .../core/catalog/internal/CatalogUpgradeScanner.java | 13 +++++++------ 2 files changed, 14 insertions(+), 9 deletions(-) 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 fe57f41..29a9601 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 @@ -68,6 +68,7 @@ import org.apache.brooklyn.util.os.Os; import org.apache.brooklyn.util.osgi.VersionedName; import org.apache.brooklyn.util.text.Strings; import org.apache.brooklyn.util.time.Duration; +import org.osgi.framework.BundleContext; import org.osgi.framework.BundleException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -256,12 +257,15 @@ public class CatalogInitialization implements ManagementContextInjectable { populateInitialCatalogImpl(true); - final Maybe<OsgiManager> osgiManager = managementContext.getOsgiManager(); - if (osgiManager.isAbsent()) { + final Maybe<OsgiManager> maybesOsgiManager = managementContext.getOsgiManager(); + if (maybesOsgiManager.isAbsent()) { // Can't find any bundles to tell if there are upgrades. Could be running tests; do no filtering. CatalogUpgrades.storeInManagementContext(CatalogUpgrades.EMPTY, managementContext); } else { - final CatalogUpgrades catalogUpgrades = catalogUpgradeScanner.scan(osgiManager.get(), rebindLogger); + final OsgiManager osgiManager = maybesOsgiManager.get(); + final BundleContext bundleContext = osgiManager.getFramework().getBundleContext(); + final CatalogUpgrades catalogUpgrades = + catalogUpgradeScanner.scan(osgiManager, bundleContext, rebindLogger); CatalogUpgrades.storeInManagementContext(catalogUpgrades, managementContext); } PersistedCatalogState filteredPersistedState = filterBundlesAndCatalogInPersistedState(persistedState, rebindLogger); diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUpgradeScanner.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUpgradeScanner.java index b48bbf8..efe902d 100644 --- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUpgradeScanner.java +++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogUpgradeScanner.java @@ -25,9 +25,9 @@ import org.apache.brooklyn.api.typereg.RegisteredType; import org.apache.brooklyn.core.mgmt.ha.OsgiManager; import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal; import org.apache.brooklyn.core.typereg.BundleUpgradeParser.CatalogUpgrades; -import org.apache.brooklyn.core.typereg.RegisteredTypePredicates; import org.apache.brooklyn.util.guava.Maybe; import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; import java.util.Collection; import java.util.function.BiFunction; @@ -57,11 +57,12 @@ class CatalogUpgradeScanner { public CatalogUpgrades scan( final OsgiManager osgiManager, + final BundleContext bundleContext, final CatalogInitialization.RebindLogger rebindLogger ) { final CatalogUpgrades.Builder catalogUpgradesBuilder = CatalogUpgrades.builder(); scanManagedBundles(osgiManager, catalogUpgradesBuilder, rebindLogger); - scanAllBundles(osgiManager, catalogUpgradesBuilder); + scanUnmanagedBundles(catalogUpgradesBuilder, bundleContext); return catalogUpgradesBuilder.build(); } @@ -83,11 +84,11 @@ class CatalogUpgradeScanner { } } - private void scanAllBundles( - final OsgiManager osgiManager, - final CatalogUpgrades.Builder catalogUpgradesBuilder + private void scanUnmanagedBundles( + final CatalogUpgrades.Builder catalogUpgradesBuilder, + final BundleContext bundleContext ) { - for (Bundle bundle : osgiManager.getFramework().getBundleContext().getBundles()) { + for (Bundle bundle : bundleContext.getBundles()) { final CatalogUpgrades catalogUpgrades = bundleUpgradeParser.apply(bundle, typeSupplier(bundle)); catalogUpgradesBuilder.addAll(catalogUpgrades); }