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 c741720a8b6f69c9e87090e62b33246b4ebeeace
Author: Alex Heneveld <[email protected]>
AuthorDate: Wed Nov 9 08:42:34 2022 +0000

    label destroy tasks and rename entities if coming from ui
---
 .../main/java/org/apache/brooklyn/core/mgmt/BrooklynTaskTags.java   | 2 ++
 .../java/org/apache/brooklyn/rest/resources/EntityResource.java     | 6 ++++++
 .../org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java    | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTaskTags.java 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTaskTags.java
index ff23055de4..423335dd18 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTaskTags.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTaskTags.java
@@ -85,6 +85,8 @@ public class BrooklynTaskTags extends TaskTags {
     public static final Object TOP_LEVEL_TASK = "TOP-LEVEL";
     /** Tag for a task which represents entity initialization */
     public static final Object ENTITY_INITIALIZATION = "INITIALIZATION";
+    /** Tag for a task which represents entity destruction */
+    public static final Object ENTITY_DESTRUCTION = "DESTRUCTION";
     /** Tag for a task which represents an effector */
     public static final String EFFECTOR_TAG = "EFFECTOR";
     /** Tag for a task which represents a sensor being published */
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/EntityResource.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/EntityResource.java
index b8dc5fcbb6..52f081ffc5 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/EntityResource.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/EntityResource.java
@@ -328,6 +328,12 @@ public class EntityResource extends 
AbstractBrooklynRestResource implements Enti
     public Response expunge(String application, String entity, boolean 
release) {
         Entity instance = brooklyn().getEntity(application, entity);
         Task<?> task = brooklyn().expunge(instance, release);
+
+        if (instance.getDisplayName()==null || 
!instance.getDisplayName().startsWith("[DESTROYING] ")) {
+            // usually this is quick but if it isn't change the name so there 
is a clear indication
+            instance.setDisplayName("[DESTROYING] " + 
instance.getDisplayName());
+        }
+
         TaskSummary summary = TaskTransformer.fromTask(ui.getBaseUriBuilder(), 
resolving(null),  false).apply(task);
         return status(ACCEPTED).entity(summary).build();
     }
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
index 7dd89063ea..0e5e173273 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
@@ -476,7 +476,7 @@ public class BrooklynRestResourceUtils {
             Map<String, Object> flags = MutableMap.<String, 
Object>of("displayName", "expunging " + entity, "description", "REST call to 
expunge entity "
                     + entity.getDisplayName() + " (" + entity + ")");
             if (Entitlements.getEntitlementContext() != null) {
-                flags.put("tags", 
MutableSet.of(BrooklynTaskTags.tagForEntitlement(Entitlements.getEntitlementContext())));
+                flags.put("tags", 
MutableSet.of(BrooklynTaskTags.ENTITY_DESTRUCTION, 
BrooklynTaskTags.tagForEntitlement(Entitlements.getEntitlementContext())));
             }
             return mgmt.getExecutionManager().submit(
                     flags, new Runnable() {

Reply via email to