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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b26ec68996c7e9fbf556d094e0fc727657603d92
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Sep 8 12:21:57 2022 +0200

    Polished dev consoles
---
 .../aws/secretsmanager/SecretsDevConsole.java      |  2 +-
 .../apache/camel/impl/console/EventConsole.java    | 33 +++++++++++++++++++++-
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
index 9df22cb9476..959199061b1 100644
--- 
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
+++ 
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
@@ -40,7 +40,7 @@ public class SecretsDevConsole extends AbstractDevConsole {
     private CloudTrailReloadTriggerTask secretsRefreshTask;
 
     public SecretsDevConsole() {
-        super("camel", "aws-secrets", "AWS Secrets", "AWS Secrets Manager");
+        super("camel", "aws-secret", "AWS Secrets", "AWS Secrets Manager");
     }
 
     @Override
diff --git 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
index 18a6a53e3f6..67e1195e623 100644
--- 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
+++ 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
@@ -38,6 +38,7 @@ public class EventConsole extends AbstractDevConsole {
     private int capacity = 25;
 
     private Queue<CamelEvent> events;
+    private Queue<CamelEvent.RouteEvent> routeEvents;
     private Queue<CamelEvent.ExchangeEvent> exchangeEvents;
     private final ConsoleEventNotifier listener = new ConsoleEventNotifier();
 
@@ -56,6 +57,7 @@ public class EventConsole extends AbstractDevConsole {
     @Override
     protected void doInit() throws Exception {
         this.events = new ArrayDeque<>(capacity);
+        this.routeEvents = new ArrayDeque<>(capacity);
         this.exchangeEvents = new ArrayDeque<>(capacity);
     }
 
@@ -67,7 +69,6 @@ public class EventConsole extends AbstractDevConsole {
     @Override
     protected void doStop() throws Exception {
         
getCamelContext().getManagementStrategy().removeEventNotifier(listener);
-        events.clear();
     }
 
     protected String doCallText(Map<String, Object> options) {
@@ -84,6 +85,18 @@ public class EventConsole extends AbstractDevConsole {
             }
             sb.append("\n");
         }
+        if (!routeEvents.isEmpty()) {
+            sb.append("\n");
+            sb.append(String.format("Last %s Route Events:", 
routeEvents.size()));
+            for (CamelEvent.RouteEvent event : routeEvents) {
+                if (event.getTimestamp() > 0) {
+                    sb.append(String.format("\n    %s (age: %s)", event, 
TimeUtils.printSince(event.getTimestamp())));
+                } else {
+                    sb.append(String.format("\n    %s", event));
+                }
+            }
+            sb.append("\n");
+        }
         if (!exchangeEvents.isEmpty()) {
             sb.append("\n");
             sb.append(String.format("Last %s Exchange Events:", 
exchangeEvents.size()));
@@ -116,6 +129,19 @@ public class EventConsole extends AbstractDevConsole {
             }
             root.put("events", arr);
         }
+        if (!routeEvents.isEmpty()) {
+            List<JsonObject> arr = new ArrayList<>();
+            for (CamelEvent event : routeEvents) {
+                JsonObject jo = new JsonObject();
+                jo.put("type", event.getType().toString());
+                if (event.getTimestamp() > 0) {
+                    jo.put("timestamp", event.getTimestamp());
+                }
+                jo.put("message", event.toString());
+                arr.add(jo);
+            }
+            root.put("routeEvents", arr);
+        }
         if (!exchangeEvents.isEmpty()) {
             List<JsonObject> arr = new ArrayList<>();
             for (CamelEvent.ExchangeEvent event : exchangeEvents) {
@@ -143,6 +169,11 @@ public class EventConsole extends AbstractDevConsole {
                     exchangeEvents.poll();
                 }
                 exchangeEvents.add((CamelEvent.ExchangeEvent) event);
+            } else if (event instanceof CamelEvent.RouteEvent) {
+                if (routeEvents.size() >= capacity) {
+                    routeEvents.poll();
+                }
+                routeEvents.add((CamelEvent.RouteEvent) event);
             } else {
                 if (events.size() >= capacity) {
                     events.poll();

Reply via email to