This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch browse in repository https://gitbox.apache.org/repos/asf/camel.git
commit 603283bf797bde5b80b77793cc1823cb4ba6fb97 Author: Claus Ibsen <[email protected]> AuthorDate: Thu Sep 5 15:28:50 2024 +0200 CAMEL-21178: Add browse jbang command --- .../org/apache/camel/catalog/dev-consoles.properties | 1 + .../org/apache/camel/catalog/dev-consoles/browse.json | 15 +++++++++++++++ .../apache/camel/cli/connector/LocalCliConnector.java | 18 ++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties index 0d11272191f..6600db7d46c 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties @@ -4,6 +4,7 @@ azure-secrets bean bean-model blocked +browse circuit-breaker consumer context diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/browse.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/browse.json new file mode 100644 index 00000000000..b08c06fde1a --- /dev/null +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/browse.json @@ -0,0 +1,15 @@ +{ + "console": { + "kind": "console", + "group": "camel", + "name": "browse", + "title": "Browse", + "description": "Browse pending messages on Camel components", + "deprecated": false, + "javaType": "org.apache.camel.impl.console.BrowseDevConsole", + "groupId": "org.apache.camel", + "artifactId": "camel-console", + "version": "4.8.0-SNAPSHOT" + } +} + diff --git a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java index 7ad6ecff054..b88aadc0e05 100644 --- a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java +++ b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java @@ -278,6 +278,8 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C doActionKafkaTask(); } else if ("trace".equals(action)) { doActionTraceTask(root); + } else if ("browse".equals(action)) { + doActionBrowseTask(root); } } catch (Exception e) { // ignore @@ -771,6 +773,22 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C } } + private void doActionBrowseTask(JsonObject root) throws IOException { + DevConsole dc = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class) + .resolveById("browse"); + if (dc != null) { + String filter = root.getString("filter"); + String limit = root.getString("limit"); + String dump = root.getString("dump"); + JsonObject json + = (JsonObject) dc.call(DevConsole.MediaType.JSON, Map.of("filter", filter, "limit", limit, "dump", dump)); + LOG.trace("Updating output file: {}", outputFile); + IOHelper.writeText(json.toJson(), outputFile); + } else { + IOHelper.writeText("{}", outputFile); + } + } + private void doActionBeanTask(JsonObject root) throws IOException { String filter = root.getStringOrDefault("filter", ""); String properties = root.getStringOrDefault("properties", "true");
