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