You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by iu...@apache.org on 2021/05/28 12:34:33 UTC

[brooklyn-server] branch master updated: Added specList for types to be displayed int catalog

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

iuliana 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 dd07beb  Added specList for types to be displayed int catalog
dd07beb is described below

commit dd07beba793181596a01c295bea6b83193458bcb
Author: iuliana <iu...@cloudsoft.io>
AuthorDate: Fri May 28 13:34:15 2021 +0100

    Added specList for types to be displayed int catalog
---
 .../brooklyn/rest/transform/TypeTransformer.java    | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TypeTransformer.java b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TypeTransformer.java
index 2eb5c35..741c887 100644
--- a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TypeTransformer.java
+++ b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TypeTransformer.java
@@ -21,10 +21,7 @@ package org.apache.brooklyn.rest.transform;
 import static org.apache.brooklyn.rest.util.WebResourceUtils.serviceUriBuilder;
 
 import java.net.URI;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.ws.rs.core.UriBuilder;
@@ -45,7 +42,9 @@ import org.apache.brooklyn.api.sensor.Feed;
 import org.apache.brooklyn.api.sensor.Sensor;
 import org.apache.brooklyn.api.typereg.ManagedBundle;
 import org.apache.brooklyn.api.typereg.RegisteredType;
+import org.apache.brooklyn.camp.brooklyn.spi.creation.CampTypePlanTransformer;
 import org.apache.brooklyn.core.entity.EntityDynamicType;
+import org.apache.brooklyn.core.mgmt.BrooklynTags;
 import org.apache.brooklyn.core.mgmt.ha.OsgiBundleInstallationResult;
 import org.apache.brooklyn.core.objs.BrooklynTypes;
 import org.apache.brooklyn.core.typereg.RegisteredTypePredicates;
@@ -65,6 +64,7 @@ import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.osgi.VersionedName;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Sets;
@@ -98,6 +98,19 @@ public class TypeTransformer {
                 result.setExtraField("iconUrlSource", item.getIconUrl());
             }
         }
+
+        // adding tag type spec hierarchy using hierarchy tag
+        BrooklynTags.SpecTag currentSpecTag = new BrooklynTags.HierarchySpecTagBuilder()
+                .format(StringUtils.isBlank(item.getPlan().getPlanFormat()) ? CampTypePlanTransformer.FORMAT : item.getPlan().getPlanFormat())
+                // the default type implementation is camp in this location, but hierarchy tag provides the original implementation, so it takes precedence.
+                .summary((StringUtils.isBlank(item.getPlan().getPlanFormat()) ? CampTypePlanTransformer.FORMAT : item.getPlan().getPlanFormat()) + " implementation")
+                .contents(item.getPlan().getPlanData())
+                .build();
+        BrooklynTags.SpecTag specTag =  BrooklynTags.findHierarchySpecTag(BrooklynTags.YAML_SPEC_HIERARCHY, item.getTags());
+        if(specTag!= null){
+            currentSpecTag.push(specTag);
+        }
+        result.setExtraField("specList", currentSpecTag.getSpecList());
         
         if (detail) {
             if (RegisteredTypes.isSubtypeOf(item, Entity.class)) {