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 8b924c681bf fixes CAMEL-21582, makes CamelMicroProfilePropertiesSource 
to extends LoadablePropertiesSource when using 
org.eclipse.microprofile.config.ConfigProvider (#16689)
8b924c681bf is described below

commit 8b924c681bf16a225ea3d51bada4cd373548b172
Author: JiriOndrusek <ondrusek.j...@gmail.com>
AuthorDate: Fri Jan 3 16:48:25 2025 +0100

    fixes CAMEL-21582, makes CamelMicroProfilePropertiesSource to extends 
LoadablePropertiesSource when using 
org.eclipse.microprofile.config.ConfigProvider (#16689)
---
 .../config/CamelMicroProfilePropertiesSource.java  | 34 ++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git 
a/components/camel-microprofile/camel-microprofile-config/src/main/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSource.java
 
b/components/camel-microprofile/camel-microprofile-config/src/main/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSource.java
index 3eaadc78f79..ac3df7e3f94 100644
--- 
a/components/camel-microprofile/camel-microprofile-config/src/main/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSource.java
+++ 
b/components/camel-microprofile/camel-microprofile-config/src/main/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSource.java
@@ -16,8 +16,12 @@
  */
 package org.apache.camel.component.microprofile.config;
 
-import org.apache.camel.spi.PropertiesSource;
+import java.util.Properties;
+import java.util.function.Predicate;
+
+import org.apache.camel.spi.LoadablePropertiesSource;
 import org.apache.camel.spi.annotations.JdkService;
+import org.apache.camel.util.OrderedProperties;
 import org.eclipse.microprofile.config.ConfigProvider;
 
 /**
@@ -25,7 +29,7 @@ import org.eclipse.microprofile.config.ConfigProvider;
  * This allows using configuration management from MicroProfile with Camel.
  */
 @JdkService("properties-source-factory")
-public class CamelMicroProfilePropertiesSource implements PropertiesSource {
+public class CamelMicroProfilePropertiesSource implements 
LoadablePropertiesSource {
 
     @Override
     public String getName() {
@@ -37,6 +41,32 @@ public class CamelMicroProfilePropertiesSource implements 
PropertiesSource {
         return ConfigProvider.getConfig().getOptionalValue(name, 
String.class).orElse(null);
     }
 
+    @Override
+    public Properties loadProperties() {
+        return loadProperties(s -> true);
+    }
+
+    @Override
+    public Properties loadProperties(Predicate<String> filter) {
+        Properties answer = new OrderedProperties();
+
+        for (String name : ConfigProvider.getConfig().getPropertyNames()) {
+            if (filter.test(name)) {
+                var value = getProperty(name);
+                if (value != null) {
+                    answer.put(name, getProperty(name));
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    @Override
+    public void reloadProperties(String location) {
+        // noop
+    }
+
     @Override
     public String toString() {
         return "camel-microprofile-config";

Reply via email to