You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by fm...@apache.org on 2023/03/13 15:40:17 UTC
[camel] branch main updated: Print user configuration values
This is an automated email from the ASF dual-hosted git repository.
fmariani 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 a81f2b812e0 Print user configuration values
a81f2b812e0 is described below
commit a81f2b812e08e777c400f3beb8bb8112581ec327
Author: Croway <fe...@gmail.com>
AuthorDate: Mon Mar 13 15:30:23 2023 +0100
Print user configuration values
---
.../camel/dsl/jbang/core/commands/CamelCommand.java | 16 ++++++++++++++++
.../camel/dsl/jbang/core/commands/ExportBaseCommand.java | 3 +++
.../org/apache/camel/dsl/jbang/core/commands/Run.java | 3 +++
.../camel/dsl/jbang/core/common/CommandLineHelper.java | 12 +-----------
4 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelCommand.java
index fa2be23a340..cafd28602d0 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelCommand.java
@@ -17,9 +17,12 @@
package org.apache.camel.dsl.jbang.core.commands;
import java.io.File;
+import java.util.Arrays;
+import java.util.Properties;
import java.util.Stack;
import java.util.concurrent.Callable;
+import org.apache.camel.dsl.jbang.core.common.CommandLineHelper;
import org.apache.camel.dsl.jbang.core.common.RuntimeUtil;
import picocli.CommandLine;
import picocli.CommandLine.IParameterConsumer;
@@ -80,6 +83,19 @@ public abstract class CamelCommand implements Callable<Integer> {
return new File(camelDir, pid + "-trace.json");
}
+ protected void printConfigurationValues() {
+ final Properties configProperties = new Properties();
+ CommandLineHelper.loadProperties(properties -> configProperties.putAll(properties));
+ spec.options().forEach(opt -> {
+ if (Arrays.stream(opt.names()).anyMatch(name ->
+ // name starts with --
+ configProperties.containsKey(name.substring(2)))) {
+ System.out.printf("%s = %s%n",
+ opt.longestName(), opt.getValue().toString());
+ }
+ });
+ }
+
protected abstract static class ParameterConsumer<T> implements IParameterConsumer {
@Override
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 61c71481c0c..b78feedbe32 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -161,6 +161,9 @@ abstract class ExportBaseCommand extends CamelCommand {
} else {
RuntimeUtil.configureLog("off", false, false, false, true);
}
+
+ System.out.println("Exporting integration with the following configuration:");
+ printConfigurationValues();
// export
return export();
}
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
index 1a5ab9d3142..3cfcd6dddb5 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
@@ -217,6 +217,9 @@ public class Run extends CamelCommand {
@Override
public Integer call() throws Exception {
+ System.out.println("Running integration with the following configuration:");
+ printConfigurationValues();
+
return run();
}
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CommandLineHelper.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CommandLineHelper.java
index a5b9a5f4369..7c4c23b05a7 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CommandLineHelper.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CommandLineHelper.java
@@ -90,17 +90,7 @@ public final class CommandLineHelper {
@Override
public String defaultValue(CommandLine.Model.ArgSpec arg) throws Exception {
- String value = super.defaultValue(arg);
- if (value != null) {
- if (arg instanceof CommandLine.Model.OptionSpec) {
- // TODO: capture these default values that are in use
- // and find a way to log them only once (and have an option to turn this off)
- CommandLine.Model.OptionSpec os = (CommandLine.Model.OptionSpec) arg;
- String k = os.longestName();
- System.out.println(k + "=" + value);
- }
- }
- return value;
+ return super.defaultValue(arg);
}
}