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