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); }
