You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/01/13 06:00:29 UTC
[camel] branch main updated: camel-mail - Fix includeHeaders on multipart dataformat not mapped
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 99f4038 camel-mail - Fix includeHeaders on multipart dataformat not mapped
99f4038 is described below
commit 99f4038e91abc67de6c281649b7308d73f740ffe
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jan 13 06:58:49 2022 +0100
camel-mail - Fix includeHeaders on multipart dataformat not mapped
---
.../multipart/MimeMultipartDataFormatConfigurer.java | 2 ++
.../mime/multipart/MimeMultipartDataFormat.java | 17 +++++++++++++----
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/components/camel-mail/src/generated/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormatConfigurer.java b/components/camel-mail/src/generated/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormatConfigurer.java
index 96c4067..d87899f 100644
--- a/components/camel-mail/src/generated/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormatConfigurer.java
+++ b/components/camel-mail/src/generated/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormatConfigurer.java
@@ -24,6 +24,8 @@ public class MimeMultipartDataFormatConfigurer extends PropertyConfigurerSupport
case "multipartWithoutAttachment": dataformat.setMultipartWithoutAttachment(property(camelContext, boolean.class, value)); return true;
case "headersinline":
case "headersInline": dataformat.setHeadersInline(property(camelContext, boolean.class, value)); return true;
+ case "includeheaders":
+ case "includeHeaders": dataformat.setIncludeHeaders(property(camelContext, java.lang.String.class, value)); return true;
case "binarycontent":
case "binaryContent": dataformat.setBinaryContent(property(camelContext, boolean.class, value)); return true;
default: return false;
diff --git a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
index 5573142..831be5e 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java
@@ -69,7 +69,8 @@ public class MimeMultipartDataFormat extends DefaultDataFormat {
private String multipartSubType = "mixed";
private boolean multipartWithoutAttachment;
private boolean headersInline;
- private Pattern includeHeaders;
+ private String includeHeaders;
+ private Pattern includeHeadersPattern;
private boolean binaryContent;
public void setBinaryContent(boolean binaryContent) {
@@ -81,7 +82,7 @@ public class MimeMultipartDataFormat extends DefaultDataFormat {
}
public void setIncludeHeaders(String includeHeaders) {
- this.includeHeaders = Pattern.compile(includeHeaders, Pattern.CASE_INSENSITIVE);
+ this.includeHeaders = includeHeaders;
}
public void setMultipartWithoutAttachment(boolean multipartWithoutAttachment) {
@@ -140,9 +141,9 @@ public class MimeMultipartDataFormat extends DefaultDataFormat {
mm.setContent(mp);
// copy headers if required and if the content can be converted into
// a String
- if (headersInline && includeHeaders != null) {
+ if (headersInline && includeHeadersPattern != null) {
for (Map.Entry<String, Object> entry : exchange.getIn().getHeaders().entrySet()) {
- if (includeHeaders.matcher(entry.getKey()).matches()) {
+ if (includeHeadersPattern.matcher(entry.getKey()).matches()) {
String headerStr = ExchangeHelper.convertToType(exchange, String.class, entry.getValue());
if (headerStr != null) {
mm.setHeader(entry.getKey(), headerStr);
@@ -317,4 +318,12 @@ public class MimeMultipartDataFormat extends DefaultDataFormat {
}
return MimeUtility.decodeText(key);
}
+
+ @Override
+ protected void doInit() throws Exception {
+ if (includeHeaders != null) {
+ this.includeHeadersPattern = Pattern.compile(includeHeaders, Pattern.CASE_INSENSITIVE);
+ }
+ }
+
}