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 4ba92e8d5b3 CAMEL-18406: camel-jbang - Show number of routes
4ba92e8d5b3 is described below

commit 4ba92e8d5b354d67270c53780b610afdd7ce7b26
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Aug 30 10:17:57 2022 +0200

    CAMEL-18406: camel-jbang - Show number of routes
---
 .../core/commands/process/CamelContextStatus.java      | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
index f8d01a1397a..523a346353c 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/CamelContextStatus.java
@@ -27,6 +27,7 @@ import com.github.freva.asciitable.HorizontalAlign;
 import com.github.freva.asciitable.OverflowBehaviour;
 import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
 import org.apache.camel.util.TimeUtils;
+import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import picocli.CommandLine;
 import picocli.CommandLine.Command;
@@ -78,6 +79,16 @@ public class CamelContextStatus extends ProcessBaseCommand {
                                 row.sinceLast = last.toString();
                             }
                         }
+                        JsonArray array = (JsonArray) root.get("routes");
+                        for (int i = 0; i < array.size(); i++) {
+                            JsonObject o = (JsonObject) array.get(i);
+                            String state = o.getString("state");
+                            row.routeTotal++;
+                            if ("Started".equals(state)) {
+                                row.routeStarted++;
+                            }
+                        }
+
                         JsonObject hc = (JsonObject) root.get("healthChecks");
                         row.ready = hc != null ? hc.getString("ready") + "/" + 
hc.getString("total") : null;
                         rows.add(row);
@@ -98,6 +109,7 @@ public class CamelContextStatus extends ProcessBaseCommand {
                     new 
Column().header("STATUS").headerAlign(HorizontalAlign.CENTER)
                             .with(r -> extractState(r.state)),
                     new 
Column().header("AGE").headerAlign(HorizontalAlign.CENTER).with(r -> r.ago),
+                    new Column().header("ROUTE").with(this::getRoutes),
                     new Column().header("TOTAL").with(r -> r.total),
                     new Column().header("FAILED").with(r -> r.failed),
                     new Column().header("INFLIGHT").with(r -> r.inflight),
@@ -140,6 +152,10 @@ public class CamelContextStatus extends ProcessBaseCommand 
{
         }
     }
 
+    private String getRoutes(Row r) {
+        return r.routeStarted + "/" + r.routeTotal;
+    }
+
     private static class Row {
         String pid;
         String platform;
@@ -147,6 +163,8 @@ public class CamelContextStatus extends ProcessBaseCommand {
         String camelVersion;
         String name;
         String ready;
+        int routeStarted;
+        int routeTotal;
         int state;
         String ago;
         long uptime;

Reply via email to