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 7f3433f6506 CAMEL-19985: Smooks component 7f3433f6506 is described below commit 7f3433f65061b07e7234d50e1e271e79a29435f1 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Jun 3 12:40:39 2024 +0200 CAMEL-19985: Smooks component --- components/camel-smooks/pom.xml | 4 ---- .../component/smooks/converter/SourceConverterLoader.java | 4 ++-- .../camel/component/smooks/converter/SourceConverter.java | 15 +++++++++++---- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/components/camel-smooks/pom.xml b/components/camel-smooks/pom.xml index fe2c481934c..37ef48a763f 100644 --- a/components/camel-smooks/pom.xml +++ b/components/camel-smooks/pom.xml @@ -52,10 +52,6 @@ <groupId>org.apache.camel</groupId> <artifactId>camel-support</artifactId> </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-file</artifactId> - </dependency> <dependency> <groupId>org.smooks</groupId> <artifactId>smooks-core</artifactId> diff --git a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java index 72cbcb7b288..ab1c69772f8 100644 --- a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java +++ b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/converter/SourceConverterLoader.java @@ -46,8 +46,8 @@ public final class SourceConverterLoader implements TypeConverterLoader, CamelCo private void registerConverters(TypeConverterRegistry registry) { addTypeConverter(registry, javax.xml.transform.Source.class, java.io.InputStream.class, false, (type, exchange, value) -> org.apache.camel.component.smooks.converter.SourceConverter.toStreamSource((java.io.InputStream) value)); - addTypeConverter(registry, javax.xml.transform.Source.class, org.apache.camel.component.file.GenericFile.class, false, - (type, exchange, value) -> org.apache.camel.component.smooks.converter.SourceConverter.toStreamSource((org.apache.camel.component.file.GenericFile) value)); + addTypeConverter(registry, javax.xml.transform.Source.class, org.apache.camel.WrappedFile.class, true, + (type, exchange, value) -> org.apache.camel.component.smooks.converter.SourceConverter.toStreamSource((org.apache.camel.WrappedFile) value, exchange)); addTypeConverter(registry, org.smooks.io.payload.JavaSource.class, java.lang.Object.class, false, (type, exchange, value) -> org.apache.camel.component.smooks.converter.SourceConverter.toJavaSource(value)); addTypeConverter(registry, org.smooks.io.payload.JavaSource.class, org.smooks.io.payload.JavaResult.class, false, diff --git a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/converter/SourceConverter.java b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/converter/SourceConverter.java index a411b4a784a..d44bf129246 100644 --- a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/converter/SourceConverter.java +++ b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/converter/SourceConverter.java @@ -23,7 +23,8 @@ import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import org.apache.camel.Converter; -import org.apache.camel.component.file.GenericFile; +import org.apache.camel.Exchange; +import org.apache.camel.WrappedFile; import org.smooks.io.payload.JavaResult; import org.smooks.io.payload.JavaSource; import org.smooks.io.payload.JavaSourceWithoutEventStream; @@ -57,9 +58,15 @@ public class SourceConverter { return new JavaSource(result.getResultMap().values()); } - @Converter - public static Source toStreamSource(GenericFile<File> genericFile) { - return new StreamSource(genericFile.getFile()); + @Converter(allowNull = true) + public static Source toStreamSource(WrappedFile<?> file, Exchange exchange) throws Exception { + Object obj = file.getFile(); + if (obj instanceof File f) { + return new StreamSource(f); + } else { + InputStream is = exchange.getContext().getTypeConverter().mandatoryConvertTo(InputStream.class, file.getBody()); + return new StreamSource(is); + } } }