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

commit 489c2a2180fb46587655f77101b048840788ba5b
Author: Alex Heneveld <[email protected]>
AuthorDate: Wed Oct 14 01:54:01 2020 +0100

    make autodetect format more forgiving (allow blank), and better error 
messages
---
 .../apache/brooklyn/core/typereg/AbstractCatalogBundleResolver.java  | 4 +---
 .../apache/brooklyn/core/typereg/AbstractTypePlanTransformer.java    | 3 ++-
 .../apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java | 5 +++--
 .../java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java  | 5 +++--
 4 files changed, 9 insertions(+), 8 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractCatalogBundleResolver.java
 
b/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractCatalogBundleResolver.java
index 73ac173..bebffba 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractCatalogBundleResolver.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractCatalogBundleResolver.java
@@ -18,14 +18,12 @@
  */
 package org.apache.brooklyn.core.typereg;
 
-import com.google.common.collect.Lists;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
 import java.util.List;
 import java.util.function.Supplier;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.util.collections.MutableList;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.javalang.JavaClassNames;
@@ -91,7 +89,7 @@ public abstract class AbstractCatalogBundleResolver 
implements BrooklynCatalogBu
     @Override
     public double scoreForBundle(String format, Supplier<InputStream> f) {
         if (getFormatCode().equals(format)) return 1;
-        if (format==null)
+        if (Strings.isBlank(format))
             return scoreForNullFormat(f);
         else
             return scoreForNonmatchingNonnullFormat(format, f);
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractTypePlanTransformer.java
 
b/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractTypePlanTransformer.java
index 52ee199..5ebe585 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractTypePlanTransformer.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/typereg/AbstractTypePlanTransformer.java
@@ -25,6 +25,7 @@ import 
org.apache.brooklyn.api.typereg.RegisteredTypeLoadingContext;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.javalang.JavaClassNames;
+import org.apache.brooklyn.util.text.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -81,7 +82,7 @@ public abstract class AbstractTypePlanTransformer implements 
BrooklynTypePlanTra
     @Override
     public double scoreForType(RegisteredType type, 
RegisteredTypeLoadingContext context) {
         if (getFormatCode().equals(type.getPlan().getPlanFormat())) return 1;
-        if (type.getPlan().getPlanFormat()==null)
+        if (Strings.isBlank(type.getPlan().getPlanFormat()))
             return scoreForNullFormat(type.getPlan().getPlanData(), type, 
context);
         else
             return 
scoreForNonmatchingNonnullFormat(type.getPlan().getPlanFormat(), 
type.getPlan().getPlanData(), type, context);
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
 
b/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
index c5ee6f8..c58a21f 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/typereg/BrooklynCatalogBundleResolvers.java
@@ -171,10 +171,11 @@ public class BrooklynCatalogBundleResolvers {
                 exception = failuresFromResolvers.size() == 1 ? 
Exceptions.create(null, failuresFromResolvers) :
                         Exceptions.create("All applicable bundle resolvers 
failed", failuresFromResolvers);
             } else {
+                String prefix = Strings.isBlank(options.format) ? "Invalid 
bundle" : "Invalid '"+options.format+"' bundle";
                 if (resolvers.isEmpty()) {
-                    exception = new UnsupportedTypePlanException("Invalid 
bundle; format could not be recognized, none of the available resolvers " + 
all(mgmt) + " support it");
+                    exception = new UnsupportedTypePlanException(prefix + "; 
format could not be recognized, none of the available resolvers " + all(mgmt) + 
" support it");
                 } else {
-                    exception = new UnsupportedTypePlanException("Invalid 
bundle; potentially applicable resolvers " + resolvers + " do not support it, 
and other available resolvers " +
+                    exception = new UnsupportedTypePlanException(prefix + "; 
potentially applicable resolvers " + resolvers + " do not support it, and other 
available resolvers " +
 //                    // the removeAll call below won't work until "all" 
caches it
 //                    
MutableList.builder().addAll(all(mgmt)).removeAll(transformers).build()+" "+
                             "do not accept it");
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java 
b/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
index 6990646..fe0ee36 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
@@ -142,11 +142,12 @@ public class TypePlanTransformers {
             result = failuresFromTransformers.size()==1 ? 
Exceptions.create(null, failuresFromTransformers) :
                 Exceptions.create("All applicable plan transformers failed", 
failuresFromTransformers);
         } else {
+            String prefix = Strings.isBlank(type.getPlan().getPlanFormat()) ? 
"Invalid plan" : "Invalid '"+type.getPlan().getPlanFormat()+"' plan]";
             if (transformers.isEmpty()) {
-                result = new UnsupportedTypePlanException("Invalid plan; 
format could not be recognized, none of the available transformers 
"+all(mgmt)+" support "+
+                result = new UnsupportedTypePlanException(prefix + "; format 
could not be recognized, none of the available transformers "+all(mgmt)+" 
support "+
                     (type.getId()!=null ? type.getId() : 
"plan:\n"+type.getPlan().getPlanData()));
             } else {
-                result = new UnsupportedTypePlanException("Invalid plan; 
potentially applicable transformers "+transformers+" do not support it, and 
other available transformers "+
+                result = new UnsupportedTypePlanException(prefix + "; 
potentially applicable transformers "+transformers+" do not support it, and 
other available transformers "+
 //                    // the removeAll call below won't work until "all" 
caches it
 //                    
MutableList.builder().addAll(all(mgmt)).removeAll(transformers).build()+" "+
                     "do not accept it");

Reply via email to