diff --git a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/AbstractFilePayloadTransformerParser.java b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/AbstractFilePayloadTransformerParser.java
index 539db60b94..e7db6479e5 100644
--- a/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/AbstractFilePayloadTransformerParser.java
+++ b/org.springframework.integration.file/src/main/java/org/springframework/integration/file/config/AbstractFilePayloadTransformerParser.java
@@ -20,7 +20,7 @@ import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.integration.transformer.config.AbstractTransformerParser;
+import org.springframework.integration.config.AbstractTransformerParser;
/**
* Base class for File payload transformer parsers.
diff --git a/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailNamespaceHandler.java b/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailNamespaceHandler.java
index 5ae5b99c98..797bbbfc39 100644
--- a/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailNamespaceHandler.java
+++ b/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailNamespaceHandler.java
@@ -17,8 +17,8 @@
package org.springframework.integration.mail.config;
import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
+import org.springframework.integration.config.SimpleHeaderEnricherParser;
import org.springframework.integration.mail.MailHeaders;
-import org.springframework.integration.transformer.config.SimpleHeaderEnricherParser;
/**
* Namespace handler for the 'mail' namespace.
diff --git a/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailToStringTransformerParser.java b/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailToStringTransformerParser.java
index 1b961d818f..b3c9a54328 100644
--- a/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailToStringTransformerParser.java
+++ b/org.springframework.integration.mail/src/main/java/org/springframework/integration/mail/config/MailToStringTransformerParser.java
@@ -20,10 +20,10 @@ import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.integration.config.AbstractTransformerParser;
import org.springframework.integration.config.IntegrationNamespaceUtils;
import org.springframework.integration.mail.transformer.MailToStringTransformer;
import org.springframework.integration.transformer.Transformer;
-import org.springframework.integration.transformer.config.AbstractTransformerParser;
/**
* Parser for the <mail-to-string-transformer> element.
diff --git a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlMarshallingTransformerParser.java b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlMarshallingTransformerParser.java
index 76cc077644..7b6c625669 100644
--- a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlMarshallingTransformerParser.java
+++ b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlMarshallingTransformerParser.java
@@ -20,8 +20,8 @@ import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.integration.config.AbstractTransformerParser;
import org.springframework.integration.transformer.Transformer;
-import org.springframework.integration.transformer.config.AbstractTransformerParser;
import org.springframework.integration.xml.transformer.XmlPayloadMarshallingTransformer;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -42,10 +42,10 @@ public class XmlMarshallingTransformerParser extends AbstractTransformerParser {
@Override
protected void parseTransformer(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
+ String resultTransformer = element.getAttribute("result-transformer");
String resultFactory = element.getAttribute("result-factory");
String resultType = element.getAttribute("result-type");
String marshaller = element.getAttribute("marshaller");
- String resultTransformer = element.getAttribute("result-transformer");
Assert.hasText(marshaller, "the 'marshaller' attribute is required");
builder.addConstructorArgReference(marshaller);
if (StringUtils.hasText(resultTransformer)) {
diff --git a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlUnmarshallingTransformerParser.java b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlUnmarshallingTransformerParser.java
index 7a7149fcfd..2ad11a4292 100644
--- a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlUnmarshallingTransformerParser.java
+++ b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XmlUnmarshallingTransformerParser.java
@@ -20,8 +20,8 @@ import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.integration.config.AbstractTransformerParser;
import org.springframework.integration.transformer.Transformer;
-import org.springframework.integration.transformer.config.AbstractTransformerParser;
import org.springframework.integration.xml.transformer.XmlPayloadUnmarshallingTransformer;
import org.springframework.util.Assert;
diff --git a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XsltPayloadTransformerParser.java b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XsltPayloadTransformerParser.java
index 8c400cf723..6690f58a89 100644
--- a/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XsltPayloadTransformerParser.java
+++ b/org.springframework.integration.xml/src/main/java/org/springframework/integration/xml/config/XsltPayloadTransformerParser.java
@@ -20,8 +20,9 @@ import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.integration.config.AbstractTransformerParser;
+import org.springframework.integration.config.IntegrationNamespaceUtils;
import org.springframework.integration.transformer.Transformer;
-import org.springframework.integration.transformer.config.AbstractTransformerParser;
import org.springframework.integration.xml.transformer.XsltPayloadTransformer;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -47,24 +48,20 @@ public class XsltPayloadTransformerParser extends AbstractTransformerParser {
String resultTransformer = element.getAttribute("result-transformer");
String resultFactory = element.getAttribute("result-factory");
String resultType = element.getAttribute("result-type");
- boolean bothHaveText = StringUtils.hasText(xslResource) && StringUtils.hasText(xslTemplates);
- boolean oneHasText = StringUtils.hasText(xslResource) || StringUtils.hasText(xslTemplates);
- Assert.state(!bothHaveText && oneHasText, "Exactly one of 'xsl-resource' or 'xsl-templates' is required.");
+ Assert.isTrue(StringUtils.hasText(xslResource) ^ StringUtils.hasText(xslTemplates),
+ "Exactly one of 'xsl-resource' or 'xsl-templates' is required.");
if (StringUtils.hasText(xslResource)) {
builder.addConstructorArgValue(xslResource);
}
else if (StringUtils.hasText(xslTemplates)) {
builder.addConstructorArgReference(xslTemplates);
}
- String sourceFactory = element.getAttribute("source-factory");
- if (StringUtils.hasText(sourceFactory)) {
- builder.addPropertyReference("sourceFactory", sourceFactory);
- }
resultFactoryHelper.assertResultFactoryAndTypeValid(resultFactory, resultType);
resultFactoryHelper.addResultFactory(builder, resultType, resultFactory);
if (StringUtils.hasText(resultTransformer)) {
builder.addConstructorArgReference(resultTransformer);
}
+ IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "source-factory");
}
}
diff --git a/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/transformer/XsltPayloadTransformerTest.java b/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/transformer/XsltPayloadTransformerTests.java
similarity index 72%
rename from org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/transformer/XsltPayloadTransformerTest.java
rename to org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/transformer/XsltPayloadTransformerTests.java
index 27b3c4bdde..fc6b89fd86 100644
--- a/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/transformer/XsltPayloadTransformerTest.java
+++ b/org.springframework.integration.xml/src/test/java/org/springframework/integration/xml/transformer/XsltPayloadTransformerTests.java
@@ -26,17 +26,18 @@ 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.MessagingException;
import org.springframework.integration.xml.util.XmlTestUtil;
import org.springframework.xml.transform.StringSource;
-import org.w3c.dom.Document;
/**
* @author Jonas Partner
*/
-public class XsltPayloadTransformerTest {
+public class XsltPayloadTransformerTests {
private XsltPayloadTransformer transformer;
@@ -44,42 +45,42 @@ public class XsltPayloadTransformerTest {
private String outputAsString = "test";
+
@Before
public void setUp() throws Exception {
transformer = new XsltPayloadTransformer(getXslResource());
}
+
@Test
public void testDocumentAsPayload() throws Exception {
- Object transformed = transformer.transformPayload(XmlTestUtil
- .getDocumentForString(docAsString));
- assertTrue("Wrong return type for document payload", Document.class
- .isAssignableFrom(transformed.getClass()));
+ Object transformed = transformer.transformPayload(
+ XmlTestUtil.getDocumentForString(docAsString));
+ assertTrue("Wrong return type for document payload",
+ Document.class.isAssignableFrom(transformed.getClass()));
Document transformedDocument = (Document) transformed;
- assertXMLEqual(outputAsString, XmlTestUtil
- .docToString(transformedDocument));
+ assertXMLEqual(outputAsString, XmlTestUtil.docToString(transformedDocument));
}
@Test
public void testSourceAsPayload() throws Exception {
- Object transformed = transformer
- .transformPayload(new StringSource(docAsString));
- assertEquals("Wrong return type for source payload", DOMResult.class,
- transformed.getClass());
+ Object transformed = transformer.transformPayload(new StringSource(docAsString));
+ assertEquals("Wrong return type for source payload",
+ DOMResult.class, transformed.getClass());
DOMResult result = (DOMResult) transformed;
- assertXMLEqual("Document incorrect after transformation", XmlTestUtil
- .getDocumentForString(outputAsString), (Document) result
- .getNode());
+ assertXMLEqual("Document incorrect after transformation",
+ XmlTestUtil.getDocumentForString(outputAsString),
+ (Document) result.getNode());
}
@Test
public void testStringAsPayload() throws Exception {
Object transformed = transformer.transformPayload(docAsString);
- assertEquals("Wrong return type for string payload", String.class,
- transformed.getClass());
+ assertEquals("Wrong return type for string payload",
+ String.class, transformed.getClass());
String transformedString = (String) transformed;
- assertXMLEqual("String incorrect after transform", outputAsString,
- transformedString);
+ assertXMLEqual("String incorrect after transform",
+ outputAsString, transformedString);
}
@Test
@@ -89,19 +90,17 @@ public class XsltPayloadTransformerTest {
assertEquals("Wrong return type for useFactories true",
DOMResult.class, transformed.getClass());
DOMResult result = (DOMResult) transformed;
- assertXMLEqual("Document incorrect after transformation", XmlTestUtil
- .getDocumentForString(outputAsString), (Document) result
- .getNode());
+ assertXMLEqual("Document incorrect after transformation",
+ XmlTestUtil.getDocumentForString(outputAsString),
+ (Document) result.getNode());
}
@Test
public void testSourceWithResultTransformer() throws Exception {
Integer returnValue = new Integer(13);
transformer = new XsltPayloadTransformer(getXslResource(), new StubResultTransformer(returnValue));
- Object transformed = transformer
- .transformPayload(new StringSource(docAsString));
- assertEquals("Wrong value from result conversion", returnValue,
- transformed);
+ Object transformed = transformer.transformPayload(new StringSource(docAsString));
+ assertEquals("Wrong value from result conversion", returnValue, transformed);
}
@Test(expected = TransformerException.class)
@@ -114,23 +113,24 @@ public class XsltPayloadTransformerTest {
transformer.transformPayload(new Long(12));
}
+
private Resource getXslResource() throws Exception {
String xsl = "test";
return new ByteArrayResource(xsl.getBytes("UTF-8"));
}
+
public static class StubResultTransformer implements ResultTransformer {
- private Object objToReturn;
+ private Object objectToReturn;
- public StubResultTransformer(Object objToReturn) {
- this.objToReturn = objToReturn;
+ public StubResultTransformer(Object objectToReturn) {
+ this.objectToReturn = objectToReturn;
}
- public Object transformResult(Result res) {
- return objToReturn;
+ public Object transformResult(Result result) {
+ return objectToReturn;
}
-
}
}
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/transformer/config/AbstractTransformerParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractTransformerParser.java
similarity index 93%
rename from org.springframework.integration/src/main/java/org/springframework/integration/transformer/config/AbstractTransformerParser.java
rename to org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractTransformerParser.java
index aa024ddc1d..68a25027d6 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/transformer/config/AbstractTransformerParser.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/AbstractTransformerParser.java
@@ -14,14 +14,13 @@
* limitations under the License.
*/
-package org.springframework.integration.transformer.config;
+package org.springframework.integration.config;
import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionReaderUtils;
import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.integration.config.AbstractConsumerEndpointParser;
import org.springframework.integration.transformer.Transformer;
import org.springframework.integration.transformer.TransformerEndpoint;
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/gateway/config/GatewayParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/GatewayParser.java
similarity index 93%
rename from org.springframework.integration/src/main/java/org/springframework/integration/gateway/config/GatewayParser.java
rename to org.springframework.integration/src/main/java/org/springframework/integration/config/GatewayParser.java
index 61486cf883..6a422159a6 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/gateway/config/GatewayParser.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/GatewayParser.java
@@ -14,13 +14,12 @@
* limitations under the License.
*/
-package org.springframework.integration.gateway.config;
+package org.springframework.integration.config;
import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser;
-import org.springframework.integration.config.IntegrationNamespaceUtils;
import org.springframework.integration.gateway.GatewayProxyFactoryBean;
import org.springframework.util.ObjectUtils;
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java
index ba55e71394..70abc481f5 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/IntegrationNamespaceHandler.java
@@ -17,7 +17,6 @@
package org.springframework.integration.config;
import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
-import org.springframework.integration.gateway.config.GatewayParser;
/**
* Namespace handler for the integration namespace.
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/transformer/config/SimpleHeaderEnricherParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/SimpleHeaderEnricherParser.java
similarity index 97%
rename from org.springframework.integration/src/main/java/org/springframework/integration/transformer/config/SimpleHeaderEnricherParser.java
rename to org.springframework.integration/src/main/java/org/springframework/integration/config/SimpleHeaderEnricherParser.java
index 1b066df6d6..d248924e8d 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/transformer/config/SimpleHeaderEnricherParser.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/SimpleHeaderEnricherParser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.integration.transformer.config;
+package org.springframework.integration.config;
import java.util.HashMap;
import java.util.Map;