You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2019/01/16 16:40:36 UTC
[brooklyn-server] 24/31: Limit violation of the law of demeter
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 <pc...@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);
}