This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git


The following commit(s) were added to refs/heads/master by this push:
     new 60c91f8  more error message improvement when parsing plans
60c91f8 is described below

commit 60c91f837112118d00574dffd35629134b9c7782
Author: Alex Heneveld <[email protected]>
AuthorDate: Tue Jan 5 09:25:49 2021 +0000

    more error message improvement when parsing plans
---
 .../brooklyn/core/catalog/internal/BasicBrooklynCatalog.java      | 8 +++++---
 .../brooklyn/core/catalog/internal/CatalogBundleLoader.java       | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
index 97bd6bc..bb62920 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
@@ -952,7 +952,9 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
             
             BasicTypeImplementationPlan plan = new 
BasicTypeImplementationPlan(format, sourcePlanYaml);
             BasicRegisteredType type = (BasicRegisteredType) 
RegisteredTypes.newInstance(
-                RegisteredTypeKind.UNRESOLVED,
+                    
BrooklynObjectType.of(planInterpreter.catalogItemType).getSpecType()!=null ? 
RegisteredTypeKind.SPEC
+                            : 
planInterpreter.catalogItemType==CatalogItemType.BEAN ? RegisteredTypeKind.BEAN
+                            : RegisteredTypeKind.UNRESOLVED,
                 symbolicName, version, plan,
                 superTypes, aliases, tags, containingBundle==null ? null : 
containingBundle.getVersionedName().toString(), 
                 MutableList.<OsgiBundleWithUrl>copyOf(libraryBundles), 
@@ -1689,7 +1691,7 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
         if (result==null) result = MutableMap.of();
         collectCatalogItemsFromCatalogBomRoot("unbundled catalog definition", 
catalogYaml, null, null, result, false, MutableMap.of(), 0, forceUpdate, true);
 
-        Map<RegisteredType, Collection<Throwable>> validation = 
validateTypes(result.keySet(), true);
+        Map<RegisteredType, Collection<Throwable>> validation = 
validateTypes(result.keySet());
         if (Iterables.concat(validation.values()).iterator().hasNext()) {
             throw new IllegalStateException("Could not validate one or more 
items: "+validation);
         }
@@ -1849,7 +1851,7 @@ public class BasicBrooklynCatalog implements 
BrooklynCatalog {
                 if (boType==null) {
                     // guesser inferred a type
                     boType = BrooklynObjectType.of(ciType);
-                    if (boType!=null) {
+                    if (boType!=null && boType.getSpecType()!=null) {
                         supers = MutableSet.copyOf(supers);
                         supers.add(boType.getInterfaceType());
                         // didn't know type before, retry now that we know the 
type
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 f8053fd..88e160a 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
@@ -118,7 +118,7 @@ public class CatalogBundleLoader {
                             "installer gave "+result+" (of 
"+result.mapOfNewToReplaced.keySet().size()+" total installed), "+
                             "but registry search gave "+matches+" (from 
"+matches.size()+" total found for this bundle)");
                     }
-                    Map<RegisteredType, Collection<Throwable>> 
validationErrors = this.managementContext.getCatalog().validateTypes( matches, 
true );
+                    Map<RegisteredType, Collection<Throwable>> 
validationErrors = this.managementContext.getCatalog().validateTypes( matches );
                     if (!validationErrors.isEmpty()) {
                         throw Exceptions.propagate("Failed to install 
"+mb.getVersionedName()+", types "+validationErrors.keySet()+" gave errors",
                             Iterables.concat(validationErrors.values()));

Reply via email to