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 <[email protected]>
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);
+ }
+ }
+
}