This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch CAMEL-13678
in repository https://gitbox.apache.org/repos/asf/camel.git

commit eca4a48267cbb230b50e74afc1c1bfe399f98fe8
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon Jul 8 09:53:56 2019 +0200

    CAMEL-13678: Move attachments out of camel-core into camel-attachments.
---
 .../camel/component/mustache/MustacheEndpoint.java |  1 -
 .../apache/camel/component/mvel/MvelEndpoint.java  |  1 -
 .../apache/camel/component/pdf/PdfProducer.java    |  1 -
 .../internal/processor/AnalyticsApiProcessor.java  |  3 +--
 .../internal/processor/BulkApiProcessor.java       |  3 +--
 .../apache/camel/component/sjms/SjmsMessage.java   |  5 -----
 .../integration/SpringIntegrationMessage.java      |  1 -
 components/camel-spring-ws/pom.xml                 |  4 ++++
 .../spring/ws/SpringWebserviceConsumer.java        |  6 ++++--
 .../spring/ws/SpringWebserviceProducer.java        |  9 ++++----
 .../spring/ws/filter/impl/BasicMessageFilter.java  | 24 ++++++++++++----------
 .../spring/ws/SoapAttachmentResponseProcessor.java |  5 +++--
 .../spring/ws/SoapResponseAttachmentTest.java      |  9 ++++----
 .../ws/filter/impl/BasicMessageFilterTest.java     |  9 ++++----
 .../spring/ws/testfilters/GlobalMessageFilter.java |  4 ++--
 .../spring/ws/testfilters/LocalMessageFilter.java  |  3 ++-
 .../stringtemplate/StringTemplateEndpoint.java     |  1 -
 .../apache/camel/component/tika/TikaProducer.java  |  1 -
 .../camel/component/velocity/VelocityEndpoint.java |  1 -
 .../velocity/VelocityMethodInvokationTest.java     |  5 -----
 .../camel/component/velocity/VelocityTest.java     |  5 -----
 21 files changed, 45 insertions(+), 56 deletions(-)

diff --git 
a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
 
