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

commit 7db716734066fab618411936d691663b852e6cbc
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon May 23 11:00:16 2022 +0200

    camel-jbang - Polished
---
 .../apache/camel/dsl/jbang/core/commands/Bind.java |  7 +++++--
 .../camel/dsl/jbang/core/commands/Build.java       | 12 +++++++-----
 .../dsl/jbang/core/commands/CamelJBangMain.java    | 22 +++++++++++-----------
 .../dsl/jbang/core/commands/CodeGenerator.java     |  8 +++++---
 .../dsl/jbang/core/commands/CodeRestGenerator.java |  7 +++++--
 .../camel/dsl/jbang/core/commands/Deploy.java      |  8 +++++---
 .../camel/dsl/jbang/core/commands/Image.java       |  7 +++++--
 .../apache/camel/dsl/jbang/core/commands/Init.java |  7 +++++--
 .../camel/dsl/jbang/core/commands/Manifest.java    |  7 +++++--
 .../camel/dsl/jbang/core/commands/Package.java     | 11 ++++++-----
 .../apache/camel/dsl/jbang/core/commands/Pipe.java |  2 --
 .../camel/dsl/jbang/core/commands/UberJar.java     |  1 -
 .../camel/dsl/jbang/core/commands/Undeploy.java    |  7 +++++--
 13 files changed, 64 insertions(+), 42 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Bind.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Bind.java
index eb0df0d8641..7a6b2d0c8c8 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Bind.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Bind.java
@@ -21,7 +21,6 @@ import java.io.InputStream;
 import java.net.URL;
 import java.util.Iterator;
 import java.util.Set;
-import java.util.concurrent.Callable;
 
 import org.apache.camel.github.GitHubResourceResolver;
 import org.apache.camel.impl.engine.DefaultResourceResolvers;
