Github user ahgittin commented on a diff in the pull request:

    https://github.com/apache/brooklyn-server/pull/866#discussion_r146492023
  
    --- Diff: 
core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
 ---
    @@ -528,8 +528,60 @@ private void startBundle(OsgiBundleInstallationResult 
br) throws BundleException
             }
         }
     
    +    private PersistedCatalogState 
filterPersistedState(PersistedCatalogState persistedState, RebindLogger 
rebindLogger) {
    +        CatalogUpgrades catalogUpgrades = 
findCatalogUpgrades(rebindLogger);
    +        
    +        if (catalogUpgrades.isEmpty()) {
    +            return persistedState;
    +        } else {
    +            rebindLogger.info("Filtering out persisted catalog: 
removedBundles="+catalogUpgrades.getRemovedBundles()+"; 
removedLegacyItems="+catalogUpgrades.getRemovedLegacyItems());
    +        }
    +        
    +        Map<VersionedName, InstallableManagedBundle> bundles = new 
LinkedHashMap<>();
    +        for (Map.Entry<VersionedName, InstallableManagedBundle> entry : 
persistedState.getBundles().entrySet()) {
    +            if (catalogUpgrades.isBundleRemoved(entry.getKey())) {
    +                rebindLogger.debug("Filtering out persisted bundle 
"+entry.getKey());
    +            } else {
    +                bundles.put(entry.getKey(), entry.getValue());
    +            }
    +        }
    +
    +        List<CatalogItem<?, ?>> legacyCatalogItems = new ArrayList<>();
    +        for (CatalogItem<?, ?> legacyCatalogItem : 
persistedState.getLegacyCatalogItems()) {
    +            if (catalogUpgrades.isLegacyItemRemoved(legacyCatalogItem)) {
    +                rebindLogger.debug("Filtering out persisted legacy catalog 
item "+legacyCatalogItem.getId());
    +            } else {
    +                legacyCatalogItems.add(legacyCatalogItem);
    +            }
    +        }
    +        
    +        return new PersistedCatalogState(bundles, legacyCatalogItems);
    +    }
    +
    +    private CatalogUpgrades findCatalogUpgrades(RebindLogger rebindLogger) 
{
    --- End diff --
    
    rename as `collectCatalogUpgradeInstructions` ?


---

Reply via email to