From 268991a85093518aef1e8966a8cff8b6356b553e Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Tue, 1 Dec 2009 18:31:11 +0000 Subject: [PATCH] INT-899 XmlPayloadUnmarshallingTransformer now accepts File payloads directly. --- .../transformer/XmlPayloadUnmarshallingTransformer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/transformer/XmlPayloadUnmarshallingTransformer.java b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/transformer/XmlPayloadUnmarshallingTransformer.java index cb9d005193..ac8fc35c7d 100644 --- a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/transformer/XmlPayloadUnmarshallingTransformer.java +++ b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/transformer/XmlPayloadUnmarshallingTransformer.java @@ -16,10 +16,12 @@ package org.springframework.integration.xml.transformer; +import java.io.File; import java.io.IOException; import javax.xml.transform.Source; import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; @@ -34,7 +36,7 @@ import org.springframework.xml.transform.StringSource; /** * An implementation of {@link PayloadTransformer} that delegates to an OXM * {@link Unmarshaller}. Expects the payload to be of type {@link Document}, - * {@link String}, {@link Source} or to have an instance of + * {@link String}, {@link File}, {@link Source} or to have an instance of * {@link SourceFactory} that can convert to a {@link Source}. If * alwaysUseSourceFactory is set to true, then the {@link SourceFactory} * will be used to create the {@link Source} regardless of payload type. @@ -81,6 +83,9 @@ public class XmlPayloadUnmarshallingTransformer extends AbstractPayloadTransform else if (payload instanceof String) { source = new StringSource((String) payload); } + else if (payload instanceof File) { + source = new StreamSource((File) payload); + } else if (payload instanceof Document) { source = new DOMSource((Document) payload); }