b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
index 961a7b0..1733bf0 100644
--- 
a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
+++ 
b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheEndpoint.java
@@ -101,7 +101,6 @@ public class MustacheEndpoint extends ResourceEndpoint {
             Message out = exchange.getOut();
             out.setBody(writer.toString());
             out.setHeaders(exchange.getIn().getHeaders());
-            out.setAttachments(exchange.getIn().getAttachments());
         } else {
             
exchange.getIn().removeHeader(MustacheConstants.MUSTACHE_RESOURCE_URI);
             MustacheEndpoint newEndpoint = 
getCamelContext().getEndpoint(MUSTACHE_ENDPOINT_URI_PREFIX + newResourceUri, 
MustacheEndpoint.class);
diff --git 
a/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelEndpoint.java
 
b/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelEndpoint.java
index 08e31c6..ef5d813 100644
--- 
a/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelEndpoint.java
+++ 
b/components/camel-mvel/src/main/java/org/apache/camel/component/mvel/MvelEndpoint.java
@@ -120,7 +120,6 @@ public class MvelEndpoint extends ResourceEndpoint {
         Message out = exchange.getOut();
         out.setBody(result.toString());
         out.setHeaders(exchange.getIn().getHeaders());
-        out.setAttachments(exchange.getIn().getAttachments());
     }
 
     public MvelEndpoint findOrCreateEndpoint(String uri, String 
newResourceUri) {
diff --git 
a/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfProducer.java
 
b/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfProducer.java
index d390231..9029729 100644
--- 
a/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfProducer.java
+++ 
b/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfProducer.java
@@ -70,7 +70,6 @@ public class PdfProducer extends DefaultProducer {
         }
         // propagate headers
         exchange.getOut().setHeaders(exchange.getIn().getHeaders());
-        exchange.getOut().setAttachments(exchange.getIn().getAttachments());
         // and set result
         exchange.getOut().setBody(result);
     }
diff --git 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
index 944e923..a06b2a7 100644
--- 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
+++ 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
@@ -210,12 +210,11 @@ public class AnalyticsApiProcessor extends 
AbstractSalesforceProcessor {
             out.setBody(body);
         }
 
-        // copy headers and attachments
+        // copy headers
         final Message inboundMessage = exchange.getIn();
         final Map<String, Object> outputHeaders = out.getHeaders();
         outputHeaders.putAll(inboundMessage.getHeaders());
         outputHeaders.putAll(headers);
-        out.copyAttachments(inboundMessage);
 
         // signal exchange completion
         callback.done(false);
diff --git 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
index 42de8c0..78099d8 100644
--- 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
+++ 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
@@ -422,12 +422,11 @@ public class BulkApiProcessor extends 
AbstractSalesforceProcessor {
             out.setBody(body);
         }
 
-        // copy headers and attachments
+        // copy headers
         Message inboundMessage = exchange.getIn();
         Map<String, Object> outboundHeaders = out.getHeaders();
         outboundHeaders.putAll(inboundMessage.getHeaders());
         outboundHeaders.putAll(headers);
-        out.copyAttachments(inboundMessage);
 
         // signal exchange completion
         callback.done(false);
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java
index 4185cc0..2d8bc48 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java
@@ -102,11 +102,6 @@ public class SjmsMessage extends DefaultMessage {
         if (that.hasHeaders()) {
             getHeaders().putAll(that.getHeaders());
         }
-
-        getAttachments().clear();
-        if (that.hasAttachments()) {
-            getAttachmentObjects().putAll(that.getAttachmentObjects());
-        }
     }
 
     public JmsBinding getBinding() {
diff --git 
a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
 
b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
index 8ea6c74..18b6a32 100644
--- 
a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
+++ 
b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java
@@ -76,7 +76,6 @@ public class SpringIntegrationMessage extends DefaultMessage {
             SpringIntegrationMessage orig = (SpringIntegrationMessage) that;
             setMessage(orig.getMessage());
         }
-        getAttachments().putAll(that.getAttachments());
     }
 
     @Override
diff --git a/components/camel-spring-ws/pom.xml 
b/components/camel-spring-ws/pom.xml
index 5974c5b..af8adb9 100644
--- a/components/camel-spring-ws/pom.xml
+++ b/components/camel-spring-ws/pom.xml
@@ -54,6 +54,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
+            <artifactId>camel-attachments</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
             <artifactId>camel-spring</artifactId>
         </dependency>
         <dependency>
diff --git 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
index e65072f..394638e 100644
--- 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
+++ 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
@@ -29,6 +29,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
+import org.apache.camel.attachment.AttachmentMessage;
+import org.apache.camel.attachment.DefaultAttachmentMessage;
 import org.apache.camel.support.DefaultConsumer;
 import org.springframework.ws.WebServiceMessage;
 import org.springframework.ws.context.MessageContext;
@@ -123,7 +125,7 @@ public class SpringWebserviceConsumer extends 
DefaultConsumer implements Message
         WebServiceMessage request = messageContext.getRequest();
         SpringWebserviceMessage inMessage = new 
SpringWebserviceMessage(exchange.getContext(), request);
         extractSourceFromSoapHeader(inMessage.getHeaders(), request);
-        extractAttachmentsFromRequest(request, inMessage);
+        extractAttachmentsFromRequest(request, new 
DefaultAttachmentMessage(inMessage));
         exchange.setIn(inMessage);
     }
 
