This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch CAMEL-23226-all-jbang-ux in repository https://gitbox.apache.org/repos/asf/camel.git
commit 492aaf9791833ec69edf0bd9ba7e47bb7b803c65 Author: Guillaume Nodet <[email protected]> AuthorDate: Sat Mar 21 10:06:39 2026 +0100 CAMEL-23226: Fix exit codes for validation errors in camel-jbang commands Co-Authored-By: Claude Opus 4.6 <[email protected]> --- .../apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java | 4 ++-- .../camel/dsl/jbang/core/commands/action/CamelBrowseAction.java | 4 ++-- .../camel/dsl/jbang/core/commands/action/CamelHistoryAction.java | 2 +- .../apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java | 4 ++-- .../camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java | 4 ++-- .../dsl/jbang/core/commands/action/CamelRouteStructureAction.java | 4 ++-- .../apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java | 4 ++-- .../camel/dsl/jbang/core/commands/action/CamelSourceAction.java | 4 ++-- .../apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java | 4 ++-- .../dsl/jbang/core/commands/action/CamelStartupRecorderAction.java | 4 ++-- .../apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java | 4 ++-- .../apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java | 4 ++-- .../camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java | 2 +- .../camel/dsl/jbang/core/commands/action/RouteControllerAction.java | 4 ++-- .../camel/dsl/jbang/core/commands/action/TransformMessageAction.java | 4 ++-- .../org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java | 1 + .../org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java | 4 ++-- 17 files changed, 31 insertions(+), 30 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java index 0d6653b7ed05..d622682c1c50 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java @@ -88,11 +88,11 @@ public class CamelBeanDump extends ActionBaseCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java index 7b6479f258d3..6d7c85a1a1e8 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java @@ -125,11 +125,11 @@ public class CamelBrowseAction extends ActionBaseCommand { public Integer doCall() throws Exception { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java index ddf488b2cc67..c887530e8ed7 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java @@ -148,7 +148,7 @@ public class CamelHistoryAction extends ActionWatchCommand { if (it) { if (pids.size() > 1) { printer().println("Interactive mode only operate on a single Camel application"); - return 0; + return 1; } return doInteractiveCall(pids.get(0)); } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java index 4f296cb6da8a..b41e1ea80539 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java @@ -59,11 +59,11 @@ public class CamelLoadAction extends ActionBaseCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } long pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java index e009ff24aafe..3fd7de3d1aba 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java @@ -99,11 +99,11 @@ public class CamelRouteDumpAction extends ActionBaseCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java index 5a443b8275f2..14d609ef7b77 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java @@ -83,11 +83,11 @@ public class CamelRouteStructureAction extends ActionBaseCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java index 747b8a6be403..b346525c3984 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java @@ -144,7 +144,7 @@ public class CamelSendAction extends ActionBaseCommand { for (String h : headers) { if (!h.contains("=")) { printer().println("Header must be in key=value format, was: " + h); - return 0; + return 1; } } } @@ -211,7 +211,7 @@ public class CamelSendAction extends ActionBaseCommand { if (pids.size() != 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java index 00c55fb70e94..19716a7beef3 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java @@ -59,11 +59,11 @@ public class CamelSourceAction extends ActionBaseCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java index 056abeba550d..76f033c94305 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java @@ -57,11 +57,11 @@ public class CamelSourceTop extends ActionWatchCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java index 47253bb0f9cc..48039860faf5 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java @@ -57,11 +57,11 @@ public class CamelStartupRecorderAction extends ActionWatchCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java index 00bd890fc3d6..18fb3bac0087 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java @@ -135,11 +135,11 @@ public class CamelStubAction extends ActionWatchCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java index 8057f84607e2..fd3975e5e03f 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java @@ -99,11 +99,11 @@ public class CamelThreadDump extends ActionWatchCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } // include stack-traces diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java index e45d0104f820..b90a6d4ca201 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java @@ -154,7 +154,7 @@ public class EvalExpressionCommand extends ActionWatchCommand { JsonObject jo = new JsonObject(); if (!h.contains("=")) { printer().println("Header must be in key=value format, was: " + h); - return 0; + return 1; } jo.put("key", StringHelper.before(h, "=")); jo.put("value", StringHelper.after(h, "=")); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java index c6a780588951..7c5fa1fb64b4 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java @@ -84,11 +84,11 @@ public class RouteControllerAction extends ActionWatchCommand { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } // include stack-traces diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java index 081fcbf4dec3..78029b5020a4 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java @@ -220,7 +220,7 @@ public class TransformMessageAction extends ActionWatchCommand { JsonObject jo = new JsonObject(); if (!h.contains("=")) { printer().println("Header must be in key=value format, was: " + h); - return 0; + return 1; } jo.put("key", StringHelper.before(h, "=")); jo.put("value", StringHelper.after(h, "=")); @@ -234,7 +234,7 @@ public class TransformMessageAction extends ActionWatchCommand { JsonObject jo = new JsonObject(); if (!h.contains("=")) { printer().println("Option must be in key=value format, was: " + h); - return 0; + return 1; } jo.put("key", StringHelper.before(h, "=")); jo.put("value", StringHelper.after(h, "=")); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java index dfbc3d909a57..2f54c2297d7e 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java @@ -43,6 +43,7 @@ public class PluginDelete extends PluginBaseCommand { saveConfig(pluginConfig); } else { printer().printf("Plugin %s not found in configuration%n", name); + return 1; } return 0; diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java index 74a78dc8a385..277f340e0092 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java @@ -51,11 +51,11 @@ public class Jolokia extends ProcessBaseCommand { public Integer doCall() throws Exception { List<Long> pids = findPids(name); if (pids.isEmpty()) { - return 0; + return 1; } else if (pids.size() > 1) { printer().println("Name or pid " + name + " matches " + pids.size() + " running Camel integrations. Specify a name or PID that matches exactly one."); - return 0; + return 1; } this.pid = pids.get(0);
