This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 29444b2b14001e7cc983a96227ef01802bb9bdde Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Fri Jun 8 08:03:38 2018 +0200 CAMEL-12547 - Minor fixes --- .../mail/stream/GoogleMailStreamConsumer.java | 1 + .../mail/stream/GoogleMailStreamEndpoint.java | 27 +++++++++++----------- .../GoogleMailStreamConsumerIntegrationTest.java | 2 +- .../itest/springboot/CamelGoogleMailTest.java | 2 +- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java index d344193..ec54be7 100644 --- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java +++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java @@ -145,6 +145,7 @@ public class GoogleMailStreamConsumer extends ScheduledBatchPollingConsumer { */ protected void processCommit(Exchange exchange, String unreadLabelId) { try { + System.err.println("mark as read!" + getConfiguration().isMarkAsRead()); if (getConfiguration().isMarkAsRead()) { String id = exchange.getIn().getHeader(GoogleMailStreamConstants.MAIL_ID, String.class); diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java index c695f45..13fcfbf 100644 --- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java +++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java @@ -17,6 +17,7 @@ package org.apache.camel.component.google.mail.stream; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; @@ -26,6 +27,7 @@ import com.google.api.client.util.Base64; import com.google.api.services.gmail.Gmail; import com.google.api.services.gmail.model.Label; import com.google.api.services.gmail.model.ListLabelsResponse; +import com.google.api.services.gmail.model.MessagePart; import com.google.api.services.gmail.model.MessagePartHeader; import com.google.common.base.Splitter; @@ -63,7 +65,7 @@ public class GoogleMailStreamEndpoint extends ScheduledPollEndpoint { @Override public Producer createProducer() throws Exception { - throw new IllegalArgumentException("The camel google mail stream component doesn't support producer"); + throw new UnsupportedOperationException("The camel google mail stream component doesn't support producer"); } @Override @@ -119,13 +121,12 @@ public class GoogleMailStreamEndpoint extends ScheduledPollEndpoint { Exchange exchange = super.createExchange(); Message message = exchange.getIn(); exchange.getIn().setHeader(GoogleMailStreamConstants.MAIL_ID, mail.getId()); - if (mail.getPayload().getParts() != null) { - if (mail.getPayload().getParts().get(0).getBody().getData() != null) { - byte[] bodyBytes = Base64.decodeBase64(mail.getPayload().getParts().get(0).getBody().getData().trim().toString()); // get + List<MessagePart> parts = mail.getPayload().getParts(); + if (parts != null && parts.get(0).getBody().getData() != null) { + byte[] bodyBytes = Base64.decodeBase64(parts.get(0).getBody().getData().trim().toString()); // get // body - String body = new String(bodyBytes, "UTF-8"); + String body = new String(bodyBytes, StandardCharsets.UTF_8); message.setBody(body); - } } setHeaders(message, mail.getPayload().getHeaders()); return exchange; @@ -133,26 +134,26 @@ public class GoogleMailStreamEndpoint extends ScheduledPollEndpoint { private void setHeaders(Message message, List<MessagePartHeader> headers) { for (MessagePartHeader header : headers) { - if (header.getName().equalsIgnoreCase("SUBJECT") || header.getName().equalsIgnoreCase("subject")) { + String headerName = header.getName(); + if (("SUBJECT").equalsIgnoreCase(headerName)) { message.setHeader(GoogleMailStreamConstants.MAIL_SUBJECT, header.getValue()); } - if (header.getName().equalsIgnoreCase("TO") || header.getName().equalsIgnoreCase("to")) { + if (("TO").equalsIgnoreCase(headerName)) { message.setHeader(GoogleMailStreamConstants.MAIL_TO, header.getValue()); } - if (header.getName().equalsIgnoreCase("FROM") || header.getName().equalsIgnoreCase("from")) { + if (("FROM").equalsIgnoreCase(headerName)) { message.setHeader(GoogleMailStreamConstants.MAIL_FROM, header.getValue()); } - if (header.getName().equalsIgnoreCase("CC") || header.getName().equalsIgnoreCase("cc")) { + if (("CC").equalsIgnoreCase(headerName)) { message.setHeader(GoogleMailStreamConstants.MAIL_CC, header.getValue()); } - if (header.getName().equalsIgnoreCase("BCC") || header.getName().equalsIgnoreCase("bcc")) { + if (("BCC").equalsIgnoreCase(headerName)) { message.setHeader(GoogleMailStreamConstants.MAIL_BCC, header.getValue()); } } } private List<String> splitLabels(String labels) throws AddressException { - List<String> labelsList = Splitter.on(',').splitToList(getConfiguration().getLabels()); - return labelsList; + return Splitter.on(',').splitToList(labels); } } diff --git a/components/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumerIntegrationTest.java b/components/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumerIntegrationTest.java index 701d6e1..65f7ab1 100644 --- a/components/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumerIntegrationTest.java +++ b/components/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumerIntegrationTest.java @@ -35,7 +35,7 @@ public class GoogleMailStreamConsumerIntegrationTest extends AbstractGoogleMailS @Override public void configure() { - from("google-mail-stream://test?markAsRead=true&delay=5000&maxResults=10").to("mock:result"); + from("google-mail-stream://test?markAsRead=true&delay=5000&maxResults=30").to("mock:result"); } }; diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelGoogleMailTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelGoogleMailTest.java index 4df759d..044322f 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelGoogleMailTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelGoogleMailTest.java @@ -41,7 +41,7 @@ public class CamelGoogleMailTest extends AbstractSpringBootTestSupport { @Test public void componentTests() throws Exception { - this.runComponentTest(config, "google-mail"); + this.runComponentTest(config, "google-mail"); this.runComponentTest(config, "google-mail-stream"); this.runModuleUnitTestsIfEnabled(config); } -- To stop receiving notification emails like this one, please contact acosent...@apache.org.