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 <federico.mariani.1...@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); } }