You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/01/18 20:20:12 UTC

[1/3] james-project git commit: Fix Eclipse warnings

Repository: james-project
Updated Branches:
  refs/heads/master 2e4005bc2 -> 40b25f848


Fix Eclipse warnings


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d7ec83fd
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d7ec83fd
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d7ec83fd

Branch: refs/heads/master
Commit: d7ec83fd8ceaa4a1214bea031a653ac114ff7bb3
Parents: 7c7fb76
Author: Antoine Duprat <ad...@linagora.com>
Authored: Fri Jan 13 10:03:12 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Wed Jan 18 14:48:11 2017 +0100

----------------------------------------------------------------------
 .../apache/james/backends/jpa/JpaTestCluster.java    |  9 +++++----
 .../apache/james/mailbox/jpa/JPAMailboxFixture.java  |  2 +-
 .../lucene/search/LuceneMessageSearchIndexTest.java  |  1 -
 .../james/mailbox/store/StoreMailboxManager.java     |  2 --
 .../search/comparator/HeaderMailboxComparator.java   |  2 --
 .../mailbox/store/search/CombinedComparatorTest.java | 12 ++++++++++++
 server/data/data-jpa/pom.xml                         |  1 -
 .../transport/mailets/remoteDelivery/Delay.java      |  3 ---
 .../mailets/remoteDelivery/MailDelivrer.java         |  3 +--
 .../transport/mailets/remoteDelivery/Repeat.java     |  1 +
 .../mailets/delivery/ToRecipientFolderTest.java      |  7 -------
 .../mailets/remoteDelivery/MailDelivrerTest.java     | 15 +--------------
 12 files changed, 21 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
index 0ade077..f175ac6 100644
--- a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
+++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
@@ -21,6 +21,7 @@ package org.apache.james.backends.jpa;
 
 import java.util.Arrays;
 import java.util.HashMap;
