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

davsclaus pushed a commit to branch lang2
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e8302422ad8a45888f0e3ab0fe993403007da12b
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri Feb 2 11:21:41 2024 +0100

    CAMEL-20378: Languages should be thread-safe and be configured only via 
properties array, all in the same way.
---
 .../language/datasonnet/DatasonnetLanguage.java    | 64 ++++------------------
 1 file changed, 11 insertions(+), 53 deletions(-)

diff --git 
a/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetLanguage.java
 
b/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetLanguage.java
index 1249e5018a9..2c53f177adb 100644
--- 
a/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetLanguage.java
+++ 
b/components/camel-datasonnet/src/main/java/org/apache/camel/language/datasonnet/DatasonnetLanguage.java
@@ -18,7 +18,6 @@ package org.apache.camel.language.datasonnet;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
@@ -65,10 +64,6 @@ public class DatasonnetLanguage extends TypedLanguageSupport 
implements Property
     // See: {@link GroovyLanguage}
     private final Map<String, Mapper> mapperCache = 
LRUCacheFactory.newLRUSoftCache(16, 1000, true);
 
-    private MediaType bodyMediaType;
-    private MediaType outputMediaType;
-    private Collection<String> libraryPaths;
-
     @Override
     public Predicate createPredicate(String expression) {
         return createPredicate(expression, null);
@@ -90,12 +85,17 @@ public class DatasonnetLanguage extends 
TypedLanguageSupport implements Property
 
         DatasonnetExpression answer = new DatasonnetExpression(expression);
         answer.setResultType(property(Class.class, properties, 0, 
getResultType()));
-
-        String stringBodyMediaType = property(String.class, properties, 1, 
null);
-        answer.setBodyMediaType(stringBodyMediaType != null ? 
MediaType.valueOf(stringBodyMediaType) : bodyMediaType);
-        String stringOutputMediaType = property(String.class, properties, 2, 
null);
-        answer.setOutputMediaType(stringOutputMediaType != null ? 
MediaType.valueOf(stringOutputMediaType) : outputMediaType);
-
+        String mediaType = property(String.class, properties, 1, null);
+        if (mediaType != null) {
+            answer.setBodyMediaType(MediaType.valueOf(mediaType));
+        }
+        mediaType = property(String.class, properties, 2, null);
+        if (mediaType != null) {
+            answer.setOutputMediaType(MediaType.valueOf(mediaType));
+        }
+        if (getCamelContext() != null) {
+            answer.init(getCamelContext());
+        }
         return answer;
     }
 
@@ -118,14 +118,6 @@ public class DatasonnetLanguage extends 
TypedLanguageSupport implements Property
         }
 
         switch (ignoreCase ? name.toLowerCase() : name) {
-            case "bodyMediaType":
-            case "bodymediatype":
-                
setBodyMediaType(PropertyConfigurerSupport.property(camelContext, String.class, 
value));
-                return true;
-            case "outputMediaType":
-            case "outputmediatype":
-                
setOutputMediaType(PropertyConfigurerSupport.property(camelContext, 
String.class, value));
-                return true;
             case "resultType":
             case "resulttype":
                 setResultType(PropertyConfigurerSupport.property(camelContext, 
Class.class, value));
@@ -135,38 +127,4 @@ public class DatasonnetLanguage extends 
TypedLanguageSupport implements Property
         }
     }
 
-    // Getter/Setter methods
-    // 
-------------------------------------------------------------------------
-
-    public MediaType getBodyMediaType() {
-        return bodyMediaType;
-    }
-
-    public void setBodyMediaType(MediaType bodyMediaType) {
-        this.bodyMediaType = bodyMediaType;
-    }
-
-    public void setBodyMediaType(String bodyMediaType) {
-        this.bodyMediaType = MediaType.valueOf(bodyMediaType);
-    }
-
-    public MediaType getOutputMediaType() {
-        return outputMediaType;
-    }
-
-    public void setOutputMediaType(MediaType outputMediaType) {
-        this.outputMediaType = outputMediaType;
-    }
-
-    public void setOutputMediaType(String outputMediaType) {
-        this.outputMediaType = MediaType.valueOf(outputMediaType);
-    }
-
-    public Collection<String> getLibraryPaths() {
-        return libraryPaths;
-    }
-
-    public void setLibraryPaths(Collection<String> libraryPaths) {
-        this.libraryPaths = libraryPaths;
-    }
 }

Reply via email to