Message payload can no longer be set. MessageTransformer's transform() method now returns a Message (instead of void). ChannelInterceptor preSend() and postReceive() methods now return a Message instead of boolean.
This commit is contained in:
@@ -16,15 +16,18 @@
|
||||
|
||||
package org.springframework.integration.xml.config;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javax.xml.transform.dom.DOMResult;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.transformer.MessageTransformer;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
import org.w3c.dom.Document;
|
||||
@@ -35,40 +38,42 @@ import org.w3c.dom.Document;
|
||||
*
|
||||
*/
|
||||
public class XmlMarshallingTransformerParserTests {
|
||||
|
||||
ApplicationContext appContext;
|
||||
|
||||
|
||||
private ApplicationContext appContext;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp(){
|
||||
appContext = new ClassPathXmlApplicationContext("XmlMarshallingTransformerParserTests-context.xml", getClass());
|
||||
this.appContext = new ClassPathXmlApplicationContext("XmlMarshallingTransformerParserTests-context.xml", getClass());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testDefault() throws Exception{
|
||||
MessageTransformer transformer = (MessageTransformer)appContext.getBean("marshallingTransfomerNoResultFactory");
|
||||
public void testDefault() throws Exception {
|
||||
MessageTransformer transformer = (MessageTransformer) appContext.getBean("marshallingTransfomerNoResultFactory");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>("hello");
|
||||
transformer.transform(message);
|
||||
assertTrue("Wrong payload type ", message.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document)((DOMResult)message.getPayload()).getNode();
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertTrue("Wrong payload type", result.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document) ((DOMResult) result.getPayload()).getNode();
|
||||
assertEquals("Wrong palyoad", "hello", doc.getDocumentElement().getTextContent());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testDOMResult() throws Exception{
|
||||
MessageTransformer transformer = (MessageTransformer)appContext.getBean("marshallingTransfomerDOMResultFactory");
|
||||
public void testDOMResult() throws Exception {
|
||||
MessageTransformer transformer = (MessageTransformer) appContext.getBean("marshallingTransfomerDOMResultFactory");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>("hello");
|
||||
transformer.transform(message);
|
||||
assertTrue("Wrong payload type ", message.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document)((DOMResult)message.getPayload()).getNode();
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertTrue("Wrong payload type ", result.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document) ((DOMResult) result.getPayload()).getNode();
|
||||
assertEquals("Wrong palyoad", "hello", doc.getDocumentElement().getTextContent());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testStringResult() throws Exception{
|
||||
MessageTransformer transformer = (MessageTransformer)appContext.getBean("marshallingTransfomerStringResultFactory");
|
||||
public void testStringResult() throws Exception {
|
||||
MessageTransformer transformer = (MessageTransformer) appContext.getBean("marshallingTransfomerStringResultFactory");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>("hello");
|
||||
transformer.transform(message);
|
||||
assertTrue("Wrong payload type ", message.getPayload() instanceof StringResult);
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertTrue("Wrong payload type", result.getPayload() instanceof StringResult);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2007 the original author or authors.
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,24 +16,25 @@
|
||||
|
||||
package org.springframework.integration.xml.config;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.message.MessagingException;
|
||||
import org.springframework.integration.transformer.MessageTransformer;
|
||||
import org.springframework.integration.xml.util.XmlTestUtil;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jonas Partner
|
||||
*
|
||||
*/
|
||||
public class XmlUnmarshallingTransformerParserTests {
|
||||
|
||||
@@ -41,6 +42,7 @@ public class XmlUnmarshallingTransformerParserTests {
|
||||
|
||||
StubUnmarshaller unmarshaller;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
appContext = new ClassPathXmlApplicationContext("XmlUnmarshallingTransformerParserTests-context.xml",
|
||||
@@ -48,13 +50,14 @@ public class XmlUnmarshallingTransformerParserTests {
|
||||
unmarshaller = (StubUnmarshaller) appContext.getBean("unmarshaller");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testDefaultUnmarshall() throws Exception {
|
||||
MessageTransformer transformer = (MessageTransformer) appContext.getBean("defaultUnmarshaller");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(new StringSource(
|
||||
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><order><orderItem>test</orderItem></order>"));
|
||||
transformer.transform(message);
|
||||
assertEquals("Wrong payload after unmarshalling ", "unmarshalled", message.getPayload());
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertEquals("Wrong payload after unmarshalling", "unmarshalled", result.getPayload());
|
||||
assertTrue("Wrong source passed to unmarshaller", unmarshaller.sourcesPassed.poll() instanceof StringSource);
|
||||
}
|
||||
|
||||
@@ -63,8 +66,8 @@ public class XmlUnmarshallingTransformerParserTests {
|
||||
MessageTransformer transformer = (MessageTransformer) appContext.getBean("defaultUnmarshaller");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(
|
||||
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><order><orderItem>test</orderItem></order>");
|
||||
transformer.transform(message);
|
||||
assertEquals("Wrong payload after unmarshalling ", "unmarshalled", message.getPayload());
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertEquals("Wrong payload after unmarshalling", "unmarshalled", result.getPayload());
|
||||
assertTrue("Wrong source passed to unmarshaller", unmarshaller.sourcesPassed.poll() instanceof DOMSource);
|
||||
}
|
||||
|
||||
@@ -74,8 +77,8 @@ public class XmlUnmarshallingTransformerParserTests {
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(
|
||||
XmlTestUtil
|
||||
.getDocumentForString("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><order><orderItem>test</orderItem></order>"));
|
||||
transformer.transform(message);
|
||||
assertEquals("Wrong payload after unmarshalling ", "unmarshalled", message.getPayload());
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertEquals("Wrong payload after unmarshalling", "unmarshalled", result.getPayload());
|
||||
assertTrue("Wrong source passed to unmarshaller", unmarshaller.sourcesPassed.poll() instanceof DOMSource);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2007 the original author or authors.
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,39 +16,48 @@
|
||||
|
||||
package org.springframework.integration.xml.config;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javax.xml.transform.dom.DOMResult;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.transformer.MessageTransformer;
|
||||
import org.springframework.integration.xml.util.XmlTestUtil;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
/**
|
||||
* @author Jonas Partner
|
||||
*/
|
||||
public class XsltPayloadTransformerParserTests {
|
||||
|
||||
String doc = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><order><orderItem>test</orderItem></order>";
|
||||
|
||||
ApplicationContext applicationContext;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
applicationContext = new ClassPathXmlApplicationContext(getClass().getSimpleName() + "-context.xml", getClass());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testWithResourceProvided() throws Exception {
|
||||
MessageTransformer messageTransformer = (MessageTransformer) applicationContext
|
||||
.getBean("xsltTransfomerWithResource");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(XmlTestUtil.getDomSourceForString(doc));
|
||||
messageTransformer.transform(message);
|
||||
assertTrue("Payload was not a DOMResult", message.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document) ((DOMResult) message.getPayload()).getNode();
|
||||
assertEquals("Wrong palyoad", "test", doc.getDocumentElement().getTextContent());
|
||||
Message<?> result = messageTransformer.transform(message);
|
||||
assertTrue("Payload was not a DOMResult", result.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document) ((DOMResult) result.getPayload()).getNode();
|
||||
assertEquals("Wrong payload", "test", doc.getDocumentElement().getTextContent());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -56,10 +65,10 @@ public class XsltPayloadTransformerParserTests {
|
||||
MessageTransformer messageTransformer = (MessageTransformer) applicationContext
|
||||
.getBean("xsltTransformerWithTemplates");
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(XmlTestUtil.getDomSourceForString(doc));
|
||||
messageTransformer.transform(message);
|
||||
assertTrue("Payload was not a DOMResult", message.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document) ((DOMResult) message.getPayload()).getNode();
|
||||
assertEquals("Wrong palyoad", "test", doc.getDocumentElement().getTextContent());
|
||||
Message<?> result = messageTransformer.transform(message);
|
||||
assertTrue("Payload was not a DOMResult", result.getPayload() instanceof DOMResult);
|
||||
Document doc = (Document) ((DOMResult) result.getPayload()).getNode();
|
||||
assertEquals("Wrong payload", "test", doc.getDocumentElement().getTextContent());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2007 the original author or authors.
|
||||
* Copyright 2002-2008 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,37 +16,46 @@
|
||||
|
||||
package org.springframework.integration.xml.transformer;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javax.xml.transform.dom.DOMResult;
|
||||
import javax.xml.transform.sax.SAXResult;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.message.MessagingException;
|
||||
import org.springframework.integration.xml.util.XmlTestUtil;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
/**
|
||||
* @author Jonas Partner
|
||||
*/
|
||||
public class ResultToDocumentTransformerTests {
|
||||
|
||||
String doc = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><order><orderItem>test</orderItem></order>";
|
||||
|
||||
ResultToDocumentTransformer resToDocTransformer;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
resToDocTransformer = new ResultToDocumentTransformer();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testWithDomResult() throws Exception {
|
||||
DOMResult result = XmlTestUtil.getDomResultForString(doc);
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(result);
|
||||
resToDocTransformer.transform(message);
|
||||
assertTrue("Wrong payload type expected Document", message.getPayload() instanceof Document);
|
||||
Document doc = (Document) message.getPayload();
|
||||
Message<?> transformed = resToDocTransformer.transform(message);
|
||||
assertTrue("Wrong payload type expected Document", transformed.getPayload() instanceof Document);
|
||||
Document doc = (Document) transformed.getPayload();
|
||||
assertEquals("Wrong root element name", "order", doc.getDocumentElement().getNodeName());
|
||||
}
|
||||
|
||||
@@ -54,9 +63,9 @@ public class ResultToDocumentTransformerTests {
|
||||
public void testWithStringResult() throws Exception {
|
||||
StringResult result = XmlTestUtil.getStringResultForString(doc);
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(result);
|
||||
resToDocTransformer.transform(message);
|
||||
assertTrue("Wrong payload type expected Document", message.getPayload() instanceof Document);
|
||||
Document doc = (Document) message.getPayload();
|
||||
Message<?> transformed = resToDocTransformer.transform(message);
|
||||
assertTrue("Wrong payload type expected Document", transformed.getPayload() instanceof Document);
|
||||
Document doc = (Document) transformed.getPayload();
|
||||
assertEquals("Wrong root element name", "order", doc.getDocumentElement().getNodeName());
|
||||
}
|
||||
|
||||
|
||||
@@ -44,9 +44,9 @@ public class XmlPayloadMarshallingTransformerTests {
|
||||
XmlPayloadMarshallingTransformer transformer = new XmlPayloadMarshallingTransformer(marshaller);
|
||||
transformer.setResultFactory(new StringResultFactory());
|
||||
Message<?> message = new StringMessage("world");
|
||||
transformer.transform(message);
|
||||
assertEquals(StringResult.class, message.getPayload().getClass());
|
||||
assertEquals("hello world", message.getPayload().toString());
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertEquals(StringResult.class, result.getPayload().getClass());
|
||||
assertEquals("hello world", result.getPayload().toString());
|
||||
assertEquals("world", marshaller.payloads.get(0));
|
||||
}
|
||||
|
||||
@@ -55,11 +55,12 @@ public class XmlPayloadMarshallingTransformerTests {
|
||||
TestMarshaller marshaller = new TestMarshaller();
|
||||
XmlPayloadMarshallingTransformer transformer = new XmlPayloadMarshallingTransformer(marshaller);
|
||||
Message<?> message = new StringMessage("world");
|
||||
transformer.transform(message);
|
||||
assertEquals(DOMResult.class, message.getPayload().getClass());
|
||||
Message<?> result = transformer.transform(message);
|
||||
assertEquals(DOMResult.class, result.getPayload().getClass());
|
||||
assertEquals("world", marshaller.payloads.get(0));
|
||||
}
|
||||
|
||||
|
||||
private static class TestMarshaller implements Marshaller {
|
||||
|
||||
List<Object> payloads = new ArrayList<Object>();
|
||||
@@ -74,7 +75,6 @@ public class XmlPayloadMarshallingTransformerTests {
|
||||
if (result instanceof StringResult) {
|
||||
((StringResult) result).getWriter().write("hello world");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.io.IOException;
|
||||
import javax.xml.transform.Source;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.oxm.Unmarshaller;
|
||||
@@ -30,22 +31,21 @@ import org.springframework.oxm.XmlMappingException;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jonas Partner
|
||||
*
|
||||
*/
|
||||
public class XmlPayloadUnmarshallingTransfomerTests {
|
||||
public class XmlPayloadUnmarshallingTransformerTests {
|
||||
|
||||
@Test
|
||||
public void testStringSourceToString() {
|
||||
Unmarshaller unmarshaller = new TestUnmarshaller();
|
||||
XmlPayloadUnmarshallingTransfomer transformer = new XmlPayloadUnmarshallingTransfomer(unmarshaller);
|
||||
XmlPayloadUnmarshallingTransformer transformer = new XmlPayloadUnmarshallingTransformer(unmarshaller);
|
||||
Message<?> message = new GenericMessage<StringSource>(new StringSource("world"));
|
||||
transformer.transform(message);
|
||||
assertEquals(String.class, message.getPayload().getClass());
|
||||
assertEquals("hello world", message.getPayload().toString());
|
||||
Message<?> transformed = transformer.transform(message);
|
||||
assertEquals(String.class, transformed.getPayload().getClass());
|
||||
assertEquals("hello world", transformed.getPayload().toString());
|
||||
}
|
||||
|
||||
|
||||
private static class TestUnmarshaller implements Unmarshaller {
|
||||
public Object unmarshal(Source source) throws XmlMappingException, IOException {
|
||||
if (source instanceof StringSource) {
|
||||
@@ -13,6 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.integration.xml.transformer;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
@@ -22,19 +23,20 @@ import javax.xml.transform.dom.DOMResult;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
import org.springframework.core.io.ByteArrayResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.integration.message.GenericMessage;
|
||||
import org.springframework.integration.message.Message;
|
||||
import org.springframework.integration.message.MessagingException;
|
||||
import org.springframework.integration.message.StringMessage;
|
||||
import org.springframework.integration.xml.util.XmlTestUtil;
|
||||
import org.springframework.xml.transform.StringSource;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jonas Partner
|
||||
*
|
||||
*/
|
||||
public class XsltPayloadTransformerTest {
|
||||
|
||||
@@ -57,8 +59,8 @@ public class XsltPayloadTransformerTest {
|
||||
@Test
|
||||
public void testSourceAsPayload() throws Exception {
|
||||
GenericMessage<Source> message = new GenericMessage<Source>(new StringSource(doc));
|
||||
transformer.transform(message);
|
||||
DOMResult result = (DOMResult) message.getPayload();
|
||||
Message<?> transformed = transformer.transform(message);
|
||||
DOMResult result = (DOMResult) transformed.getPayload();
|
||||
String rootNodeName = ((Document) result.getNode()).getDocumentElement().getNodeName();
|
||||
assertEquals("Wrong name for root element after transform", "bob", rootNodeName);
|
||||
}
|
||||
@@ -66,8 +68,8 @@ public class XsltPayloadTransformerTest {
|
||||
@Test
|
||||
public void testStringAsPayload() throws Exception {
|
||||
GenericMessage<Object> message = new GenericMessage<Object>(doc);
|
||||
transformer.transform(message);
|
||||
DOMResult result = (DOMResult) message.getPayload();
|
||||
Message<?> transformed = transformer.transform(message);
|
||||
DOMResult result = (DOMResult) transformed.getPayload();
|
||||
String rootNodeName = ((Document) result.getNode()).getDocumentElement().getNodeName();
|
||||
assertEquals("Wrong name for root element after transform", "bob", rootNodeName);
|
||||
}
|
||||
@@ -82,7 +84,8 @@ public class XsltPayloadTransformerTest {
|
||||
transformer.transform(new GenericMessage<Long>(new Long(12)));
|
||||
}
|
||||
|
||||
public Resource getXslResource() throws Exception {
|
||||
|
||||
private Resource getXslResource() throws Exception {
|
||||
String xsl = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"><xsl:template match=\"order\"><bob>test</bob></xsl:template></xsl:stylesheet>";
|
||||
return new ByteArrayResource(xsl.getBytes("UTF-8"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user