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

Reply via email to