This is an automated email from the ASF dual-hosted git repository.

davsclaus 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 309dfaed1be improve KnownDependenciesResolver to load all properties 
files present in the classpath (#17189)
309dfaed1be is described below

commit 309dfaed1bef76a995906b019d058f04c942ece4
Author: Bartosz Popiela <[email protected]>
AuthorDate: Wed Feb 19 07:31:13 2025 +0100

    improve KnownDependenciesResolver to load all properties files present in 
the classpath (#17189)
---
 .../main/download/KnownDependenciesResolver.java   | 27 +++++++++++++---------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
index dc5e3747941..35c4c8f962c 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KnownDependenciesResolver.java
@@ -17,6 +17,8 @@
 package org.apache.camel.main.download;
 
 import java.io.InputStream;
+import java.net.URL;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
@@ -38,22 +40,25 @@ public final class KnownDependenciesResolver {
     }
 
     public void loadKnownDependencies() {
-        doLoadKnownDependencies("/camel-main-known-dependencies.properties");
-        
doLoadKnownDependencies("/camel-component-known-dependencies.properties");
+        doLoadKnownDependencies("camel-main-known-dependencies.properties");
+        
doLoadKnownDependencies("camel-component-known-dependencies.properties");
     }
 
     private void doLoadKnownDependencies(String name) {
         try {
-            InputStream is = getClass().getResourceAsStream(name);
-            if (is != null) {
-                Properties prop = new Properties();
-                prop.load(is);
-                Map<String, String> map = new HashMap<>();
-                for (String key : prop.stringPropertyNames()) {
-                    String value = prop.getProperty(key);
-                    map.put(key, value);
+            Enumeration<URL> resources = 
getClass().getClassLoader().getResources(name);
+            while (resources.hasMoreElements()) {
+                URL resource = resources.nextElement();
+                try (InputStream is = resource.openStream()) {
+                    Properties prop = new Properties();
+                    prop.load(is);
+                    Map<String, String> map = new HashMap<>();
+                    for (String key : prop.stringPropertyNames()) {
+                        String value = prop.getProperty(key);
+                        map.put(key, value);
+                    }
+                    addMappings(map);
                 }
-                addMappings(map);
             }
         } catch (Exception e) {
             // ignore

Reply via email to