@@ -176,7 +178,7 @@ public class SpringWebserviceConsumer extends 
DefaultConsumer implements Message
     }
 
     private void extractAttachmentsFromRequest(final WebServiceMessage request,
-                                               final SpringWebserviceMessage 
inMessage) {
+                                               final AttachmentMessage 
inMessage) {
         if (request instanceof MimeMessage) {
             Iterator<Attachment> attachmentsIterator = 
((MimeMessage)request).getAttachments();
             while (attachmentsIterator.hasNext()) {
diff --git 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
index 0dc4c5f..d389d8e 100644
--- 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
+++ 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
@@ -33,6 +33,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.ExchangeHelper;
 import org.springframework.ws.WebServiceMessage;
@@ -96,10 +97,10 @@ public class SpringWebserviceProducer extends 
DefaultProducer {
                 SoapMessage soapMessage = (SoapMessage) responseMessage;
                 if (ExchangeHelper.isOutCapable(exchange)) {
                     exchange.getOut().copyFromWithNewBody(exchange.getIn(), 
soapMessage.getPayloadSource());
-                    
populateHeaderAndAttachmentsFromResponse(exchange.getOut(), soapMessage);
+                    
populateHeaderAndAttachmentsFromResponse(exchange.getOut(AttachmentMessage.class),
 soapMessage);
                 } else {
                     exchange.getIn().setBody(soapMessage.getPayloadSource());
-                    populateHeaderAndAttachmentsFromResponse(exchange.getIn(), 
soapMessage);
+                    
populateHeaderAndAttachmentsFromResponse(exchange.getIn(AttachmentMessage.class),
 soapMessage);
                 }
 
             }
@@ -109,7 +110,7 @@ public class SpringWebserviceProducer extends 
DefaultProducer {
     /**
      * Populates soap message headers and attachments from soap response
      */
-    private void populateHeaderAndAttachmentsFromResponse(Message inOrOut, 
SoapMessage soapMessage) {
+    private void populateHeaderAndAttachmentsFromResponse(AttachmentMessage 
inOrOut, SoapMessage soapMessage) {
         if (soapMessage.getSoapHeader() != null && 
getEndpoint().getConfiguration().isAllowResponseHeaderOverride()) {
             populateMessageHeaderFromResponse(inOrOut, 
soapMessage.getSoapHeader());
         }
@@ -142,7 +143,7 @@ public class SpringWebserviceProducer extends 
DefaultProducer {
     /**
      * Populates message attachments from soap response attachments 
      */
-    private void populateMessageAttachmentsFromResponse(Message inOrOut, 
Iterator<Attachment> attachments) {
+    private void populateMessageAttachmentsFromResponse(AttachmentMessage 
inOrOut, Iterator<Attachment> attachments) {
         while (attachments.hasNext()) {
             Attachment attachment = attachments.next();
             inOrOut.getAttachments().put(attachment.getContentId(), 
attachment.getDataHandler());
diff --git 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilter.java
 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilter.java
index 826aeb3..58abe23 100644
--- 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilter.java
+++ 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilter.java
@@ -24,7 +24,7 @@ import javax.activation.DataHandler;
 import javax.xml.namespace.QName;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.Message;
+import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.component.spring.ws.SpringWebserviceConstants;
 import org.apache.camel.component.spring.ws.filter.MessageFilter;
 import org.springframework.ws.WebServiceMessage;
@@ -40,14 +40,14 @@ public class BasicMessageFilter implements MessageFilter {
     @Override
     public void filterProducer(Exchange exchange, WebServiceMessage response) {
         if (exchange != null) {
-            processHeaderAndAttachments(exchange.getIn(), response);
+            
processHeaderAndAttachments(exchange.getIn(AttachmentMessage.class), response);
         }
     }
 
     @Override
     public void filterConsumer(Exchange exchange, WebServiceMessage response) {
         if (exchange != null) {
-            Message responseMessage = exchange.hasOut() ? exchange.getOut() : 
exchange.getIn();
+            AttachmentMessage responseMessage = exchange.hasOut() ? 
exchange.getOut(AttachmentMessage.class) : 
exchange.getIn(AttachmentMessage.class);
             processHeaderAndAttachments(responseMessage, response);
         }
     }
@@ -58,7 +58,7 @@ public class BasicMessageFilter implements MessageFilter {
      * @param inOrOut
      * @param response
      */
-    protected void processHeaderAndAttachments(Message inOrOut, 
WebServiceMessage response) {
+    protected void processHeaderAndAttachments(AttachmentMessage inOrOut, 
WebServiceMessage response) {
 
         if (response instanceof SoapMessage) {
             SoapMessage soapMessage = (SoapMessage)response;
@@ -73,7 +73,7 @@ public class BasicMessageFilter implements MessageFilter {
      * @param inOrOut
      * @param soapMessage
      */
-    protected void processSoapHeader(Message inOrOut, SoapMessage soapMessage) 
{
+    protected void processSoapHeader(AttachmentMessage inOrOut, SoapMessage 
soapMessage) {
         boolean isHeaderAvailable = inOrOut != null && inOrOut.getHeaders() != 
null && !inOrOut.getHeaders().isEmpty();
 
         if (isHeaderAvailable) {
@@ -89,7 +89,7 @@ public class BasicMessageFilter implements MessageFilter {
      * element. If it contains only a String value, it is transformed into a
      * header attribute. Following headers are excluded:
      */
-    protected void doProcessSoapHeader(Message inOrOut, SoapMessage 
soapMessage) {
+    protected void doProcessSoapHeader(AttachmentMessage inOrOut, SoapMessage 
soapMessage) {
         SoapHeader soapHeader = soapMessage.getSoapHeader();
 
         Map<String, Object> headers = inOrOut.getHeaders();
@@ -132,12 +132,14 @@ public class BasicMessageFilter implements MessageFilter {
      * @param inOrOut
      * @param response
      */
-    protected void doProcessSoapAttachments(Message inOrOut, SoapMessage 
response) {
-        Map<String, DataHandler> attachments = inOrOut.getAttachments();
+    protected void doProcessSoapAttachments(AttachmentMessage inOrOut, 
SoapMessage response) {
+        if (inOrOut.hasAttachments()) {
+            Map<String, DataHandler> attachments = inOrOut.getAttachments();
 
-        Set<String> keySet = new HashSet<>(attachments.keySet());
-        for (String key : keySet) {
-            response.addAttachment(key, attachments.get(key));
+            Set<String> keySet = new HashSet<>(attachments.keySet());
+            for (String key : keySet) {
+                response.addAttachment(key, attachments.get(key));
+            }
         }
     }
 
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapAttachmentResponseProcessor.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapAttachmentResponseProcessor.java
index dc713bb..b399f1f 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapAttachmentResponseProcessor.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapAttachmentResponseProcessor.java
@@ -20,6 +20,7 @@ import javax.activation.DataHandler;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.apache.camel.attachment.AttachmentMessage;
 
 /**
  * Returns the request as the response so it can be analysed (eg. for presence
@@ -30,8 +31,8 @@ public class SoapAttachmentResponseProcessor implements 
Processor {
 
     public void process(Exchange exchange) throws Exception {
         exchange.setOut(exchange.getIn());
-        exchange.getOut().addAttachment("responseAttachment1.txt", new 
DataHandler("responseAttachment1", "text/plain"));
-        exchange.getOut().addAttachment("responseAttachment2.xml", new 
DataHandler("<responseAttachment2/>", "application/xml"));
+        
exchange.getOut(AttachmentMessage.class).addAttachment("responseAttachment1.txt",
 new DataHandler("responseAttachment1", "text/plain"));
+        
exchange.getOut(AttachmentMessage.class).addAttachment("responseAttachment2.xml",
 new DataHandler("<responseAttachment2/>", "application/xml"));
     }
 
 }
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapResponseAttachmentTest.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapResponseAttachmentTest.java
index 0a4045c..d4a9e53 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapResponseAttachmentTest.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/SoapResponseAttachmentTest.java
@@ -21,6 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.attachment.AttachmentMessage;
 import org.junit.Test;
 import org.springframework.test.context.ContextConfiguration;
 import 
org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
@@ -52,12 +53,12 @@ public class SoapResponseAttachmentTest extends 
AbstractJUnit4SpringContextTests
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setBody(xmlRequestForGoogleStockQuote);
                 
exchange.getIn().setHeader(SpringWebserviceConstants.SPRING_WS_SOAP_HEADER, 
soapHeader);
-                exchange.getIn().addAttachment("requestAttachment1.txt", new 
DataHandler("hello attachment!", "text/plain"));
+                
exchange.getIn(AttachmentMessage.class).addAttachment("requestAttachment1.txt", 
new DataHandler("hello attachment!", "text/plain"));
             }
         });
         assertNotNull(result);
-        assertNotNull(result.getOut().getAttachment("requestAttachment1.txt"));
-        
assertNotNull(result.getOut().getAttachment("responseAttachment1.txt"));
-        
assertNotNull(result.getOut().getAttachment("responseAttachment2.xml"));
+        
assertNotNull(result.getOut(AttachmentMessage.class).getAttachment("requestAttachment1.txt"));
+        
assertNotNull(result.getOut(AttachmentMessage.class).getAttachment("responseAttachment1.txt"));
+        
assertNotNull(result.getOut(AttachmentMessage.class).getAttachment("responseAttachment2.xml"));
     }
 }
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilterTest.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilterTest.java
index 6f6ae21..2e89afe 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilterTest.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/filter/impl/BasicMessageFilterTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.spring.ws.filter.impl;
 import javax.activation.DataHandler;
 import javax.xml.namespace.QName;
 
+import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.component.spring.ws.SpringWebserviceConstants;
 import org.apache.camel.test.junit4.ExchangeTestSupport;
 import org.fest.assertions.Assertions;
@@ -70,8 +71,8 @@ public class BasicMessageFilterTest extends 
ExchangeTestSupport {
         exchange.getIn().getHeaders().clear();
         exchange.getOut().getHeaders().clear();
 
-        exchange.getIn().getAttachments().clear();
-        exchange.getOut().getAttachments().clear();
+        exchange.getIn(AttachmentMessage.class).getAttachments().clear();
+        exchange.getOut(AttachmentMessage.class).getAttachments().clear();
 
         filter.filterProducer(exchange, message);
         filter.filterConsumer(exchange, message);
@@ -142,7 +143,7 @@ public class BasicMessageFilterTest extends 
ExchangeTestSupport {
 
     @Test
     public void producerWithAttachment() throws Exception {
-        exchange.getIn().addAttachment("testAttachment", new 
DataHandler(this.getClass().getResource("/sampleAttachment.txt")));
+        
exchange.getIn(AttachmentMessage.class).addAttachment("testAttachment", new 
DataHandler(this.getClass().getResource("/sampleAttachment.txt")));
 
         filter.filterProducer(exchange, message);
 
@@ -152,7 +153,7 @@ public class BasicMessageFilterTest extends 
ExchangeTestSupport {
 
     @Test
     public void consumerWithAttachment() throws Exception {
-        exchange.getOut().addAttachment("testAttachment", new 
DataHandler(this.getClass().getResource("/sampleAttachment.txt")));
+        
exchange.getOut(AttachmentMessage.class).addAttachment("testAttachment", new 
DataHandler(this.getClass().getResource("/sampleAttachment.txt")));
 
         filter.filterConsumer(exchange, message);
 
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/GlobalMessageFilter.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/GlobalMessageFilter.java
index 422d158..150a5b5 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/GlobalMessageFilter.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/GlobalMessageFilter.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.spring.ws.testfilters;
 
 import javax.xml.namespace.QName;
 
-import org.apache.camel.Message;
+import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.component.spring.ws.filter.impl.BasicMessageFilter;
 import org.springframework.ws.soap.SoapMessage;
 
@@ -28,7 +28,7 @@ public class GlobalMessageFilter extends BasicMessageFilter {
      * Add a test marker so the test method is aware which filter we are using.
      */
     @Override
-    protected void doProcessSoapAttachments(Message inOrOut, SoapMessage 
response) {
+    protected void doProcessSoapAttachments(AttachmentMessage inOrOut, 
SoapMessage response) {
         super.doProcessSoapAttachments(inOrOut, response);
         response.getEnvelope().getHeader().addHeaderElement(new 
QName("http://virtualCheck/";, "globalFilter"));
     }
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/LocalMessageFilter.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/LocalMessageFilter.java
index 68531a5..60503a5 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/LocalMessageFilter.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/testfilters/LocalMessageFilter.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.spring.ws.testfilters;
 import javax.xml.namespace.QName;
 
 import org.apache.camel.Message;
+import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.component.spring.ws.filter.impl.BasicMessageFilter;
 import org.springframework.ws.soap.SoapMessage;
 
@@ -28,7 +29,7 @@ public class LocalMessageFilter extends BasicMessageFilter {
      * Add a test marker so the test method is aware which filter we are using.
      */
     @Override
-    protected void doProcessSoapAttachments(Message inOrOut, SoapMessage 
response) {
+    protected void doProcessSoapAttachments(AttachmentMessage inOrOut, 
SoapMessage response) {
         super.doProcessSoapAttachments(inOrOut, response);
         response.getEnvelope().getHeader().addHeaderElement(new 
QName("http://virtualCheck/";, "localFilter"));
     }
diff --git 
a/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java
 
b/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java
index cc2040c..91f8a1b 100644
--- 
a/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java
+++ 
b/components/camel-stringtemplate/src/main/java/org/apache/camel/component/stringtemplate/StringTemplateEndpoint.java
@@ -100,6 +100,5 @@ public class StringTemplateEndpoint extends 
ResourceEndpoint {
         out.setBody(buffer.toString());
         out.setHeaders(exchange.getIn().getHeaders());
         out.setHeader(StringTemplateConstants.STRINGTEMPLATE_RESOURCE_URI, 
getResourceUri());
-        out.setAttachments(exchange.getIn().getAttachments());
     }
 }
diff --git 
a/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaProducer.java
 
b/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaProducer.java
index 1899203..e03b705 100644
--- 
a/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaProducer.java
+++ 
b/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaProducer.java
@@ -83,7 +83,6 @@ public class TikaProducer extends DefaultProducer {
         }
         // propagate headers
         exchange.getOut().setHeaders(exchange.getIn().getHeaders());
-        exchange.getOut().setAttachments(exchange.getIn().getAttachments());
         // and set result
         exchange.getOut().setBody(result);
     }
diff --git 
a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
 
b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
index 6ab2228..90456ec 100644
--- 
a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
+++ 
b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
@@ -217,6 +217,5 @@ public class VelocityEndpoint extends ResourceEndpoint {
         Message out = exchange.getOut();
         out.setBody(buffer.toString());
         out.setHeaders(exchange.getIn().getHeaders());
-        out.setAttachments(exchange.getIn().getAttachments());
     }
 }
diff --git 
a/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityMethodInvokationTest.java
 
b/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityMethodInvokationTest.java
index 6baa759..f83c2a5 100644
--- 
a/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityMethodInvokationTest.java
+++ 
b/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityMethodInvokationTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.velocity;
 
-import javax.activation.DataHandler;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
@@ -29,11 +27,9 @@ public class VelocityMethodInvokationTest extends 
CamelTestSupport {
     
     @Test
     public void testVelocityLetter() throws Exception {
-        final DataHandler dataHandler = new DataHandler("my attachment", 
"text/plain");
         Exchange exchange = template.request("direct:a", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().addAttachment("item", dataHandler);
                 exchange.getIn().setBody("Monday & Tuesday");
                 exchange.getIn().setHeader("name", "Christian");
                 exchange.setProperty("item", "7");
@@ -42,7 +38,6 @@ public class VelocityMethodInvokationTest extends 
CamelTestSupport {
 
         assertEquals("Dear Christian. You ordered item 7 on Monday &amp; 
Tuesday.", exchange.getOut().getBody());
         assertEquals("Christian", exchange.getOut().getHeader("name"));
-        assertSame(dataHandler, exchange.getOut().getAttachment("item"));
     }
 
     protected RouteBuilder createRouteBuilder() {
diff --git 
a/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityTest.java
 
b/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityTest.java
index 8e1fe94..5118aa2 100644
--- 
a/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityTest.java
+++ 
b/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityTest.java
@@ -19,8 +19,6 @@ package org.apache.camel.component.velocity;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.activation.DataHandler;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
@@ -32,11 +30,9 @@ public class VelocityTest extends CamelTestSupport {
     
     @Test
     public void testVelocityLetter() throws Exception {
-        final DataHandler dataHandler = new DataHandler("my attachment", 
"text/plain");
         Exchange exchange = template.request("direct:a", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().addAttachment("item", dataHandler);
                 exchange.getIn().setBody("Monday");
                 exchange.getIn().setHeader("name", "Christian");
                 exchange.setProperty("item", "7");
@@ -45,7 +41,6 @@ public class VelocityTest extends CamelTestSupport {
 
         assertEquals("Dear Christian. You ordered item 7 on Monday.", 
exchange.getOut().getBody());
         assertEquals("Christian", exchange.getOut().getHeader("name"));
-        assertSame(dataHandler, exchange.getOut().getAttachment("item"));
     }
     
     @Test

Reply via email to