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 0cfee546bc9a10f0c0f275a2893c2268da5b6ee8
Author: Alex Heneveld <[email protected]>
AuthorDate: Thu Nov 10 15:37:20 2022 +0000

    tidy names and tagging of mgmt adjunct tasks
---
 .../org/apache/brooklyn/core/feed/DelegatingPollHandler.java     | 8 ++++++--
 core/src/main/java/org/apache/brooklyn/core/feed/Poller.java     | 9 +++++----
 .../java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java   | 4 ++--
 .../java/org/apache/brooklyn/core/workflow/WorkflowSensor.java   | 7 +++++++
 4 files changed, 20 insertions(+), 8 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/feed/DelegatingPollHandler.java 
b/core/src/main/java/org/apache/brooklyn/core/feed/DelegatingPollHandler.java
index fae7dd6901..f305162b2a 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/feed/DelegatingPollHandler.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/feed/DelegatingPollHandler.java
@@ -21,6 +21,7 @@ package org.apache.brooklyn.core.feed;
 import java.util.List;
 
 import com.google.common.collect.ImmutableList;
+import org.apache.brooklyn.util.text.Strings;
 
 /**
  * A poll handler that delegates each call to a set of poll handlers.
@@ -81,8 +82,11 @@ public class DelegatingPollHandler<V> implements 
PollHandler<V> {
         sb.append("[");
         int count = 0;
         for (AttributePollHandler<? super V> delegate : delegates) {
-            if (count>0) sb.append("; ");
-            sb.append(delegate.getDescription());
+            String d = delegate.getDescription();
+            if (Strings.isNonBlank(d)) {
+                if (count > 0) sb.append("; ");
+                sb.append(d);
+            }
             if (count>2) {
                 sb.append("; ...");
                 break;
diff --git a/core/src/main/java/org/apache/brooklyn/core/feed/Poller.java 
b/core/src/main/java/org/apache/brooklyn/core/feed/Poller.java
index 317a4e7881..5ea02652b9 100644
--- a/core/src/main/java/org/apache/brooklyn/core/feed/Poller.java
+++ b/core/src/main/java/org/apache/brooklyn/core/feed/Poller.java
@@ -38,6 +38,7 @@ import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
 import org.apache.brooklyn.core.objs.AbstractEntityAdjunct;
 import org.apache.brooklyn.core.policy.AbstractPolicy;
 import org.apache.brooklyn.core.sensor.AbstractAddTriggerableSensor;
+import org.apache.brooklyn.util.collections.MutableList;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.collections.MutableSet;
 import org.apache.brooklyn.util.core.predicates.DslPredicates;
@@ -231,13 +232,13 @@ public class Poller<V> {
         Duration minPeriod = null;
         Set<String> sensorSummaries = MutableSet.of();
         for (final PollJob<V> pollJob : pollJobs) {
-            final String scheduleName = (adjunct !=null ? 
adjunct.getDisplayName()+", " : "") +pollJob.handler.getDescription();
+            final String scheduleName = MutableList.of(adjunct !=null ? 
adjunct.getDisplayName() : null, pollJob.handler.getDescription())
+                    
.stream().filter(Strings::isNonBlank).collect(Collectors.joining("; "));
             boolean added = false;
 
             Callable<Task<?>> tf = () -> {
                 DynamicSequentialTask<Void> task = new 
DynamicSequentialTask<Void>(MutableMap.of("displayName", scheduleName, 
"entity", entity),
-                        /** TODO why the hell is this running before the 
entity is managed??? and remove logging, and invocationCount=100. */
-                        new Callable<Void>() { @Override public Void call() {
+                        () -> {
                             if (!Entities.isManagedActive(entity)) {
                                 return null;
                             }
@@ -246,7 +247,7 @@ public class Poller<V> {
                             }
                             pollJob.wrappedJob.run();
                             return null;
-                        } } );
+                        });
                 // explicitly make non-transient -- we want to see its 
execution, even if parent is transient
                 BrooklynTaskTags.addTagDynamically(task, 
BrooklynTaskTags.NON_TRANSIENT_TASK_TAG);
                 return task;
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java 
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java
index 8ba24851a8..1656d3c07a 100644
--- a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java
+++ b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowPolicy.java
@@ -99,8 +99,8 @@ public final class WorkflowPolicy<T> extends AbstractPolicy {
     }
 
     public String getDescription() {
-        // more info? customizable?
-        return "Policy to run a workflow on an event";
+        // used for poll handler; could be set later
+        return null;
     }
 
     @Override
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowSensor.java 
b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowSensor.java
index 6521e494d4..70d9513530 100644
--- a/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowSensor.java
+++ b/core/src/main/java/org/apache/brooklyn/core/workflow/WorkflowSensor.java
@@ -25,12 +25,14 @@ import org.apache.brooklyn.api.entity.EntityInitializer;
 import org.apache.brooklyn.api.entity.EntityLocal;
 import org.apache.brooklyn.api.mgmt.Task;
 import org.apache.brooklyn.api.objs.BrooklynObject;
+import org.apache.brooklyn.api.objs.EntityAdjunct;
 import org.apache.brooklyn.api.sensor.AttributeSensor;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.effector.AddSensorInitializer;
 import org.apache.brooklyn.core.effector.AddSensorInitializerAbstractProto;
 import org.apache.brooklyn.core.entity.EntityInitializers;
+import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
 import org.apache.brooklyn.core.sensor.AbstractAddTriggerableSensor;
 import org.apache.brooklyn.core.sensor.Sensors;
 import org.apache.brooklyn.core.workflow.steps.EntityValueToSet;
@@ -156,6 +158,11 @@ public final class WorkflowSensor<T> extends 
AbstractAddTriggerableSensor<T> imp
         public Object call() throws Exception {
             WorkflowExecutionContext wc = 
WorkflowExecutionContext.newInstancePersisted(entityOrAdjunct, 
workflowCallableName, params, null, null, null);
             Task<Object> wt = wc.getTask(false /* condition checked by poll 
config framework */).get();
+            if (entityOrAdjunct instanceof EntityAdjunct) {
+                // add tag to each task so it shows up in list on mgmt context
+                BrooklynTaskTags.addTagDynamically(wt, 
BrooklynTaskTags.tagForContextAdjunct((EntityAdjunct) entityOrAdjunct));
+            }
+
             if (entityOrAdjunct instanceof WorkflowPolicy) {
                 ((WorkflowPolicy)entityOrAdjunct).highlightAction("Workflow 
running", wt);
             }

Reply via email to