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 bt...@apache.org on 2018/07/31 02:32:35 UTC
[18/24] james-project git commit: JAMES-2486 Drop joda-time
JAMES-2486 Drop joda-time
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1c69d370
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1c69d370
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1c69d370
Branch: refs/heads/master
Commit: 1c69d3708503d7d1481e690f3a378b1c7d58d924
Parents: c4e0467
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Thu Jul 19 11:31:00 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700
----------------------------------------------------------------------
pom.xml | 6 -----
server/data/data-api/pom.xml | 4 ---
.../sieverepository/api/SieveRepository.java | 4 +--
.../cassandra/CassandraActiveScriptDAO.java | 4 ++-
.../cassandra/CassandraSieveRepository.java | 4 +--
.../sieve/cassandra/model/ActiveScriptInfo.java | 11 ++++----
.../file/SieveDefaultRepository.java | 8 +++---
.../file/SieveFileRepository.java | 8 +++---
.../lib/AbstractSieveRepositoryTest.java | 6 +++--
server/mailet/mailets/pom.xml | 4 ---
.../transport/mailets/jsieve/ActionContext.java | 6 ++---
.../mailets/jsieve/ResourceLocator.java | 14 +++++-----
.../mailets/jsieve/SieveMailAdapter.java | 12 ++++-----
.../mailets/jsieve/VacationAction.java | 8 ++++--
.../james/transport/mailets/DSNBounceTest.java | 28 +++++++++++---------
.../mailets/delivery/SieveIntegrationTest.java | 15 +++++------
.../redirect/NotifyMailetsMessageTest.java | 5 ++--
17 files changed, 72 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b453fec..8180a56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -634,7 +634,6 @@
<jetty.version>9.4.7.v20170914</jetty.version>
<testcontainers.version>1.8.1</testcontainers.version>
<metrics.version>3.2.6</metrics.version>
- <joda.version>2.9.4</joda.version>
<assertj.version>3.3.0</assertj.version>
<es.version>2.2.1</es.version>
<es-reporter.version>2.2.0</es-reporter.version>
@@ -1949,11 +1948,6 @@
<version>1.1.0</version>
</dependency>
<dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>${joda.version}</version>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-api/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-api/pom.xml b/server/data/data-api/pom.xml
index cfbd462..36f68bd 100644
--- a/server/data/data-api/pom.xml
+++ b/server/data/data-api/pom.xml
@@ -59,10 +59,6 @@
<artifactId>javax.mail</artifactId>
</dependency>
<dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
- <dependency>
<groupId>nl.jqno.equalsverifier</groupId>
<artifactId>equalsverifier</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java b/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
index ea50969..f9d8c0b 100644
--- a/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
+++ b/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
@@ -21,6 +21,7 @@
package org.apache.james.sieverepository.api;
import java.io.InputStream;
+import java.time.ZonedDateTime;
import java.util.List;
import org.apache.james.core.User;
@@ -29,7 +30,6 @@ import org.apache.james.sieverepository.api.exception.IsActiveException;
import org.apache.james.sieverepository.api.exception.QuotaExceededException;
import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
import org.apache.james.sieverepository.api.exception.StorageException;
-import org.joda.time.DateTime;
/**
@@ -56,7 +56,7 @@ public interface SieveRepository extends SieveQuotaRepository {
List<ScriptSummary> listScripts(User user) throws StorageException;
- DateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException;
+ ZonedDateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException;
InputStream getActive(User user) throws ScriptNotFoundException, StorageException;
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
index b3773f9..47c598d 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
@@ -29,6 +29,8 @@ import static org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable.
import static org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable.TABLE_NAME;
import static org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable.USER_NAME;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
import java.util.Date;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
@@ -70,7 +72,7 @@ public class CassandraActiveScriptDAO {
.setString(USER_NAME, user.asString()))
.thenApply(rowOptional -> rowOptional.map(row -> new ActiveScriptInfo(
new ScriptName(row.getString(SCRIPT_NAME)),
- row.getTimestamp(DATE))));
+ ZonedDateTime.ofInstant(row.getTimestamp(DATE).toInstant(), ZoneOffset.UTC))));
}
public CompletableFuture<Void> unactivate(User user) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
index 56a7563..a3874ee 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
@@ -21,6 +21,7 @@ package org.apache.james.sieve.cassandra;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.time.ZonedDateTime;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
@@ -43,7 +44,6 @@ import org.apache.james.sieverepository.api.exception.QuotaExceededException;
import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
import org.apache.james.util.CompletableFutureUtil;
-import org.joda.time.DateTime;
public class CassandraSieveRepository implements SieveRepository {
@@ -59,7 +59,7 @@ public class CassandraSieveRepository implements SieveRepository {
}
@Override
- public DateTime getActivationDateForActiveScript(User user) throws ScriptNotFoundException {
+ public ZonedDateTime getActivationDateForActiveScript(User user) throws ScriptNotFoundException {
return cassandraActiveScriptDAO.getActiveSctiptInfo(user).join()
.orElseThrow(ScriptNotFoundException::new)
.getActivationDate();
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
index 051d7a4..6f975ef 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
@@ -19,26 +19,25 @@
package org.apache.james.sieve.cassandra.model;
-import java.util.Date;
+import java.time.ZonedDateTime;
import org.apache.james.sieverepository.api.ScriptName;
-import org.joda.time.DateTime;
public class ActiveScriptInfo {
private final ScriptName name;
- private final DateTime activationDate;
+ private final ZonedDateTime activationDate;
- public ActiveScriptInfo(ScriptName name, Date date) {
+ public ActiveScriptInfo(ScriptName name, ZonedDateTime activationDate) {
this.name = name;
- this.activationDate = new DateTime(date);
+ this.activationDate = activationDate;
}
public ScriptName getName() {
return name;
}
- public DateTime getActivationDate() {
+ public ZonedDateTime getActivationDate() {
return activationDate;
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
index bfa8f64..8155bc8 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
@@ -24,6 +24,9 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
import java.util.List;
import javax.inject.Inject;
@@ -41,7 +44,6 @@ import org.apache.james.sieverepository.api.exception.QuotaExceededException;
import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
import org.apache.james.sieverepository.api.exception.StorageException;
-import org.joda.time.DateTime;
/**
* <code>SieveFileRepository</code> manages sieve scripts stored on the file system.
@@ -83,8 +85,8 @@ public class SieveDefaultRepository implements SieveRepository {
}
@Override
- public DateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
- return new DateTime(retrieveUserFile(user).lastModified());
+ public ZonedDateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
+ return ZonedDateTime.ofInstant(Instant.ofEpochMilli(retrieveUserFile(user).lastModified()), ZoneOffset.UTC);
}
public File retrieveUserFile(User user) throws ScriptNotFoundException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
index b544ef5..d856dcd 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
@@ -29,6 +29,9 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -51,7 +54,6 @@ import org.apache.james.sieverepository.api.exception.QuotaExceededException;
import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
import org.apache.james.sieverepository.api.exception.StorageException;
-import org.joda.time.DateTime;
/**
* <code>SieveFileRepository</code> manages sieve scripts stored on the file system.
@@ -272,8 +274,8 @@ public class SieveFileRepository implements SieveRepository {
}
@Override
- public DateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
- return new DateTime(getActiveFile(user).lastModified());
+ public ZonedDateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
+ return ZonedDateTime.ofInstant(Instant.ofEpochMilli(getActiveFile(user).lastModified()), ZoneOffset.UTC);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
index a057d3a..266d8b8 100644
--- a/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
@@ -23,6 +23,9 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
import org.apache.commons.io.IOUtils;
import org.apache.james.core.User;
@@ -36,7 +39,6 @@ import org.apache.james.sieverepository.api.exception.IsActiveException;
import org.apache.james.sieverepository.api.exception.QuotaExceededException;
import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
-import org.joda.time.DateTime;
import org.junit.Test;
public abstract class AbstractSieveRepositoryTest {
@@ -72,7 +74,7 @@ public abstract class AbstractSieveRepositoryTest {
sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT);
sieveRepository.setActive(USER, SCRIPT_NAME);
assertThat(sieveRepository.getActivationDateForActiveScript(USER)).isNotNull();
- assertThat(sieveRepository.getActivationDateForActiveScript(USER)).isNotEqualTo(new DateTime(0L));
+ assertThat(sieveRepository.getActivationDateForActiveScript(USER)).isNotEqualTo(ZonedDateTime.ofInstant(Instant.ofEpochMilli(0L), ZoneOffset.UTC));
}
@Test(expected = ScriptNotFoundException.class)
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/pom.xml b/server/mailet/mailets/pom.xml
index 9e65f80..5a3f3cc 100644
--- a/server/mailet/mailets/pom.xml
+++ b/server/mailet/mailets/pom.xml
@@ -205,10 +205,6 @@
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
index e21d0ed..062772e 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
@@ -18,6 +18,7 @@
****************************************************************/
package org.apache.james.transport.mailets.jsieve;
+import java.time.ZonedDateTime;
import java.util.Collection;
import javax.mail.MessagingException;
@@ -25,7 +26,6 @@ import javax.mail.internet.MimeMessage;
import org.apache.james.core.MailAddress;
import org.apache.mailet.Mail;
-import org.joda.time.DateTime;
/**
* Provides context for action execution.
@@ -35,12 +35,12 @@ public interface ActionContext {
/**
* @return Date the script was activated
*/
- DateTime getScriptActivationDate();
+ ZonedDateTime getScriptActivationDate();
/**
* @return Date the script is currently interpreted
*/
- DateTime getScriptInterpretationDate();
+ ZonedDateTime getScriptInterpretationDate();
/**
* @return Recipient receiving the given eMail
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
index cdb310c..68c306b 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
@@ -19,32 +19,32 @@
package org.apache.james.transport.mailets.jsieve;
import java.io.InputStream;
+import java.time.ZonedDateTime;
import org.apache.james.core.MailAddress;
import org.apache.james.core.User;
import org.apache.james.sieverepository.api.SieveRepository;
import org.apache.james.user.api.UsersRepository;
import org.apache.james.user.api.UsersRepositoryException;
-import org.joda.time.DateTime;
public class ResourceLocator {
public static class UserSieveInformation {
- private DateTime scriptActivationDate;
- private DateTime scriptInterpretationDate;
+ private ZonedDateTime scriptActivationDate;
+ private ZonedDateTime scriptInterpretationDate;
private InputStream scriptContent;
- public UserSieveInformation(DateTime scriptActivationDate, DateTime scriptInterpretationDate, InputStream scriptContent) {
+ public UserSieveInformation(ZonedDateTime scriptActivationDate, ZonedDateTime scriptInterpretationDate, InputStream scriptContent) {
this.scriptActivationDate = scriptActivationDate;
this.scriptInterpretationDate = scriptInterpretationDate;
this.scriptContent = scriptContent;
}
- public DateTime getScriptActivationDate() {
+ public ZonedDateTime getScriptActivationDate() {
return scriptActivationDate;
}
- public DateTime getScriptInterpretationDate() {
+ public ZonedDateTime getScriptInterpretationDate() {
return scriptInterpretationDate;
}
@@ -63,7 +63,7 @@ public class ResourceLocator {
public UserSieveInformation get(MailAddress mailAddress) throws Exception {
User username = retrieveUsername(mailAddress);
- return new UserSieveInformation(sieveRepository.getActivationDateForActiveScript(username), DateTime.now(), sieveRepository.getActive(username));
+ return new UserSieveInformation(sieveRepository.getActivationDateForActiveScript(username), ZonedDateTime.now(), sieveRepository.getActive(username));
}
private User retrieveUsername(MailAddress mailAddress) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
index 82b236d..ed0feba 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
@@ -18,6 +18,7 @@
****************************************************************/
package org.apache.james.transport.mailets.jsieve;
+import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -51,7 +52,6 @@ import org.apache.jsieve.mail.SieveMailException;
import org.apache.jsieve.mail.optional.EnvelopeAccessors;
import org.apache.mailet.Mail;
import org.apache.mailet.MailetContext;
-import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -82,8 +82,8 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
private final ActionDispatcher dispatcher;
private final Poster poster;
- private final DateTime scriptActivationDate;
- private final DateTime scriptInterpretationDate;
+ private final ZonedDateTime scriptActivationDate;
+ private final ZonedDateTime scriptInterpretationDate;
private final MailAddress recipient;
/**
@@ -93,7 +93,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
* @param aMailetContext
*/
public SieveMailAdapter(final Mail aMail, final MailetContext aMailetContext, final ActionDispatcher dispatcher, final Poster poster,
- DateTime scriptActivationDate, DateTime scriptInterpretationDate, MailAddress recipient) {
+ ZonedDateTime scriptActivationDate, ZonedDateTime scriptInterpretationDate, MailAddress recipient) {
this.poster = poster;
this.dispatcher = dispatcher;
this.scriptInterpretationDate = scriptInterpretationDate;
@@ -104,12 +104,12 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
}
@Override
- public DateTime getScriptActivationDate() {
+ public ZonedDateTime getScriptActivationDate() {
return scriptActivationDate;
}
@Override
- public DateTime getScriptInterpretationDate() {
+ public ZonedDateTime getScriptInterpretationDate() {
return scriptInterpretationDate;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
index 7fe9f3a..b3847b9 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
@@ -19,6 +19,7 @@
package org.apache.james.transport.mailets.jsieve;
+import java.time.temporal.ChronoUnit;
import java.util.Enumeration;
import java.util.Set;
@@ -29,7 +30,6 @@ import org.apache.james.core.MailAddress;
import org.apache.jsieve.mail.Action;
import org.apache.jsieve.mail.optional.ActionVacation;
import org.apache.mailet.Mail;
-import org.joda.time.Days;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,7 +43,11 @@ public class VacationAction implements MailAction {
@Override
public void execute(Action action, Mail mail, ActionContext context) throws MessagingException {
ActionVacation actionVacation = (ActionVacation) action;
- int dayDifference = Days.daysBetween(context.getScriptActivationDate(), context.getScriptInterpretationDate()).getDays();
+ int dayDifference = Long.valueOf(
+ ChronoUnit.DAYS.between(
+ context.getScriptActivationDate().toLocalDate(),
+ context.getScriptInterpretationDate().toLocalDate()))
+ .intValue();
if (isStillInVacation(actionVacation, dayDifference)) {
if (isValidForReply(mail, actionVacation, context)) {
if (!isMailingList(mail)) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
index def7677..002c0d6 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
@@ -26,6 +26,9 @@ import static org.mockito.Mockito.when;
import java.net.InetAddress;
import java.nio.charset.StandardCharsets;
+import java.text.DateFormat;
+import java.time.Instant;
+import java.util.Date;
import java.util.List;
import java.util.TimeZone;
@@ -49,7 +52,6 @@ import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailContext;
import org.apache.mailet.base.test.FakeMailContext.SentMail;
import org.apache.mailet.base.test.FakeMailetConfig;
-import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -131,7 +133,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
@@ -162,7 +164,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
@@ -203,7 +205,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
@@ -242,7 +244,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.remoteAddr("remoteHost")
.build();
@@ -281,7 +283,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.remoteAddr("remoteHost")
.build();
@@ -304,7 +306,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.remoteAddr("remoteHost")
.build();
@@ -328,7 +330,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.remoteAddr("remoteHost")
.build();
@@ -353,7 +355,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
@@ -385,7 +387,7 @@ public class DSNBounceTest {
.sender(senderMailAddress)
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.mimeMessage(mimeMessage)
.build();
MimeMessage mimeMessageCopy = new MimeMessage(mimeMessage);
@@ -423,7 +425,7 @@ public class DSNBounceTest {
.setSubject("mySubject"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
@@ -458,7 +460,7 @@ public class DSNBounceTest {
.setText("My content"))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
@@ -489,7 +491,7 @@ public class DSNBounceTest {
.addHeader(RFC2822Headers.DATE, expectedDate))
.name(MAILET_NAME)
.recipient("recipient@domain.com")
- .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+ .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
.build();
dsnBounce.service(mail);
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
index faad032..66ac1cb 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
@@ -24,6 +24,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
+import java.time.ZonedDateTime;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
@@ -41,9 +42,6 @@ import org.apache.mailet.Mail;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.FakeMailContext;
import org.apache.mailet.base.test.FakeMailetConfig;
-import org.joda.time.DateTime;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
@@ -53,11 +51,10 @@ public class SieveIntegrationTest {
public static final String LOCAL_PART = "receiver";
public static final String RECEIVER_DOMAIN_COM = LOCAL_PART + "@domain.com";
- public static DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-mm-dd HH:mm:ss");
- public static final DateTime DATE_CLOSE = formatter.parseDateTime("2016-01-16 00:00:00");
- public static final DateTime DATE_DEFAULT = formatter.parseDateTime("2016-01-14 00:00:00");
- public static final DateTime DATE_NEW = formatter.parseDateTime("2016-01-18 00:00:00");
- public static final DateTime DATE_OLD = formatter.parseDateTime("2011-01-18 00:00:00");
+ public static final ZonedDateTime DATE_CLOSE = ZonedDateTime.parse("2016-01-16T00:00:00Z");
+ public static final ZonedDateTime DATE_DEFAULT = ZonedDateTime.parse("2016-01-14T00:00:00Z");
+ public static final ZonedDateTime DATE_NEW = ZonedDateTime.parse("2016-01-18T00:00:00Z");
+ public static final ZonedDateTime DATE_OLD = ZonedDateTime.parse("2011-01-18T00:00:00Z");
public static final MailboxPath NOT_SELECTED_MAILBOX = MailboxPath.forUser(LOCAL_PART, "INBOX.not.selected");
public static final MailboxPath SELECTED_MAILBOX = MailboxPath.forUser(LOCAL_PART, "INBOX.select");
public static final MailboxPath INBOX = MailboxPath.forUser(LOCAL_PART, "INBOX");
@@ -932,7 +929,7 @@ public class SieveIntegrationTest {
prepareTestUsingScriptAndDates(script, DATE_DEFAULT, DATE_DEFAULT);
}
- private void prepareTestUsingScriptAndDates(String script, DateTime scriptCreationDate, DateTime scriptExecutionDate) throws Exception {
+ private void prepareTestUsingScriptAndDates(String script, ZonedDateTime scriptCreationDate, ZonedDateTime scriptExecutionDate) throws Exception {
when(usersRepository.supportVirtualHosting()).thenReturn(false);
when(usersRepository.getUser(new MailAddress(LOCAL_PART + "@localhost"))).thenReturn(LOCAL_PART);
when(usersRepository.getUser(new MailAddress(LOCAL_PART + "@domain.com"))).thenReturn(LOCAL_PART);
http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
index 3cb08d7..235d65e 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
@@ -23,6 +23,8 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.time.Instant;
+import java.util.Date;
import java.util.Optional;
import java.util.TimeZone;
@@ -34,7 +36,6 @@ import org.apache.james.core.builder.MimeMessageBuilder;
import org.apache.james.util.MimeMessageUtil;
import org.apache.mailet.Mail;
import org.apache.mailet.base.test.FakeMail;
-import org.joda.time.DateTime;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -94,7 +95,7 @@ public class NotifyMailetsMessageTest {
@Test
public void generateMessageShouldAddSentDateWhenMimeMessageAsSome() throws Exception {
MimeMessage message = MimeMessageUtil.defaultMimeMessage();
- message.setSentDate(DateTime.parse("2016-09-08T14:25:52.000Z").toDate());
+ message.setSentDate(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")));
FakeMail mail = FakeMail.from(message);
String generateMessage = new NotifyMailetsMessage().generateMessage("my message", mail);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org