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:26:02 UTC

[32/39] brooklyn-server git commit: remove more of the legacy bom-scanning support

remove more of the legacy bom-scanning support


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

Branch: refs/heads/master
Commit: a9e770f3df019e30b8d7feaab7d54e435ea9e0ad
Parents: 5868124
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Mon Jul 17 11:26:26 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Mon Jul 17 11:26:26 2017 +0100

----------------------------------------------------------------------
 .../catalog/internal/CatalogBundleLoader.java   | 39 +++-----------------
 .../brooklyn/core/mgmt/ha/OsgiManager.java      | 33 +++--------------
 2 files changed, 11 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a9e770f3/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
index e55617a..339280e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogBundleLoader.java
@@ -31,7 +31,6 @@ import java.util.Map;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.typereg.ManagedBundle;
-import org.apache.brooklyn.api.typereg.OsgiBundleWithUrl;
 import org.apache.brooklyn.api.typereg.RegisteredType;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.core.typereg.RegisteredTypePredicates;
@@ -45,7 +44,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.Beta;
-import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 
 @Beta
@@ -54,30 +52,20 @@ public class CatalogBundleLoader {
     private static final Logger LOG = LoggerFactory.getLogger(CatalogBundleLoader.class);
     private static final String CATALOG_BOM_URL = "catalog.bom";
 
-    private Predicate<Bundle> applicationsPermitted;
     private ManagementContext managementContext;
 
-    public CatalogBundleLoader(Predicate<Bundle> applicationsPermitted, ManagementContext managementContext) {
-        this.applicationsPermitted = applicationsPermitted;
+    public CatalogBundleLoader(ManagementContext managementContext) {
         this.managementContext = managementContext;
     }
 
     public void scanForCatalog(Bundle bundle, boolean force, boolean validate) {
         scanForCatalogInternal(bundle, force, validate, false);
     }
-    
-    /**
-     * Scan the given bundle for a catalog.bom and adds it to the catalog.
-     *
-     * @param bundle The bundle to add
-     * @return A list of items added to the catalog
-     * @throws RuntimeException if the catalog items failed to be added to the catalog
-     */
-    public Iterable<? extends CatalogItem<?, ?>> scanForCatalogLegacy(Bundle bundle) {
-        return scanForCatalogLegacy(bundle, false);
-    }
-    
+
+    /** @deprecated since 0.12.0 */
+    @Deprecated // scans a bundle which is installed but Brooklyn isn't managing (will probably remove)
     public Iterable<? extends CatalogItem<?, ?>> scanForCatalogLegacy(Bundle bundle, boolean force) {
+        LOG.warn("Bundle "+bundle+" being loaded with deprecated legacy loader");
         return scanForCatalogInternal(bundle, force, true, true);
     }
     
@@ -119,26 +107,9 @@ public class CatalogBundleLoader {
             LOG.debug("No BOM found in {} {} {}", CatalogUtils.bundleIds(bundle));
         }
 
-        if (!applicationsPermitted.apply(bundle)) {
-            if (legacy) {
-                catalogItems = removeApplications(catalogItems);
-            } else {
-                removeApplications(mb);
-            }
-        }
-
         return catalogItems;
     }
 
-    private void removeApplications(ManagedBundle mb) {
-        for (RegisteredType t: managementContext.getTypeRegistry().getMatching(RegisteredTypePredicates.containingBundle(mb.getVersionedName()))) {
-            // TODO support templates, and remove them here
-//            if (t.getKind() == RegisteredTypeKind.TEMPLATE) {
-//                ((BasicBrooklynTypeRegistry) managementContext.getTypeRegistry()).delete(t);
-//            }
-        }
-    }
-
     /**
      * Remove the given items from the catalog.
      *

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a9e770f3/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiManager.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiManager.java
index 9d6587c..98c962e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiManager.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/OsgiManager.java
@@ -73,8 +73,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.Beta;
 import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
@@ -371,39 +369,20 @@ public class OsgiManager {
         }
     }
 
-    @Beta
-    // TODO this is designed to work if the FEATURE_LOAD_BUNDLE_CATALOG_BOM is disabled, the default, but unintuitive here
-    // it probably works even if that is true, but we should consider what to do;
-    // possibly remove that other capability, so that bundles with BOMs _have_ to be installed via this method.
-    // (load order gets confusing with auto-scanning...)
-    public List<? extends CatalogItem<?,?>> loadCatalogBomLegacy(Bundle bundle) {
-        return loadCatalogBomLegacy(bundle, false);
-    }
-    
-    @Beta  // as above
-    public List<? extends CatalogItem<?,?>> loadCatalogBomLegacy(Bundle bundle, boolean force) {
-        return MutableList.copyOf(loadCatalogBomInternal(mgmt, bundle, force, true, true));
-    }
-    
     // since 0.12.0 no longer returns items; it installs non-persisted RegisteredTypes to the type registry instead 
     @Beta
     public void loadCatalogBom(Bundle bundle, boolean force, boolean validate) {
-        loadCatalogBomInternal(mgmt, bundle, force, validate, false);
+        loadCatalogBomInternal(mgmt, bundle, force, validate);
     }
     
-    private static Iterable<? extends CatalogItem<?, ?>> loadCatalogBomInternal(ManagementContext mgmt, Bundle bundle, boolean force, boolean validate, boolean legacy) {
+    private static Iterable<? extends CatalogItem<?, ?>> loadCatalogBomInternal(ManagementContext mgmt, Bundle bundle, boolean force, boolean validate) {
         Iterable<? extends CatalogItem<?, ?>> catalogItems = MutableList.of();
 
         try {
-            final Predicate<Bundle> applicationsPermitted = Predicates.<Bundle>alwaysTrue();
-
-            CatalogBundleLoader cl = new CatalogBundleLoader(applicationsPermitted, mgmt);
-            if (legacy) {
-                catalogItems = cl.scanForCatalogLegacy(bundle, force);
-            } else {
-                cl.scanForCatalog(bundle, force, validate);
-                catalogItems = null;
-            }
+            CatalogBundleLoader cl = new CatalogBundleLoader(mgmt);
+            cl.scanForCatalog(bundle, force, validate);
+            catalogItems = null;
+            
         } catch (RuntimeException ex) {
             // TODO confirm -- as of May 2017 we no longer uninstall the bundle if install of catalog items fails;
             // caller needs to upgrade, or uninstall then reinstall