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);
+        }
+    }
+
 }

Reply via email to