This is an automated email from the ASF dual-hosted git repository. orpiske 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 fd06cefcde9 (chores) camel-jbang: fixed leaky streams fd06cefcde9 is described below commit fd06cefcde9114422f0f64e6f6800ef6be652b63 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Mon Jun 27 09:44:26 2022 +0200 (chores) camel-jbang: fixed leaky streams --- .../java/org/apache/camel/dsl/jbang/core/commands/Export.java | 4 ++-- .../camel/dsl/jbang/core/commands/ExportBaseCommand.java | 10 +++++----- .../apache/camel/dsl/jbang/core/commands/ExportCamelMain.java | 4 ++-- .../apache/camel/dsl/jbang/core/commands/ExportQuarkus.java | 4 ++-- .../apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java | 4 ++-- .../java/org/apache/camel/dsl/jbang/core/commands/Run.java | 2 +- .../org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java | 10 ++++++++++ 7 files changed, 24 insertions(+), 14 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java index 2042c024143..f78ead4c07d 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java @@ -17,9 +17,9 @@ package org.apache.camel.dsl.jbang.core.commands; import java.io.File; -import java.io.FileInputStream; import java.util.Properties; +import org.apache.camel.dsl.jbang.core.common.RuntimeUtil; import org.apache.camel.util.CamelCaseOrderedProperties; import picocli.CommandLine.Command; @@ -37,7 +37,7 @@ class Export extends ExportBaseCommand { File profile = new File(getProfile() + ".properties"); if (profile.exists()) { Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(profile)); + RuntimeUtil.loadProperties(prop, profile); if (this.runtime == null) { this.runtime = prop.getProperty("camel.jbang.runtime"); } 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 1afd9a5d220..1727b6d6931 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 @@ -17,7 +17,6 @@ package org.apache.camel.dsl.jbang.core.commands; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -208,7 +207,7 @@ abstract class ExportBaseCommand extends CamelCommand { // include custom dependencies defined in profile if (profile != null && profile.exists()) { Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(profile)); + RuntimeUtil.loadProperties(prop, profile); String deps = prop.getProperty("camel.jbang.dependencies"); if (deps != null) { for (String d : deps.split(",")) { @@ -240,7 +239,7 @@ abstract class ExportBaseCommand extends CamelCommand { throws Exception { // read the settings file and find the files to copy Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(settings)); + RuntimeUtil.loadProperties(prop, settings); for (String k : SETTINGS_PROP_SOURCE_KEYS) { String files = prop.getProperty(k); @@ -289,10 +288,11 @@ abstract class ExportBaseCommand extends CamelCommand { Function<Properties, Object> customize) throws Exception { Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(settings)); + RuntimeUtil.loadProperties(prop, settings); + Properties prop2 = new CamelCaseOrderedProperties(); if (profile.exists()) { - prop2.load(new FileInputStream(profile)); + RuntimeUtil.loadProperties(prop2, profile); } for (Map.Entry<Object, Object> entry : prop.entrySet()) { diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java index 2ce12401558..e7512cd8b85 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java @@ -17,7 +17,6 @@ package org.apache.camel.dsl.jbang.core.commands; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.Properties; @@ -25,6 +24,7 @@ import java.util.Set; import org.apache.camel.catalog.CamelCatalog; import org.apache.camel.catalog.DefaultCamelCatalog; +import org.apache.camel.dsl.jbang.core.common.RuntimeUtil; import org.apache.camel.main.download.MavenGav; import org.apache.camel.util.CamelCaseOrderedProperties; import org.apache.camel.util.FileUtil; @@ -130,7 +130,7 @@ class ExportCamelMain extends Export { context = context.replaceAll("\\{\\{ \\.MainClassname }}", packageName + "." + mainClassname); Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(settings)); + RuntimeUtil.loadProperties(prop, settings); String repos = prop.getProperty("camel.jbang.repos"); if (repos == null) { context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", ""); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java index 68ce820e7f2..eedb9b824a2 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java @@ -17,7 +17,6 @@ package org.apache.camel.dsl.jbang.core.commands; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.util.Properties; @@ -33,6 +32,7 @@ import org.w3c.dom.NodeList; import org.apache.camel.catalog.CamelCatalog; import org.apache.camel.catalog.DefaultCamelCatalog; import org.apache.camel.catalog.RuntimeProvider; +import org.apache.camel.dsl.jbang.core.common.RuntimeUtil; import org.apache.camel.dsl.jbang.core.common.XmlHelper; import org.apache.camel.main.KameletMain; import org.apache.camel.main.download.MavenArtifact; @@ -166,7 +166,7 @@ class ExportQuarkus extends Export { context = context.replaceFirst("\\{\\{ \\.CamelVersion }}", camelVersion); Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(settings)); + RuntimeUtil.loadProperties(prop, settings); String repos = prop.getProperty("camel.jbang.repos"); if (repos == null) { context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", ""); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java index f46bcb8d752..befcdf202fc 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java @@ -17,7 +17,6 @@ package org.apache.camel.dsl.jbang.core.commands; import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -27,6 +26,7 @@ import java.util.Set; import org.apache.camel.catalog.CamelCatalog; import org.apache.camel.catalog.DefaultCamelCatalog; import org.apache.camel.catalog.RuntimeProvider; +import org.apache.camel.dsl.jbang.core.common.RuntimeUtil; import org.apache.camel.main.KameletMain; import org.apache.camel.main.download.MavenDependencyDownloader; import org.apache.camel.main.download.MavenGav; @@ -133,7 +133,7 @@ class ExportSpringBoot extends Export { context = context.replaceFirst("\\{\\{ \\.CamelVersion }}", camelVersion); Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(settings)); + RuntimeUtil.loadProperties(prop, settings); String repos = prop.getProperty("camel.jbang.repos"); if (repos == null) { context = context.replaceFirst("\\{\\{ \\.MavenRepositories }}", ""); 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 a82635414ed..256090dd99f 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 @@ -249,7 +249,7 @@ class Run extends CamelCommand { private Properties loadProfileProperties(File source) throws Exception { Properties prop = new CamelCaseOrderedProperties(); - prop.load(new FileInputStream(source)); + RuntimeUtil.loadProperties(prop, source); // special for routes include pattern that we need to "fix" after reading from properties // to make this work in run command diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java index e9585bbd4d8..d496de8a0e0 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java @@ -16,6 +16,10 @@ */ package org.apache.camel.dsl.jbang.core.common; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Properties; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.logging.log4j.Level; @@ -73,4 +77,10 @@ public final class RuntimeUtil { } } + public static void loadProperties(Properties properties, File file) throws IOException { + try (final FileInputStream fileInputStream = new FileInputStream(file)) { + properties.load(fileInputStream); + } + } + }