+
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 
@@ -32,7 +33,7 @@ import com.google.common.collect.FluentIterable;
 
 public class JpaTestCluster {
 
-    public static JpaTestCluster create(Class... clazz) {
+    public static JpaTestCluster create(Class<?>... clazz) {
         HashMap<String, String> properties = new HashMap<String, String>();
         properties.put("openjpa.ConnectionDriverName", org.h2.Driver.class.getName());
         properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:mailboxintegration;DB_CLOSE_DELAY=-1"); // Memory H2 database
@@ -51,10 +52,10 @@ public class JpaTestCluster {
         return new JpaTestCluster(OpenJPAPersistence.getEntityManagerFactory(properties));
     }
 
-    private static Function<Class, String> toFQDN() {
-        return new Function<Class, String>() {
+    private static Function<Class<?>, String> toFQDN() {
+        return new Function<Class<?>, String>() {
             @Override
-            public String apply(Class input) {
+            public String apply(Class<?> input) {
                 return input.getName();
             }
         };

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
index 7278c43..f73d0d1 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
@@ -29,7 +29,7 @@ import org.apache.james.mailbox.jpa.user.model.JPASubscription;
 
 public interface JPAMailboxFixture {
 
-    Class[] MAILBOX_PERSISTANCE_CLASSES = new Class[] {JPAMailbox.class,
+    Class<?>[] MAILBOX_PERSISTANCE_CLASSES = new Class[] {JPAMailbox.class,
         AbstractJPAMailboxMessage.class,
         JPAMailboxMessage.class,
         JPAProperty.class,

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
index dfdaffd..62ce25f 100644
--- a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
+++ b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
@@ -25,7 +25,6 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.inmemory.InMemoryId;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
-import org.apache.james.mailbox.inmemory.InMemoryMessageId;
 import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.store.FakeAuthenticator;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 5f83734..b4d83b4 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -82,8 +82,6 @@ import org.apache.james.mailbox.store.transaction.Mapper;
 import org.apache.james.mailbox.store.transaction.TransactionalMapper;
 import org.slf4j.Logger;
 
-import com.google.common.base.Optional;
-
 /**
  * This base class of an {@link MailboxManager} implementation provides a high-level api for writing your own
  * {@link MailboxManager} implementation. If you plan to write your own {@link MailboxManager} its most times so easiest

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/HeaderMailboxComparator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/HeaderMailboxComparator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/HeaderMailboxComparator.java
index f21befd..2c0c85d 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/HeaderMailboxComparator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/HeaderMailboxComparator.java
@@ -23,8 +23,6 @@ import java.util.Comparator;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.search.SearchUtil;
 
-import com.google.common.base.Objects;
-
 public class HeaderMailboxComparator extends AbstractHeaderComparator{
     public final static Comparator<MailboxMessage> FROM_COMPARATOR = new HeaderMailboxComparator(FROM);
     public final static Comparator<MailboxMessage> TO_COMPARATOR = new HeaderMailboxComparator(TO);

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/CombinedComparatorTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/CombinedComparatorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/CombinedComparatorTest.java
index ae3177c..fc2ceee 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/CombinedComparatorTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/CombinedComparatorTest.java
@@ -59,72 +59,84 @@ public class CombinedComparatorTest {
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertInternalDate() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival))).getComparators())
             .containsOnly(InternalDateComparator.INTERNALDATE);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertCc() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.MailboxCc))).getComparators())
             .containsOnly(HeaderMailboxComparator.CC_COMPARATOR);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertFrom() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.MailboxFrom))).getComparators())
             .containsOnly(HeaderMailboxComparator.FROM_COMPARATOR);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertTo() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.MailboxTo))).getComparators())
             .containsOnly(HeaderMailboxComparator.TO_COMPARATOR);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertSize() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Size))).getComparators())
             .containsOnly(SizeComparator.SIZE);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertBaseSubject() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.BaseSubject))).getComparators())
             .containsOnly(BaseSubjectComparator.BASESUBJECT);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertUid() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Uid))).getComparators())
             .containsOnly(UidComparator.UID);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertSentDate() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.SentDate))).getComparators())
             .containsOnly(SentDateComparator.SENTDATE);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertDisplayTo() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.DisplayTo))).getComparators())
             .containsOnly(HeaderDisplayComparator.TO_COMPARATOR);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertDisplayFrom() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.DisplayFrom))).getComparators())
             .containsOnly(HeaderDisplayComparator.FROM_COMPARATOR);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldConvertId() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Id))).getComparators())
             .containsOnly(MessageIdComparator.MESSAGE_ID_COMPARATOR);
     }
 
     @Test
+    @SuppressWarnings("unchecked")
     public void createShouldReverse() {
         assertThat(CombinedComparator.create(ImmutableList.of(new SearchQuery.Sort(SearchQuery.Sort.SortClause.DisplayFrom, REVERSE))).getComparators())
             .containsOnly(new ReverseComparator(HeaderDisplayComparator.FROM_COMPARATOR));

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/server/data/data-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index a40850b..64d44a5 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -128,7 +128,6 @@
             <groupId>com.h2database</groupId>
             <artifactId>h2</artifactId>
             <scope>test</scope>
-            <version>${h2.version}</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Delay.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Delay.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Delay.java
index 3f50ea7..d293f13 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Delay.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Delay.java
@@ -31,9 +31,6 @@ import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
 
 public class Delay {
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
index df38243..c2c75e5 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrer.java
@@ -40,6 +40,7 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Iterables;
 
+@SuppressWarnings("deprecation")
 public class MailDelivrer {
 
     private final RemoteDeliveryConfiguration configuration;
@@ -88,7 +89,6 @@ public class MailDelivrer {
         }
     }
 
-    @SuppressWarnings("deprecation")
     private ExecutionResult tryDeliver(Mail mail) throws MessagingException {
         if (mail.getRecipients().isEmpty()) {
             logger.info("No recipients specified... not sure how this could have happened.");
@@ -119,7 +119,6 @@ public class MailDelivrer {
         return rcpt.getDomain();
     }
 
-    @SuppressWarnings("deprecation")
     private ExecutionResult doDeliver(Mail mail, InternetAddress[] addr, Iterator<HostAddress> targetServers) throws MessagingException {
         MessagingException lastError = null;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Repeat.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Repeat.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Repeat.java
index 19682b1..5c26342 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Repeat.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/Repeat.java
@@ -27,6 +27,7 @@ import com.google.common.collect.Iterables;
 
 public class Repeat {
 
+    @SuppressWarnings("unchecked")
     public static <T> List<T> repeat(T element, int times) {
         Preconditions.checkArgument(times >= 0, "Times argument should be strictly positive");
         return ImmutableList.copyOf(

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
index 1c556a7..aed6d04 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/ToRecipientFolderTest.java
@@ -30,17 +30,10 @@ import static org.mockito.Mockito.when;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Date;
-import java.util.Properties;
 
-import javax.activation.DataHandler;
 import javax.mail.Flags;
 import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import javax.mail.util.ByteArrayDataSource;
 
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;

http://git-wip-us.apache.org/repos/asf/james-project/blob/d7ec83fd/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerTest.java
index b77fcb4..3456c0b 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/MailDelivrerTest.java
@@ -51,15 +51,14 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.UnmodifiableIterator;
 import com.sun.mail.smtp.SMTPSenderFailedException;
 
+@SuppressWarnings("deprecation")
 public class MailDelivrerTest {
     private static final Logger LOGGER = LoggerFactory.getLogger(MailDelivrerTest.class);
     public static final String MX1_HOSTNAME = "mx1." + MailAddressFixture.JAMES2_APACHE_ORG;
     public static final String MX2_HOSTNAME = "mx2." + MailAddressFixture.JAMES2_APACHE_ORG;
     public static final String SMTP_URI2 = "protocol://userid:password@host:119/file1";
     public static final String SMTP_URI1 = "protocol://userid:password@host:119/file2";
-    @SuppressWarnings("deprecation")
     public static final HostAddress HOST_ADDRESS_1 = new HostAddress(MX1_HOSTNAME, SMTP_URI1);
-    @SuppressWarnings("deprecation")
     public static final HostAddress HOST_ADDRESS_2 = new HostAddress(MX2_HOSTNAME, SMTP_URI2);
 
     private MailDelivrer testee;
@@ -242,7 +241,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.TEMPORARY_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldReturnTemporaryErrorWhenFirstDNSProblem() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -255,7 +253,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.TEMPORARY_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldReturnTemporaryErrorWhenToleratedDNSProblem() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -269,7 +266,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.TEMPORARY_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldReturnPermanentErrorWhenLimitDNSProblemReached() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -285,7 +281,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.PERMANENT_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldReturnPermanentErrorWhenLimitDNSProblemExceeded() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -303,7 +298,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.PERMANENT_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldWork() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -320,7 +314,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.SUCCESS);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldAbortWhenServerError() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -337,7 +330,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.PERMANENT_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldAbortWithTemporaryWhenMessagingExceptionCauseUnknown() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -354,7 +346,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.TEMPORARY_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldTryTwiceOnIOException() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -373,7 +364,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.SUCCESS);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldAbortWhenServerErrorSFE() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -390,7 +380,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.PERMANENT_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldAttemptDeliveryOnlyOnceIfNoMoreValidUnsent() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -407,7 +396,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.TEMPORARY_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldAttemptDeliveryOnBothMXIfStillRecipients() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();
@@ -432,7 +420,6 @@ public class MailDelivrerTest {
         assertThat(executionResult.getExecutionState()).isEqualTo(ExecutionResult.ExecutionState.TEMPORARY_FAILURE);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
     public void deliverShouldWorkIfOnlyMX2Valid() throws Exception {
         Mail mail = FakeMail.builder().recipients(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES).build();


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[2/3] james-project git commit: MAILET-147 Introduce a new mailet for mime attribute content extracting

Posted by ad...@apache.org.
MAILET-147 Introduce a new mailet for mime attribute content extracting


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/6fcd8848
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/6fcd8848
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/6fcd8848

Branch: refs/heads/master
Commit: 6fcd884830e0d04d00edd22e74c19f3c682da71f
Parents: d7ec83f
Author: Antoine Duprat <ad...@linagora.com>
Authored: Fri Jan 13 15:27:12 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Wed Jan 18 14:48:20 2017 +0100

----------------------------------------------------------------------
 .../transport/mailets/AmqpForwardAttribute.java |  26 +---
 .../transport/mailets/MimeDecodingMailet.java   | 110 +++++++++++++
 .../mailets/AmqpForwardAttributeTest.java       |   4 +-
 .../mailets/MimeDecodingMailetTest.java         | 154 +++++++++++++++++++
 .../mailets/AmqpForwardAttachmentTest.java      |   5 +
 5 files changed, 278 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/6fcd8848/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
index 4596c7c..360898d 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
@@ -19,16 +19,11 @@
 
 package org.apache.james.transport.mailets;
 
-import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.Map;
 import java.util.concurrent.TimeoutException;
 
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeBodyPart;
-
-import org.apache.commons.io.IOUtils;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetException;
 import org.apache.mailet.base.GenericMailet;
@@ -70,6 +65,7 @@ public class AmqpForwardAttribute extends GenericMailet {
     private ConnectionFactory connectionFactory;
     @VisibleForTesting String routingKey;
 
+    @Override
     public void init() throws MailetException {
         String uri = getInitParameter(URI_PARAMETER_NAME);
         if (Strings.isNullOrEmpty(uri)) {
@@ -100,6 +96,7 @@ public class AmqpForwardAttribute extends GenericMailet {
         this.connectionFactory = connectionFactory;
     }
 
+    @Override
     public void service(Mail mail) throws MailetException {
         if (mail.getAttribute(attribute) == null) {
             return;
@@ -144,22 +141,15 @@ public class AmqpForwardAttribute extends GenericMailet {
     }
 
     private void sendContentOnChannel(Channel channel, Map<String, byte[]> content) throws IOException {
-        for (Map.Entry<String, byte[]> entry: content.entrySet()) {
-            byte[] rawMime = entry.getValue();
-            byte[] attachmentContent = extractContent(rawMime);
-            channel.basicPublish(exchange, routingKey, new AMQP.BasicProperties(), attachmentContent);
-        }
-    }
-
-    private byte[] extractContent(byte[] rawMime) throws IOException {
-        try {
-            MimeBodyPart mimeBodyPart = new MimeBodyPart(new ByteArrayInputStream(rawMime));
-            return IOUtils.toByteArray(mimeBodyPart.getInputStream());
-        } catch (MessagingException e) {
-            throw new IOException(e);
+        for (byte[] body: content.values()) {
+            channel.basicPublish(exchange, 
+                    routingKey, 
+                    new AMQP.BasicProperties(), 
+                    body);
         }
     }
 
+    @Override
     public String getMailetInfo() {
         return "AmqpForwardAttribute";
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/6fcd8848/mailet/standard/src/main/java/org/apache/james/transport/mailets/MimeDecodingMailet.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MimeDecodingMailet.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MimeDecodingMailet.java
new file mode 100644
index 0000000..78fcf02
--- /dev/null
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MimeDecodingMailet.java
@@ -0,0 +1,110 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.transport.mailets;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Map;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeBodyPart;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.base.GenericMailet;
+
+import com.google.common.base.Optional;
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableMap;
+
+/**
+ * This mailet replace the mail attribute map of key to MimePart
+ * by a map of key to the MimePart content (as bytes).
+ * <br />
+ * It takes only one parameter:
+ * <ul>
+ * <li>attribute (mandatory): mime content to be decoded, expected to be a Map&lt;String, byte[]&gt;
+ * </ul>
+ *
+ * Then all this map attribute values will be replaced by their content.
+ */
+public class MimeDecodingMailet extends GenericMailet {
+
+    public static final String ATTRIBUTE_PARAMETER_NAME = "attribute";
+
+    private String attribute;
+
+    @Override
+    public void init() throws MessagingException {
+        attribute = getInitParameter(ATTRIBUTE_PARAMETER_NAME);
+        if (Strings.isNullOrEmpty(attribute)) {
+            throw new MailetException("No value for " + ATTRIBUTE_PARAMETER_NAME
+                    + " parameter was provided.");
+        }
+    }
+
+    @Override
+    public void service(Mail mail) throws MessagingException {
+        if (mail.getAttribute(attribute) == null) {
+            return;
+        }
+
+        ImmutableMap.Builder<String, byte[]> extractedMimeContentByName = ImmutableMap.builder();
+        for (Map.Entry<String, byte[]> entry: getAttributeContent(mail).entrySet()) {
+            Optional<byte[]> maybeContent = extractContent(entry.getValue());
+            if (maybeContent.isPresent()) {
+                extractedMimeContentByName.put(entry.getKey(), maybeContent.get());
+            }
+        }
+        mail.setAttribute(attribute, extractedMimeContentByName.build());
+    }
+
+    @SuppressWarnings("unchecked")
+    private Map<String, byte[]> getAttributeContent(Mail mail) throws MailetException {
+        Serializable attributeContent = mail.getAttribute(attribute);
+        if (! (attributeContent instanceof Map)) {
+            log("Invalid attribute found into attribute "
+                    + attribute + "class Map expected but "
+                    + attributeContent.getClass() + " found.");
+            return ImmutableMap.of();
+        }
+        return (Map<String, byte[]>) attributeContent;
+    }
+
+    private Optional<byte[]> extractContent(Object rawMime) throws MessagingException {
+        try {
+            MimeBodyPart mimeBodyPart = new MimeBodyPart(new ByteArrayInputStream((byte[]) rawMime));
+            return Optional.fromNullable(IOUtils.toByteArray(mimeBodyPart.getInputStream()));
+        } catch (IOException e) {
+            log("Error while extracting content from mime part", e);
+            return Optional.absent();
+        } catch (ClassCastException e) {
+            log("Invalid map attribute types.", e);
+            return Optional.absent();
+        }
+    }
+
+    @Override
+    public String getMailetInfo() {
+        return "MimeDecodingMailet";
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/6fcd8848/mailet/standard/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttributeTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttributeTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttributeTest.java
index 5507b5e..dac1fab 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttributeTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttributeTest.java
@@ -47,7 +47,6 @@ import org.slf4j.Logger;
 import com.google.common.base.Charsets;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.primitives.Bytes;
 import com.rabbitmq.client.AMQP;
 import com.rabbitmq.client.AMQP.BasicProperties;
 import com.rabbitmq.client.Channel;
@@ -60,9 +59,8 @@ public class AmqpForwardAttributeTest {
     private static final String EXCHANGE_NAME = "exchangeName";
     private static final String ROUTING_KEY = "routingKey";
     private static final String AMQP_URI = "amqp://host";
-    private static final byte[] ATTACHMENT_HEADER = "Content-Transfer-Encoding: 8bit\r\nContent-Type: application/octet-stream; charset=utf-8\r\n\r\n".getBytes(Charsets.UTF_8);
     private static final byte[] ATTACHMENT_CONTENT = "Attachment content".getBytes(Charsets.UTF_8);
-    private static final ImmutableMap<String, byte[]> ATTRIBUTE_CONTENT = ImmutableMap.of("attachment1.txt", Bytes.concat(ATTACHMENT_HEADER, ATTACHMENT_CONTENT));
+    private static final ImmutableMap<String, byte[]> ATTRIBUTE_CONTENT = ImmutableMap.of("attachment1.txt", ATTACHMENT_CONTENT);
 
     @Rule
     public ExpectedException expectedException = ExpectedException.none();

http://git-wip-us.apache.org/repos/asf/james-project/blob/6fcd8848/mailet/standard/src/test/java/org/apache/james/transport/mailets/MimeDecodingMailetTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/MimeDecodingMailetTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MimeDecodingMailetTest.java
new file mode 100644
index 0000000..c540f44
--- /dev/null
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/MimeDecodingMailetTest.java
@@ -0,0 +1,154 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.transport.mailets;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+
+import java.util.Map;
+
+import javax.mail.MessagingException;
+
+import org.apache.mailet.MailetContext;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.base.test.FakeMail;
+import org.apache.mailet.base.test.FakeMailContext;
+import org.apache.mailet.base.test.FakeMailetConfig;
+import org.assertj.core.data.MapEntry;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.slf4j.Logger;
+
+import com.google.common.base.Charsets;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
+public class MimeDecodingMailetTest {
+
+    private static final String MAIL_ATTRIBUTE = "mime.attachments";
+
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
+
+    private Logger logger;
+    private MailetContext mailetContext;
+    private MimeDecodingMailet testee;
+
+    @Before
+    public void setUp() throws Exception {
+        testee = new MimeDecodingMailet();
+        logger = mock(Logger.class);
+        mailetContext = FakeMailContext.builder()
+                .logger(logger)
+                .build();
+    }
+
+    @Test
+    public void initShouldThrowWhenNoAttributeParameter() throws MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailetContext)
+                .build();
+        expectedException.expect(MailetException.class);
+        testee.init(mailetConfig);
+    }
+
+    @Test
+    public void initShouldThrowWhenAttributeParameterIsEmpty() throws MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailetContext)
+                .setProperty(MimeDecodingMailet.ATTRIBUTE_PARAMETER_NAME, "")
+                .build();
+        expectedException.expect(MailetException.class);
+        testee.init(mailetConfig);
+    }
+
+    @Test
+    public void serviceShouldNotThrowWhenAttributeContentIsNotAMap() throws MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailetContext)
+                .setProperty(MimeDecodingMailet.ATTRIBUTE_PARAMETER_NAME, MAIL_ATTRIBUTE)
+                .build();
+        testee.init(mailetConfig);
+
+        FakeMail mail = FakeMail.defaultFakeMail();
+        mail.setAttribute(MAIL_ATTRIBUTE, ImmutableList.of());
+
+        testee.service(mail);
+    }
+
+    @Test
+    public void serviceShouldNotThrowWhenAttributeContentIsAMapOfWrongTypes() throws MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailetContext)
+                .setProperty(MimeDecodingMailet.ATTRIBUTE_PARAMETER_NAME, MAIL_ATTRIBUTE)
+                .build();
+        testee.init(mailetConfig);
+
+        FakeMail mail = FakeMail.defaultFakeMail();
+        mail.setAttribute(MAIL_ATTRIBUTE, ImmutableMap.of("1", "2"));
+
+        testee.service(mail);
+    }
+
+    @Test
+    public void serviceShouldNotSetAttributeWhenNone() throws MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailetContext)
+                .setProperty(MimeDecodingMailet.ATTRIBUTE_PARAMETER_NAME, MAIL_ATTRIBUTE)
+                .build();
+        testee.init(mailetConfig);
+
+        FakeMail mail = FakeMail.defaultFakeMail();
+
+        testee.service(mail);
+        assertThat(mail.getAttribute(MAIL_ATTRIBUTE)).isNull();
+    }
+
+    @Test
+    @SuppressWarnings("unchecked")
+    public void serviceShouldChangeAttributeWhenDefined() throws MessagingException {
+        FakeMailetConfig mailetConfig = FakeMailetConfig.builder()
+                .mailetName("Test")
+                .mailetContext(mailetContext)
+                .setProperty(MimeDecodingMailet.ATTRIBUTE_PARAMETER_NAME, MAIL_ATTRIBUTE)
+                .build();
+        testee.init(mailetConfig);
+
+        FakeMail mail = FakeMail.defaultFakeMail();
+        String text = "Attachment content";
+        String content = "Content-Transfer-Encoding: 8bit\r\n"
+                + "Content-Type: application/octet-stream; charset=utf-8\r\n\r\n"
+                + text;
+        String expectedKey = "mimePart1";
+        mail.setAttribute(MAIL_ATTRIBUTE, ImmutableMap.of(expectedKey, content.getBytes(Charsets.UTF_8)));
+
+        byte[] expectedValue = text.getBytes(Charsets.UTF_8);
+        testee.service(mail);
+
+        Map<String, byte[]> processedAttribute = (Map<String, byte[]>) mail.getAttribute(MAIL_ATTRIBUTE);
+        assertThat(processedAttribute).containsExactly(MapEntry.entry(expectedKey, expectedValue));
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/6fcd8848/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
index eb94ebf..67f63cd 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
@@ -125,6 +125,11 @@ public class AmqpForwardAttachmentTest {
                             .build())
                     .addMailet(MailetConfiguration.builder()
                             .match("All")
+                            .clazz("MimeDecodingMailet")
+                            .addProperty("attribute", MAIL_ATTRIBUTE)
+                            .build())
+                    .addMailet(MailetConfiguration.builder()
+                            .match("All")
                             .clazz("AmqpForwardAttribute")
                             .addProperty("uri", amqpUri)
                             .addProperty("exchange", EXCHANGE_NAME)


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[3/3] james-project git commit: Merge remote-tracking branch 'mine/MAILET-147'

Posted by ad...@apache.org.
Merge remote-tracking branch 'mine/MAILET-147'


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/40b25f84
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/40b25f84
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/40b25f84

Branch: refs/heads/master
Commit: 40b25f848fc68981ddb2f52a472946d071e80ff3
Parents: 2e4005b 6fcd884
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jan 18 21:19:40 2017 +0100
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Wed Jan 18 21:19:40 2017 +0100

----------------------------------------------------------------------
 .../james/backends/jpa/JpaTestCluster.java      |   9 +-
 .../james/mailbox/jpa/JPAMailboxFixture.java    |   2 +-
 .../search/LuceneMessageSearchIndexTest.java    |   1 -
 .../mailbox/store/StoreMailboxManager.java      |   2 -
 .../comparator/HeaderMailboxComparator.java     |   2 -
 .../store/search/CombinedComparatorTest.java    |  12 ++
 .../transport/mailets/AmqpForwardAttribute.java |  26 +---
 .../transport/mailets/MimeDecodingMailet.java   | 110 +++++++++++++
 .../mailets/AmqpForwardAttributeTest.java       |   4 +-
 .../mailets/MimeDecodingMailetTest.java         | 154 +++++++++++++++++++
 server/data/data-jpa/pom.xml                    |   1 -
 .../mailets/AmqpForwardAttachmentTest.java      |   5 +
 .../transport/mailets/remoteDelivery/Delay.java |   3 -
 .../mailets/remoteDelivery/MailDelivrer.java    |   3 +-
 .../mailets/remoteDelivery/Repeat.java          |   1 +
 .../mailets/delivery/ToRecipientFolderTest.java |   7 -
 .../remoteDelivery/MailDelivrerTest.java        |  15 +-
 17 files changed, 299 insertions(+), 58 deletions(-)
----------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org