You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/07/19 16:25:37 UTC
[07/39] brooklyn-server git commit: comments on BOM scanning
comments on BOM scanning
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/e32d74d1
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/e32d74d1
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/e32d74d1
Branch: refs/heads/master
Commit: e32d74d15359152c9b1900db2ee0a7958b15c29b
Parents: 8385f13
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Jun 28 09:28:13 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Jun 28 09:28:13 2017 +0100
----------------------------------------------------------------------
.../catalog/internal/CatalogBomScanner.java | 28 ++++++++++++--------
1 file changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/e32d74d1/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBomScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBomScanner.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBomScanner.java
index 1f528c8..90efaa2 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBomScanner.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBomScanner.java
@@ -35,8 +35,13 @@ import com.google.common.annotations.Beta;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
-/** Scans bundles being added, filtered by a whitelist and blacklist, and adds catalog.bom files to the catalog.
+/** Scans bundles being added to add their catalog.bom to Brooklyn,
+ * filtering which bundles are allowed add _applications_ through a whitelist and blacklist.
+ * (All bundles are allowed to add other types.)
* See karaf blueprint.xml for configuration, and tests in dist project. */
+// TODO AH: i wonder if we can remove this or generalize it; disallowing just app/templates seems a little weird
+// (makes sense as those appear more prominently in some displays, but feels like there'd be a better way
+// to customize; intercepting at this particular point is surprising)
@Beta
public class CatalogBomScanner {
@@ -44,8 +49,9 @@ public class CatalogBomScanner {
private static final Logger LOG = LoggerFactory.getLogger(CatalogBomScanner.class);
- private List<String> whiteList = ImmutableList.of(ACCEPT_ALL_BY_DEFAULT);
- private List<String> blackList = ImmutableList.of();
+ // configured by `brooklyn.catalog.osgi.application.{white,black}list`
+ private List<String> bundlesAllowedToAddAppsWhitelist = ImmutableList.of(ACCEPT_ALL_BY_DEFAULT);
+ private List<String> bundlesAllowedToAddAppsBlacklist = ImmutableList.of();
private CatalogBundleTracker catalogBundleTracker;
@@ -57,7 +63,7 @@ public class CatalogBomScanner {
final BundleContext bundleContext = mgmtContextReference.getBundle().getBundleContext();
ManagementContext mgmt = bundleContext.getService(mgmtContextReference);
- CatalogBundleLoader bundleLoader = new CatalogBundleLoader(new SymbolicNameAccessControl(), mgmt);
+ CatalogBundleLoader bundleLoader = new CatalogBundleLoader(new BundlesAllowedToAddAddsFilter(), mgmt);
catalogBundleTracker = new CatalogBundleTracker(bundleContext, bundleLoader);
catalogBundleTracker.open();
@@ -81,32 +87,32 @@ public class CatalogBomScanner {
}
public List<String> getWhiteList() {
- return whiteList;
+ return bundlesAllowedToAddAppsWhitelist;
}
public void setWhiteList(List<String> whiteList) {
- this.whiteList = whiteList;
+ this.bundlesAllowedToAddAppsWhitelist = whiteList;
}
public void setWhiteList(String whiteListText) {
LOG.debug("Setting whiteList to ", whiteListText);
- this.whiteList = Strings.parseCsv(whiteListText);
+ this.bundlesAllowedToAddAppsWhitelist = Strings.parseCsv(whiteListText);
}
public List<String> getBlackList() {
- return blackList;
+ return bundlesAllowedToAddAppsBlacklist;
}
public void setBlackList(List<String> blackList) {
- this.blackList = blackList;
+ this.bundlesAllowedToAddAppsBlacklist = blackList;
}
public void setBlackList(String blackListText) {
LOG.debug("Setting blackList to ", blackListText);
- this.blackList = Strings.parseCsv(blackListText);
+ this.bundlesAllowedToAddAppsBlacklist = Strings.parseCsv(blackListText);
}
- public class SymbolicNameAccessControl implements Predicate<Bundle> {
+ public class BundlesAllowedToAddAddsFilter implements Predicate<Bundle> {
@Override
public boolean apply(@Nullable Bundle input) {
return passesWhiteAndBlacklists(input);