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 fbd7391d3be027ef23c5b7a27caf0b3883e9fb4e
Author: iuliana <[email protected]>
AuthorDate: Wed May 26 17:59:26 2021 +0100

    Fixed tests and implementation to support other map tags
---
 .../brooklyn/catalog/CatalogYamlEntityOsgiTypeRegistryTest.java  | 4 +---
 .../java/org/apache/brooklyn/core/typereg/RegisteredTypes.java   | 9 ++++-----
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git 
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityOsgiTypeRegistryTest.java
 
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityOsgiTypeRegistryTest.java
index ab1c46e..a0c193e 100644
--- 
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityOsgiTypeRegistryTest.java
+++ 
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityOsgiTypeRegistryTest.java
@@ -29,7 +29,6 @@ import org.apache.brooklyn.entity.stock.BasicEntity;
 import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.collections.CollectionFunctionals;
 import org.apache.brooklyn.util.osgi.VersionedName;
-import org.apache.brooklyn.util.text.StringEscapes.JavaStringEscapes;
 import org.apache.brooklyn.util.yaml.Yamls;
 import org.testng.annotations.Test;
 
@@ -233,13 +232,12 @@ public class CatalogYamlEntityOsgiTypeRegistryTest 
extends CatalogYamlEntityTest
                 "  item: " + BasicEntity.class.getName());
 
         RegisteredType item = mgmt().getTypeRegistry().get(symbolicName, 
TEST_VERSION);
-        assertTrue(item.getTags().stream().anyMatch(tag -> tag instanceof 
BrooklynTags.SpecTag));
 
+        assertTrue(item.getTags().stream().anyMatch(tag -> tag instanceof 
BrooklynTags.SpecTag));
         BrooklynTags.SpecTag specTag = (BrooklynTags.SpecTag) 
item.getTags().stream().filter(x -> x instanceof 
BrooklynTags.SpecTag).findFirst().orElse(null);
         assertEquals(specTag.getSpecList().size(), 1);
         
Asserts.assertEquals(((Map<String,String>)specTag.getSpecList().get(0)).get("format"),
 CampTypePlanTransformer.FORMAT);
         
Asserts.assertEquals(((Map<String,String>)specTag.getSpecList().get(0)).get("summary"),
 "Plan for " + symbolicName);
-
         deleteCatalogRegisteredType(symbolicName);
     }
 
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java 
b/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
index e58d34d..838879e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
+++ b/core/src/main/java/org/apache/brooklyn/core/typereg/RegisteredTypes.java
@@ -25,12 +25,10 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.stream.StreamSupport;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import com.google.common.collect.Iterators;
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.catalog.CatalogItem.CatalogItemType;
 import org.apache.brooklyn.api.internal.AbstractBrooklynObjectSpec;
@@ -61,6 +59,7 @@ import org.apache.brooklyn.util.text.NaturalOrderComparator;
 import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.text.VersionComparator;
 import org.apache.brooklyn.util.yaml.Yamls;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -333,14 +332,14 @@ public class RegisteredTypes {
     @Beta
     public static RegisteredType addTag(RegisteredType type, Object tag) {
         if (tag!=null) {
-            if (tag instanceof Map) {
+            if (tag instanceof Map &&( (Map<String,Object>) 
tag).containsKey(BrooklynTags.YAML_SPEC_HIERARCHY)) {
                 Map<String,Object> mapTag = (Map<String,Object>) tag;
                 if(mapTag.containsKey(BrooklynTags.YAML_SPEC_HIERARCHY)) {
                     Map<String,String> hierarchySpecTag = (Map<String,String>) 
mapTag.get(BrooklynTags.YAML_SPEC_HIERARCHY);
                     BrooklynTags.SpecTag currentSpecTag = new 
BrooklynTags.HierarchySpecTagBuilder()
                             .format(hierarchySpecTag.get("format"))
-                            .summary(hierarchySpecTag.get("summary"))
-                            .contents(hierarchySpecTag.get("contents"))
+                            
.summary(StringUtils.isNotBlank(hierarchySpecTag.get("summary"))? 
hierarchySpecTag.get("summary") : "Plan for " + type.getSymbolicName())
+                            
.contents(StringUtils.isNotBlank(hierarchySpecTag.get("contents"))? 
hierarchySpecTag.get("contents") : "n/a")
                             .build();
                     ((BasicRegisteredType)type).tags.add( currentSpecTag );
                 }

Reply via email to