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

jcabrerizo pushed a commit to branch activities-rest-optization
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git

commit 103a1317800109c608697bfd1fbbf8eab30f5df9
Author: Juan Cabrerizo <[email protected]>
AuthorDate: Thu Apr 27 16:01:35 2023 +0100

    moves `suppressWorkflowOutputs` from `Sanitizer` to `TaskTransformer` per 
@ahgittin comment
---
 .../org/apache/brooklyn/core/config/Sanitizer.java | 30 --------------------
 .../resources/AbstractBrooklynRestResource.java    |  3 +-
 .../brooklyn/rest/transform/TaskTransformer.java   | 33 ++++++++++++++++++++++
 3 files changed, 35 insertions(+), 31 deletions(-)

diff --git a/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java 
b/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java
index 59bb5a1172..26c213b5de 100644
--- a/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java
+++ b/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java
@@ -262,36 +262,6 @@ public final class Sanitizer {
         }
     }
 
-    public static Object suppressWorkflowOutputs(Object x) {
-        if (x instanceof Map) {
-            Map y = MutableMap.of();
-            ((Map)x).forEach((k,v) -> {
-                y.put(k, v!=null && Sanitizer.IS_OUTPUT.apply(k) ? "(output 
suppressed)": suppressWorkflowOutputs(v) );
-            });
-            return y;
-        }else if (x instanceof Iterable){
-            List y = MutableList.of();
-            ((Iterable)x).forEach(xi -> y.add(suppressWorkflowOutputs(xi)));
-            return y;
-        }else {
-            return x;
-        }
-    }
-
-    public static final Predicate<Object> IS_OUTPUT = new IsOutputPredicate();
-
-    private static class IsOutputPredicate implements Predicate<Object> {
-        @Override
-        public boolean apply(Object name) {
-            if (name == null) return false;
-            String lowerName = name.toString().toLowerCase();
-            for (String outputFieldName : ImmutableList.of("output", "stdout", 
"stderr")) {
-                if (lowerName.contains(outputFieldName))
-                    return true;
-            }
-            return false;
-        }
-    }
 
     /**
      * Kept only in case this anonymous inner class has made it into any 
persisted state.
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
index 44fc7a6f86..dfd13370e4 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
@@ -34,6 +34,7 @@ import org.apache.brooklyn.core.config.render.RendererHints;
 import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.core.resolve.jackson.BeanWithTypeUtils;
 import org.apache.brooklyn.rest.domain.ApiError;
+import org.apache.brooklyn.rest.transform.TaskTransformer;
 import org.apache.brooklyn.rest.util.BrooklynRestResourceUtils;
 import org.apache.brooklyn.rest.util.DefaultExceptionMapper;
 import org.apache.brooklyn.rest.util.ManagementContextProvider;
@@ -298,7 +299,7 @@ public abstract class AbstractBrooklynRestResource {
                             String resultS = mapper.writeValueAsString(result);
                             result = 
BeanWithTypeUtils.newSimpleMapper().readValue(resultS, Object.class);
                             if (suppressOutput){
-                                result = 
Sanitizer.suppressWorkflowOutputs(result);
+                                result = 
TaskTransformer.suppressWorkflowOutputs(result);
                             }
                             //the below treats all numbers as doubles
                             //new Gson().fromJson(resultS, Object.class);
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TaskTransformer.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TaskTransformer.java
index bf9e62bd16..b15d346ae0 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TaskTransformer.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/TaskTransformer.java
@@ -19,6 +19,7 @@
 package org.apache.brooklyn.rest.transform;
 
 import com.google.common.base.Preconditions;
+import com.google.common.base.Predicate;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
@@ -26,6 +27,7 @@ import com.google.common.collect.Ordering;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.mgmt.HasTaskChildren;
 import org.apache.brooklyn.api.mgmt.Task;
+import org.apache.brooklyn.core.config.Sanitizer;
 import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
 import org.apache.brooklyn.core.mgmt.BrooklynTaskTags.WrappedStream;
 import org.apache.brooklyn.rest.api.ActivityApi;
@@ -234,4 +236,35 @@ public class TaskTransformer {
             return taskTaskSummaryFunction.apply(task);
         }).collect(Collectors.toList());
     }
+    public static Object suppressWorkflowOutputs(Object x) {
+        if (x instanceof Map) {
+            Map y = MutableMap.of();
+            ((Map)x).forEach((k,v) -> {
+                y.put(k, v!=null && TaskTransformer.IS_OUTPUT.apply(k) ? 
"(output suppressed)": suppressWorkflowOutputs(v) );
+            });
+            return y;
+        }else if (x instanceof Iterable){
+            List y = MutableList.of();
+            ((Iterable)x).forEach(xi -> y.add(suppressWorkflowOutputs(xi)));
+            return y;
+        }else {
+            return x;
+        }
+    }
+
+    public static final Predicate<Object> IS_OUTPUT = new IsOutputPredicate();
+
+    private static class IsOutputPredicate implements Predicate<Object> {
+        @Override
+        public boolean apply(Object name) {
+            if (name == null) return false;
+            String lowerName = name.toString().toLowerCase();
+            for (String outputFieldName : ImmutableList.of("output", "stdout", 
"stderr")) {
+                if (lowerName.contains(outputFieldName))
+                    return true;
+            }
+            return false;
+        }
+    }
+
 }

Reply via email to