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


The following commit(s) were added to refs/heads/main by this push:
     new 4177af0d68b camel-jbang - camel-rest is optional and the rest dev 
console should support this.
4177af0d68b is described below

commit 4177af0d68b128a11c46d67dd3724ec0b6d305e6
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Sep 4 07:17:08 2024 +0200

    camel-jbang - camel-rest is optional and the rest dev console should 
support this.
---
 .../apache/camel/impl/console/RestDevConsole.java  | 108 ++++++++++++---------
 1 file changed, 61 insertions(+), 47 deletions(-)

diff --git 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
index ec9c4636586..c2fd1c4143a 100644
--- 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
+++ 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/RestDevConsole.java
@@ -32,35 +32,48 @@ public class RestDevConsole extends AbstractDevConsole {
         super("camel", "rest", "Rest", "Rest DSL Registry information");
     }
 
+    private RestRegistry rr;
+
+    @Override
+    protected void doInit() throws Exception {
+        super.doInit();
+        try {
+            rr = getCamelContext().getRestRegistry();
+        } catch (IllegalArgumentException e) {
+            // ignore as this is optional
+        }
+    }
+
     @Override
     protected String doCallText(Map<String, Object> options) {
         StringBuilder sb = new StringBuilder();
 
-        RestRegistry rr = getCamelContext().getRestRegistry();
-        for (RestRegistry.RestService rs : rr.listAllRestServices()) {
-            if (!sb.isEmpty()) {
-                sb.append("\n");
-            }
-            sb.append(String.format("\n    Url: %s", rs.getUrl()));
-            sb.append(String.format("\n    Method: %s", rs.getMethod()));
-            sb.append(String.format("\n    State: %s", rs.getState()));
-            if (rs.getConsumes() != null) {
-                sb.append(String.format("\n    Consumes: %s", 
rs.getConsumes()));
-            }
-            if (rs.getProduces() != null) {
-                sb.append(String.format("\n    Produces: %s", 
rs.getProduces()));
-            }
-            if (rs.getInType() != null) {
-                sb.append(String.format("\n    In Type: %s", rs.getInType()));
-            }
-            if (rs.getOutType() != null) {
-                sb.append(String.format("\n    Out Type: %s", 
rs.getOutType()));
-            }
-            if (rs.getDescription() != null) {
-                sb.append(String.format("\n    Description: %s", 
rs.getDescription()));
+        if (rr != null) {
+            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
+                if (!sb.isEmpty()) {
+                    sb.append("\n");
+                }
+                sb.append(String.format("\n    Url: %s", rs.getUrl()));
+                sb.append(String.format("\n    Method: %s", rs.getMethod()));
+                sb.append(String.format("\n    State: %s", rs.getState()));
+                if (rs.getConsumes() != null) {
+                    sb.append(String.format("\n    Consumes: %s", 
rs.getConsumes()));
+                }
+                if (rs.getProduces() != null) {
+                    sb.append(String.format("\n    Produces: %s", 
rs.getProduces()));
+                }
+                if (rs.getInType() != null) {
+                    sb.append(String.format("\n    In Type: %s", 
rs.getInType()));
+                }
+                if (rs.getOutType() != null) {
+                    sb.append(String.format("\n    Out Type: %s", 
rs.getOutType()));
+                }
+                if (rs.getDescription() != null) {
+                    sb.append(String.format("\n    Description: %s", 
rs.getDescription()));
+                }
             }
+            sb.append("\n");
         }
-        sb.append("\n");
 
         return sb.toString();
     }
@@ -69,32 +82,33 @@ public class RestDevConsole extends AbstractDevConsole {
     protected Map<String, Object> doCallJson(Map<String, Object> options) {
         JsonObject root = new JsonObject();
 
-        List<JsonObject> list = new ArrayList<>();
-        root.put("rests", list);
+        if (rr != null) {
+            List<JsonObject> list = new ArrayList<>();
+            root.put("rests", list);
 
-        RestRegistry rr = getCamelContext().getRestRegistry();
-        for (RestRegistry.RestService rs : rr.listAllRestServices()) {
-            JsonObject jo = new JsonObject();
-            jo.put("url", rs.getUrl());
-            jo.put("method", rs.getMethod());
-            jo.put("contractFirst", rs.isContractFirst());
-            jo.put("state", rs.getState());
-            if (rs.getConsumes() != null) {
-                jo.put("consumes", rs.getConsumes());
-            }
-            if (rs.getProduces() != null) {
-                jo.put("produces", rs.getProduces());
-            }
-            if (rs.getInType() != null) {
-                jo.put("inType", rs.getInType());
-            }
-            if (rs.getOutType() != null) {
-                jo.put("outType", rs.getOutType());
-            }
-            if (rs.getDescription() != null) {
-                jo.put("description", rs.getDescription());
+            for (RestRegistry.RestService rs : rr.listAllRestServices()) {
+                JsonObject jo = new JsonObject();
+                jo.put("url", rs.getUrl());
+                jo.put("method", rs.getMethod());
+                jo.put("contractFirst", rs.isContractFirst());
+                jo.put("state", rs.getState());
+                if (rs.getConsumes() != null) {
+                    jo.put("consumes", rs.getConsumes());
+                }
+                if (rs.getProduces() != null) {
+                    jo.put("produces", rs.getProduces());
+                }
+                if (rs.getInType() != null) {
+                    jo.put("inType", rs.getInType());
+                }
+                if (rs.getOutType() != null) {
+                    jo.put("outType", rs.getOutType());
+                }
+                if (rs.getDescription() != null) {
+                    jo.put("description", rs.getDescription());
+                }
+                list.add(jo);
             }
-            list.add(jo);
         }
 
         return root;

Reply via email to