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

davsclaus pushed a commit to branch camel-spring-boot-4.4.x
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git


The following commit(s) were added to refs/heads/camel-spring-boot-4.4.x by 
this push:
     new 1ab1ecd4edb cherry-pick CAMEL-20738 Make Jasypt beans conditional so 
that can be overridden (#1141)
1ab1ecd4edb is described below

commit 1ab1ecd4edb7863223abc84b306123711cb13856
Author: Federico Mariani <34543311+cro...@users.noreply.github.com>
AuthorDate: Mon May 6 13:39:03 2024 +0200

    cherry-pick CAMEL-20738 Make Jasypt beans conditional so that can be 
overridden (#1141)
    
    * Make Jasypt beans conditional so that can be overridden
    
    * Avoid clashes with default parser defined in CamelAutoConfiguration
---
 .../JasyptEncryptedPropertiesAutoconfiguration.java          | 12 +++++++++---
 .../springboot/JasyptSpringEncryptedPropertiesParser.java    | 11 ++++++++---
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git 
a/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptEncryptedPropertiesAutoconfiguration.java
 
b/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptEncryptedPropertiesAutoconfiguration.java
index 550195a85cd..bf1f2a2ec90 100644
--- 
a/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptEncryptedPropertiesAutoconfiguration.java
+++ 
b/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptEncryptedPropertiesAutoconfiguration.java
@@ -39,6 +39,7 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.core.ResolvableType;
 import org.springframework.core.convert.ConversionService;
 import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.Environment;
 import org.springframework.core.env.MutablePropertySources;
 import org.springframework.core.env.PropertyResolver;
 
@@ -60,7 +61,9 @@ public class JasyptEncryptedPropertiesAutoconfiguration {
 
 
     @Bean
-    public JasyptEncryptedPropertiesConfiguration 
JasyptEncryptedPropertiesAutoconfiguration(final ConfigurableEnvironment 
environment) {
+    @ConditionalOnMissingBean(JasyptEncryptedPropertiesConfiguration.class)
+    public JasyptEncryptedPropertiesConfiguration 
JasyptEncryptedPropertiesAutoconfiguration(
+            final ConfigurableEnvironment environment) {
         JasyptEncryptedPropertiesConfiguration config = new 
JasyptEncryptedPropertiesConfiguration();
         final BindHandler handler = new 
IgnoreErrorsBindHandler(BindHandler.DEFAULT);
         final MutablePropertySources propertySources = 
environment.getPropertySources();
@@ -97,6 +100,7 @@ public class JasyptEncryptedPropertiesAutoconfiguration {
     }
 
     @Bean
+    
@ConditionalOnMissingBean(EncryptablePropertySourcesPlaceholderConfigurer.class)
     public EncryptablePropertySourcesPlaceholderConfigurer 
propertyConfigurer(StringEncryptor stringEncryptor) {
         return new 
EncryptablePropertySourcesPlaceholderConfigurer(stringEncryptor);
     }
@@ -106,8 +110,10 @@ public class JasyptEncryptedPropertiesAutoconfiguration {
         and allow the use of encrypted properties inside the camel context.
      */
     @Bean
-    public PropertiesParser encryptedPropertiesParser(PropertyResolver 
propertyResolver, StringEncryptor stringEncryptor) {
-        return new JasyptSpringEncryptedPropertiesParser(propertyResolver, 
stringEncryptor);
+    @ConditionalOnMissingBean(PropertiesParser.class)
+    public PropertiesParser encryptedPropertiesParser(PropertyResolver 
propertyResolver,
+             StringEncryptor stringEncryptor, Environment env) {
+        return new JasyptSpringEncryptedPropertiesParser(propertyResolver, 
stringEncryptor, env);
     }
 
     public SaltGenerator 
getSaltGenerator(JasyptEncryptedPropertiesConfiguration configuration) {
diff --git 
a/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptSpringEncryptedPropertiesParser.java
 
b/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptSpringEncryptedPropertiesParser.java
index ad684495ca5..0f7a5590a00 100644
--- 
a/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptSpringEncryptedPropertiesParser.java
+++ 
b/components-starter/camel-jasypt-starter/src/main/java/org/apache/camel/component/jasypt/springboot/JasyptSpringEncryptedPropertiesParser.java
@@ -16,24 +16,29 @@
  */
 package org.apache.camel.component.jasypt.springboot;
 
-import org.apache.camel.component.properties.DefaultPropertiesParser;
 import org.apache.camel.component.properties.PropertiesLookup;
+import org.apache.camel.spring.boot.SpringPropertiesParser;
 import org.jasypt.encryption.StringEncryptor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.core.env.PropertyResolver;
 
 import static 
org.jasypt.properties.PropertyValueEncryptionUtils.isEncryptedValue;
 import static  org.jasypt.properties.PropertyValueEncryptionUtils.decrypt;
 
 
-public class JasyptSpringEncryptedPropertiesParser extends 
DefaultPropertiesParser {
+public class JasyptSpringEncryptedPropertiesParser extends 
SpringPropertiesParser {
 
     private PropertyResolver propertyResolver;
 
     private StringEncryptor stringEncryptor;
 
     @Autowired
-    public JasyptSpringEncryptedPropertiesParser(PropertyResolver 
propertyResolver, StringEncryptor stringEncryptor){
+    public JasyptSpringEncryptedPropertiesParser(
+            PropertyResolver propertyResolver,
+            StringEncryptor stringEncryptor,
+            Environment env) {
+        super(env);
         this.propertyResolver = propertyResolver;
         this.stringEncryptor = stringEncryptor;
     }

Reply via email to