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 78b3129cfaf919389c01bf07cd830949eab44a04
Author: Alex Heneveld <[email protected]>
AuthorDate: Mon Sep 13 23:03:17 2021 +0100

    better task logging of entitlement context
---
 .../org/apache/brooklyn/util/core/task/BasicExecutionContext.java | 5 +++--
 .../org/apache/brooklyn/util/core/task/BasicExecutionManager.java | 8 +++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionContext.java
 
b/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionContext.java
index 70322ce..9d329e5 100644
--- 
a/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionContext.java
+++ 
b/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionContext.java
@@ -353,8 +353,9 @@ public class BasicExecutionContext extends 
AbstractExecutionContext {
         }
 
         EntitlementContext entitlementContext = 
BrooklynTaskTags.getEntitlement(taskTags);
-        if (entitlementContext==null)
-        entitlementContext = Entitlements.getEntitlementContext();
+        if (entitlementContext==null) {
+            entitlementContext = Entitlements.getEntitlementContext();
+        }
         if (entitlementContext!=null) {
             
taskTags.add(BrooklynTaskTags.tagForEntitlement(entitlementContext));
         }
diff --git 
a/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
 
b/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
index 487b155..8b44490 100644
--- 
a/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
+++ 
b/core/src/main/java/org/apache/brooklyn/util/core/task/BasicExecutionManager.java
@@ -56,6 +56,7 @@ import org.apache.brooklyn.api.mgmt.ExecutionManager;
 import org.apache.brooklyn.api.mgmt.HasTaskChildren;
 import org.apache.brooklyn.api.mgmt.Task;
 import org.apache.brooklyn.api.mgmt.TaskAdaptable;
+import org.apache.brooklyn.api.mgmt.entitlement.EntitlementContext;
 import org.apache.brooklyn.core.BrooklynFeatureEnablement;
 import org.apache.brooklyn.core.BrooklynLogging;
 import org.apache.brooklyn.core.config.Sanitizer;
@@ -177,7 +178,12 @@ public class BasicExecutionManager implements 
ExecutionManager {
                         (Strings.isNonBlank(taskName) ? " ("+taskName+")" : 
"") +
                         (entity == null ? "" : " on entity " + entity.getId()) 
+
                         (Strings.isNonBlank(task.getSubmittedByTaskId()) ? " 
from task " + task.getSubmittedByTaskId() : "") +
-                        Entitlements.getEntitlementContextUserMaybe().map(s -> 
" for user " + s).or("");
+                        Entitlements.getEntitlementContextUserMaybe().
+                                orMaybe(() -> 
Maybe.ofDisallowingNull(BrooklynTaskTags.getEntitlement(task))
+                                        // entitlements might not be set in 
thread context, so also look on task
+                                        .map(EntitlementContext::user)
+                                        .mapMaybe(s -> Strings.isNonBlank(s) ? 
Maybe.of(s) : Maybe.absent())
+                                ).map(s -> " for user " + s).or("");
                 
BrooklynLogging.log(BrooklynLoggingCategories.TASK_LIFECYCLE_LOG,
                         UNINTERESTING_TASK_NAMES.contains(taskName) ? 
BrooklynLogging.LoggingLevel.TRACE : BrooklynLogging.LoggingLevel.DEBUG,
                         message);

Reply via email to