@@ -44,7 +43,7 @@ import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asText;
 import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.nodeAt;
 
 @Command(name = "bind", description = "Bind source and sink Kamelets as a new 
Camel integration")
-class Bind implements Callable<Integer> {
+class Bind extends CamelCommand {
 
     @CommandLine.Parameters(description = "Source such as a Kamelet or Camel 
endpoint uri", arity = "1")
     private String source;
@@ -60,6 +59,10 @@ class Bind implements Callable<Integer> {
     private boolean helpRequested = false;
     //CHECKSTYLE:ON
 
+    public Bind(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         // the kamelet binding source and sink can either be a kamelet or an 
uri
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Build.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Build.java
index 0385a73c9f7..8738f189e6c 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Build.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Build.java
@@ -16,23 +16,25 @@
  */
 package org.apache.camel.dsl.jbang.core.commands;
 
-import java.util.concurrent.Callable;
-
 import picocli.CommandLine;
 import picocli.CommandLine.Command;
 import picocli.CommandLine.Option;
 
-@Command(name = "build", description = "Build Camel container image and 
resources")
-class Build implements Callable<Integer> {
+@Command(name = "build", description = "Build Camel container image and 
resources (use --help to see sub commands)")
+class Build extends CamelCommand {
+
     //CHECKSTYLE:OFF
     @Option(names = { "-h", "--help" }, usageHelp = true, description = 
"Display the help and sub-commands")
     private boolean helpRequested = false;
+
+    public Build(CamelJBangMain main) {
+        super(main);
+    }
     //CHECKSTYLE:ON
 
     @Override
     public Integer call() throws Exception {
         new CommandLine(this).execute("--help");
-
         return 0;
     }
 }
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
index fc22b313500..5d4b3b13ac0 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
@@ -35,18 +35,18 @@ public class CamelJBangMain implements Callable<Integer> {
         CamelJBangMain main = new CamelJBangMain();
         commandLine = new CommandLine(main)
                 .addSubcommand("run", new CommandLine(new Run(main)))
-                .addSubcommand("init", new CommandLine(new Init()))
-                .addSubcommand("bind", new CommandLine(new Bind()))
+                .addSubcommand("init", new CommandLine(new Init(main)))
+                .addSubcommand("bind", new CommandLine(new Bind(main)))
                 .addSubcommand("pipe", new CommandLine(new Pipe(main)))
-                .addSubcommand("package", new CommandLine(new Package())
-                        .addSubcommand("uber-jar", new UberJar(main)))
-                .addSubcommand("generate", new CommandLine(new CodeGenerator())
-                        .addSubcommand("rest", new CodeRestGenerator()))
-                .addSubcommand("build", new CommandLine(new Build())
-                        .addSubcommand("manifests", new Manifest())
-                        .addSubcommand("image", new Image()))
-                .addSubcommand("deploy", new CommandLine(new Deploy()))
-                .addSubcommand("undeploy", new CommandLine(new Undeploy()));
+                .addSubcommand("package", new CommandLine(new Package(main))
+                        .addSubcommand("uber-jar", new CommandLine(new 
UberJar(main))))
+                .addSubcommand("generate", new CommandLine(new 
CodeGenerator(main))
+                        .addSubcommand("rest", new CommandLine(new 
CodeRestGenerator(main))))
+                .addSubcommand("build", new CommandLine(new Build(main))
+                        .addSubcommand("manifests", new CommandLine(new 
Manifest(main)))
+                        .addSubcommand("image", new CommandLine(new 
Image(main))))
+                .addSubcommand("deploy", new CommandLine(new Deploy(main)))
+                .addSubcommand("undeploy", new CommandLine(new 
Undeploy(main)));
         /* // TODO: do not show commands that are deprecated and to be either 
removed or reworked
                 .addSubcommand("search", new CommandLine(new Search())
                         .addSubcommand("kamelets", new SearchKamelets())
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeGenerator.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeGenerator.java
index 7ce03afb3f4..17ca4d56027 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeGenerator.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeGenerator.java
@@ -16,16 +16,18 @@
  */
 package org.apache.camel.dsl.jbang.core.commands;
 
-import java.util.concurrent.Callable;
-
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "generate", description = "Generate source code 
(use --help to see sub commands)")
-public class CodeGenerator implements Callable<Integer> {
+public class CodeGenerator extends CamelCommand {
 
     @CommandLine.Option(names = { "-h", "--help" }, usageHelp = true, 
description = "Display the help and sub-commands")
     private boolean helpRequested = true;
 
+    public CodeGenerator(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         new CommandLine(this).execute("--help");
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java
index 885e4733116..d50b669d4d5 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java
@@ -18,7 +18,6 @@ package org.apache.camel.dsl.jbang.core.commands;
 
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.util.concurrent.Callable;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -32,7 +31,7 @@ import org.apache.logging.log4j.core.config.Configurator;
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "rest", description = "Generate REST DSL source 
code from OpenApi specification")
-public class CodeRestGenerator implements Callable<Integer> {
+public class CodeRestGenerator extends CamelCommand {
 
     @CommandLine.Option(names = { "-h", "--help" }, usageHelp = true, 
description = "Display the help and sub-commands")
     private boolean helpRequested;
@@ -45,6 +44,10 @@ public class CodeRestGenerator implements Callable<Integer> {
     @CommandLine.Option(names = { "-r", "--routes" }, description = "Generate 
routes (YAML)")
     private boolean generateRoutes;
 
+    public CodeRestGenerator(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         final ObjectMapper mapper = new ObjectMapper();
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Deploy.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Deploy.java
index a88072e5a1c..d601a6eda7d 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Deploy.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Deploy.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.dsl.jbang.core.commands;
 
-import java.util.concurrent.Callable;
-
 import io.fabric8.kubernetes.api.model.Service;
 import io.fabric8.kubernetes.api.model.Status;
 import io.fabric8.kubernetes.api.model.apps.Deployment;
@@ -30,7 +28,7 @@ import io.fabric8.openshift.client.OpenShiftClient;
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "deploy", description = "Deploy resources to 
Kubernetes, OpenShift, Minikube")
-public class Deploy implements Callable<Integer> {
+public class Deploy extends CamelCommand {
 
     @CommandLine.Option(names = { "-h", "--help" }, usageHelp = true, 
description = "Display the help and sub-commands")
     private boolean helpRequested;
@@ -63,6 +61,10 @@ public class Deploy implements Callable<Integer> {
     @CommandLine.Option(names = { "-p", "--password" }, description = 
"Password")
     private String password;
 
+    public Deploy(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         if (openshift) {
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Image.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Image.java
index 8232e7f7c01..20150493511 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Image.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Image.java
@@ -23,7 +23,6 @@ import java.io.InputStreamReader;
 import java.io.Reader;
 import java.nio.file.Paths;
 import java.util.Arrays;
-import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 
@@ -43,7 +42,7 @@ import io.fabric8.openshift.client.OpenShiftClient;
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "image", description = "Create Docker and OCI 
container images")
-public class Image implements Callable<Integer> {
+public class Image extends CamelCommand {
 
     private static final int LOG_TAIL_SIZE = 10;
 
@@ -81,6 +80,10 @@ public class Image implements Callable<Integer> {
                         defaultValue = "java:openjdk-11-ubi8")
     private String sourceImage;
 
+    public Image(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         File jarFile = Paths.get(jar).toFile();
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
index b2da2b4cbc1..792bb7d61b8 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
@@ -19,7 +19,6 @@ package org.apache.camel.dsl.jbang.core.commands;
 import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.util.StringJoiner;
-import java.util.concurrent.Callable;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.dsl.jbang.core.common.exceptions.ResourceDoesNotExist;
@@ -39,7 +38,7 @@ import static 
org.apache.camel.dsl.jbang.core.commands.GitHubHelper.asGithubSing
 import static 
org.apache.camel.dsl.jbang.core.commands.GitHubHelper.fetchGithubUrls;
 
 @Command(name = "init", description = "Initialize empty Camel integration")
-class Init implements Callable<Integer> {
+class Init extends CamelCommand {
 
     @CommandLine.Parameters(description = "Name of integration file", arity = 
"1")
     private String file;
@@ -53,6 +52,10 @@ class Init implements Callable<Integer> {
     private boolean helpRequested = false;
     //CHECKSTYLE:ON
 
+    public Init(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
 
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Manifest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Manifest.java
index e7efd0195e1..9f9887250c8 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Manifest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Manifest.java
@@ -22,7 +22,6 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.concurrent.Callable;
 
 import io.fabric8.kubernetes.api.model.Service;
 import io.fabric8.kubernetes.api.model.apps.Deployment;
@@ -33,7 +32,7 @@ import io.fabric8.openshift.api.model.Route;
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "manifests", description = "Create Kubernetes 
resources")
-public class Manifest implements Callable<Integer> {
+public class Manifest extends CamelCommand {
 
     @CommandLine.Option(names = { "-h", "--help" }, usageHelp = true, 
description = "Display the help and sub-commands")
     private boolean helpRequested;
@@ -65,6 +64,10 @@ public class Manifest implements Callable<Integer> {
     @CommandLine.Option(names = { "-j", "--jar" }, description = "Jar file", 
defaultValue = "camel-runner.jar")
     private String jar;
 
+    public Manifest(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         try {
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Package.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Package.java
index 76f31f318aa..016e821bdbf 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Package.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Package.java
@@ -16,23 +16,24 @@
  */
 package org.apache.camel.dsl.jbang.core.commands;
 
-import java.util.concurrent.Callable;
-
 import picocli.CommandLine;
 import picocli.CommandLine.Command;
 import picocli.CommandLine.Option;
 
-@Command(name = "package", description = "Package Camel application")
-class Package implements Callable<Integer> {
+@Command(name = "package", description = "Package Camel application (use 
--help to see sub commands)")
+class Package extends CamelCommand {
     //CHECKSTYLE:OFF
     @Option(names = { "-h", "--help" }, usageHelp = true, description = 
"Display the help and sub-commands")
     private boolean helpRequested = false;
     //CHECKSTYLE:ON
 
+    public Package(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         new CommandLine(this).execute("--help");
-
         return 0;
     }
 }
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Pipe.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Pipe.java
index 39d915d54b4..de3e27e4358 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Pipe.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Pipe.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.dsl.jbang.core.commands;
 
-import java.util.concurrent.Callable;
-
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "pipe", description = "Run Camel in pipe and 
filters mode for terminal scripting")
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/UberJar.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/UberJar.java
index 709167c4d9c..76b92e80b89 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/UberJar.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/UberJar.java
@@ -29,7 +29,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.concurrent.Callable;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 import java.util.jar.JarOutputStream;
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Undeploy.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Undeploy.java
index 21effdf524a..f2dc038af23 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Undeploy.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Undeploy.java
@@ -17,7 +17,6 @@
 package org.apache.camel.dsl.jbang.core.commands;
 
 import java.util.Map;
-import java.util.concurrent.Callable;
 
 import io.fabric8.kubernetes.client.DefaultKubernetesClient;
 import io.fabric8.kubernetes.client.KubernetesClient;
@@ -26,7 +25,7 @@ import io.fabric8.openshift.client.OpenShiftClient;
 import picocli.CommandLine;
 
 @CommandLine.Command(name = "undeploy", description = "Undeploy resources from 
Kubernetes, OpenShift, Minikube")
-public class Undeploy implements Callable<Integer> {
+public class Undeploy extends CamelCommand {
 
     @CommandLine.Option(names = { "-h", "--help" }, usageHelp = true, 
description = "Display the help and sub-commands")
     private boolean helpRequested;
@@ -47,6 +46,10 @@ public class Undeploy implements Callable<Integer> {
     @CommandLine.Option(names = { "-p", "--password" }, description = 
"Password")
     private String password;
 
+    public Undeploy(CamelJBangMain main) {
+        super(main);
+    }
+
     @Override
     public Integer call() throws Exception {
         Map labels = KubernetesHelper.getLabels(name, version);

Reply via email to