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 2019/03/28 03:21:53 UTC
[james-project] 09/23: JAMES-2702 TimeConverter is more a
DurationParser
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 02a63a3915a592e9e18902bb7eb0919788edd22c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Mar 27 10:11:04 2019 +0700
JAMES-2702 TimeConverter is more a DurationParser
---
.../custom/mailets/IsDelayedForMoreThan.java | 4 +-
.../mailing/QuotaMailingListenerConfiguration.java | 4 +-
.../modules/mailbox/TikaConfigurationReader.java | 4 +-
.../{TimeConverter.java => DurationParser.java} | 10 ++---
...eConverterTest.java => DurationParserTest.java} | 52 +++++++++++-----------
.../transport/mailets/remote/delivery/Delay.java | 8 ++--
.../james/smtpserver/POP3BeforeSMTPHandler.java | 4 +-
.../smtpserver/fastfail/JDBCGreylistHandler.java | 8 ++--
.../CassandraMailQueueViewConfiguration.java | 4 +-
9 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/examples/custom-mailets/src/main/java/org/apache/james/examples/custom/mailets/IsDelayedForMoreThan.java b/examples/custom-mailets/src/main/java/org/apache/james/examples/custom/mailets/IsDelayedForMoreThan.java
index 1c5c72b..aad8b37 100644
--- a/examples/custom-mailets/src/main/java/org/apache/james/examples/custom/mailets/IsDelayedForMoreThan.java
+++ b/examples/custom-mailets/src/main/java/org/apache/james/examples/custom/mailets/IsDelayedForMoreThan.java
@@ -28,7 +28,7 @@ import java.util.Date;
import javax.mail.MessagingException;
import org.apache.james.core.MailAddress;
-import org.apache.james.util.TimeConverter;
+import org.apache.james.util.DurationParser;
import org.apache.mailet.Mail;
import org.apache.mailet.base.GenericMatcher;
@@ -61,7 +61,7 @@ public class IsDelayedForMoreThan extends GenericMatcher {
@Override
public void init() {
String condition = getCondition();
- maxDelay = TimeConverter.parseDuration(condition, DEFAULT_UNIT);
+ maxDelay = DurationParser.parse(condition, DEFAULT_UNIT);
}
@Override
diff --git a/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java b/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java
index ab29dd3..46ff99b 100644
--- a/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java
+++ b/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java
@@ -31,8 +31,8 @@ import org.apache.commons.lang3.tuple.Pair;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mailbox.quota.model.QuotaThreshold;
import org.apache.james.mailbox.quota.model.QuotaThresholds;
+import org.apache.james.util.DurationParser;
import org.apache.james.util.OptionalUtils;
-import org.apache.james.util.TimeConverter;
import com.github.steveash.guavate.Guavate;
import com.google.common.base.MoreObjects;
@@ -76,7 +76,7 @@ public class QuotaMailingListenerConfiguration {
private static Optional<Duration> readGracePeriod(HierarchicalConfiguration config) {
return Optional.ofNullable(config.getString(XmlKeys.GRACE_PERIOD, null))
- .map(string -> TimeConverter.parseDuration(string, ChronoUnit.DAYS));
+ .map(string -> DurationParser.parse(string, ChronoUnit.DAYS));
}
private static ImmutableMap<QuotaThreshold, RenderingInformation> readThresholds(HierarchicalConfiguration config) {
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
index 07d1936..68763ec 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
@@ -27,9 +27,9 @@ import java.util.Set;
import org.apache.commons.configuration.AbstractConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.james.mailbox.tika.TikaConfiguration;
+import org.apache.james.util.DurationParser;
import org.apache.james.util.Size;
import org.apache.james.util.StreamUtils;
-import org.apache.james.util.TimeConverter;
import com.github.fge.lambdas.Throwing;
import com.google.common.collect.ImmutableSet;
@@ -64,7 +64,7 @@ public class TikaConfigurationReader {
Optional<Duration> cacheEvictionPeriod = Optional.ofNullable(
configuration.getString(TIKA_CACHE_EVICTION_PERIOD,
null))
- .map(rawString -> TimeConverter.parseDuration(rawString, ChronoUnit.SECONDS));
+ .map(rawString -> DurationParser.parse(rawString, ChronoUnit.SECONDS));
Optional<Long> cacheWeight = Optional.ofNullable(
configuration.getString(TIKA_CACHE_WEIGHT_MAX, null))
diff --git a/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java b/server/container/util/src/main/java/org/apache/james/util/DurationParser.java
similarity index 93%
rename from server/container/util/src/main/java/org/apache/james/util/TimeConverter.java
rename to server/container/util/src/main/java/org/apache/james/util/DurationParser.java
index bc7c3cb..9e1095e 100644
--- a/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java
+++ b/server/container/util/src/main/java/org/apache/james/util/DurationParser.java
@@ -30,7 +30,7 @@ import java.util.regex.Pattern;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
-public class TimeConverter {
+public class DurationParser {
private static final String PATTERN_STRING = "\\s*([0-9]+)\\s*([a-z,A-Z]*)\\s*";
private static final int AMOUNT = 1;
@@ -64,7 +64,7 @@ public class TimeConverter {
}
// Get sure it can not be instantiated
- private TimeConverter() {
+ private DurationParser() {
}
/**
@@ -77,11 +77,11 @@ public class TimeConverter {
* @throws NumberFormatException
* Get thrown if an illegal rawString was used
*/
- public static Duration parseDuration(String rawString) throws NumberFormatException {
- return parseDuration(rawString, ChronoUnit.MILLIS);
+ public static Duration parse(String rawString) throws NumberFormatException {
+ return parse(rawString, ChronoUnit.MILLIS);
}
- public static Duration parseDuration(String rawString, ChronoUnit defaultUnit) throws NumberFormatException {
+ public static Duration parse(String rawString, ChronoUnit defaultUnit) throws NumberFormatException {
Matcher res = PATTERN.matcher(rawString);
if (res.matches()) {
diff --git a/server/container/util/src/test/java/org/apache/james/util/TimeConverterTest.java b/server/container/util/src/test/java/org/apache/james/util/DurationParserTest.java
similarity index 75%
rename from server/container/util/src/test/java/org/apache/james/util/TimeConverterTest.java
rename to server/container/util/src/test/java/org/apache/james/util/DurationParserTest.java
index ca9fe83..7ef870c 100644
--- a/server/container/util/src/test/java/org/apache/james/util/TimeConverterTest.java
+++ b/server/container/util/src/test/java/org/apache/james/util/DurationParserTest.java
@@ -26,155 +26,155 @@ import java.time.temporal.ChronoUnit;
import org.junit.jupiter.api.Test;
-class TimeConverterTest {
+class DurationParserTest {
@Test
void getMilliSecondsShouldConvertValueWhenNoUnitAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2");
+ Duration actual = DurationParser.parse("2");
assertThat(actual).isEqualTo(Duration.ofMillis(2));
}
@Test
void getMilliSecondsShouldUseProvidedUnitWhenNoUnitAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2", ChronoUnit.SECONDS);
+ Duration actual = DurationParser.parse("2", ChronoUnit.SECONDS);
assertThat(actual).isEqualTo(Duration.ofSeconds(2));
}
@Test
void getMilliSecondsShouldNotUseProvidedUnitWhenNoUnitAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 minutes", ChronoUnit.SECONDS);
+ Duration actual = DurationParser.parse("2 minutes", ChronoUnit.SECONDS);
assertThat(actual).isEqualTo(Duration.ofMinutes(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMsecAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 msec");
+ Duration actual = DurationParser.parse("2 msec");
assertThat(actual).isEqualTo(Duration.ofMillis(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMsAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 ms");
+ Duration actual = DurationParser.parse("2 ms");
assertThat(actual).isEqualTo(Duration.ofMillis(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMsCapitalAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 Ms");
+ Duration actual = DurationParser.parse("2 Ms");
assertThat(actual).isEqualTo(Duration.ofMillis(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMsecsAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 msecs");
+ Duration actual = DurationParser.parse("2 msecs");
assertThat(actual).isEqualTo(Duration.ofMillis(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenSAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 s");
+ Duration actual = DurationParser.parse("2 s");
assertThat(actual).isEqualTo(Duration.ofSeconds(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenSecAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 sec");
+ Duration actual = DurationParser.parse("2 sec");
assertThat(actual).isEqualTo(Duration.ofSeconds(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenSecCapitalAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 Sec");
+ Duration actual = DurationParser.parse("2 Sec");
assertThat(actual).isEqualTo(Duration.ofSeconds(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenSecsAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 secs");
+ Duration actual = DurationParser.parse("2 secs");
assertThat(actual).isEqualTo(Duration.ofSeconds(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 m");
+ Duration actual = DurationParser.parse("2 m");
assertThat(actual).isEqualTo(Duration.ofMinutes(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMinuteAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 minute");
+ Duration actual = DurationParser.parse("2 minute");
assertThat(actual).isEqualTo(Duration.ofMinutes(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMinuteCapitalAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 Minute");
+ Duration actual = DurationParser.parse("2 Minute");
assertThat(actual).isEqualTo(Duration.ofMinutes(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenMinutesAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 minutes");
+ Duration actual = DurationParser.parse("2 minutes");
assertThat(actual).isEqualTo(Duration.ofMinutes(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenHAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 h");
+ Duration actual = DurationParser.parse("2 h");
assertThat(actual).isEqualTo(Duration.ofHours(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenHourAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 hour");
+ Duration actual = DurationParser.parse("2 hour");
assertThat(actual).isEqualTo(Duration.ofHours(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenHourCapitalAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 Hour");
+ Duration actual = DurationParser.parse("2 Hour");
assertThat(actual).isEqualTo(Duration.ofHours(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenHoursAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 hours");
+ Duration actual = DurationParser.parse("2 hours");
assertThat(actual).isEqualTo(Duration.ofHours(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenDAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 d");
+ Duration actual = DurationParser.parse("2 d");
assertThat(actual).isEqualTo(Duration.ofDays(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenDayAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 day");
+ Duration actual = DurationParser.parse("2 day");
assertThat(actual).isEqualTo(Duration.ofDays(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenDayCapitalAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 Day");
+ Duration actual = DurationParser.parse("2 Day");
assertThat(actual).isEqualTo(Duration.ofDays(2));
}
@Test
void getMilliSecondsShouldConvertValueWhenDaysAmountAsString() {
- Duration actual = TimeConverter.parseDuration("2 days");
+ Duration actual = DurationParser.parse("2 days");
assertThat(actual).isEqualTo(Duration.ofDays(2));
}
@Test
void getMilliSecondsShouldThrowWhenIllegalUnitInRawString() {
- assertThatThrownBy(() -> TimeConverter.parseDuration("2 week"))
+ assertThatThrownBy(() -> DurationParser.parse("2 week"))
.isInstanceOf(NumberFormatException.class);
}
@Test
void getMilliSecondsShouldThrowWhenIllegalPattern() {
- assertThatThrownBy(() -> TimeConverter.parseDuration("illegal pattern"))
+ assertThatThrownBy(() -> DurationParser.parse("illegal pattern"))
.isInstanceOf(NumberFormatException.class);
}
}
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/Delay.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/Delay.java
index fd04df9..8dcc7c4 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/Delay.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/Delay.java
@@ -24,7 +24,7 @@ import java.util.List;
import javax.mail.MessagingException;
-import org.apache.james.util.TimeConverter;
+import org.apache.james.util.DurationParser;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
@@ -35,7 +35,7 @@ import com.google.common.base.Strings;
public class Delay {
/**
* <p> The optional attempt is the number of tries this delay should be used (default = 1).
- * The delayTime is parsed by {@link TimeConverter}</p>
+ * The delayTime is parsed by {@link DurationParser}</p>
*
* @param initString the string to initialize this Delay object from. It has the form "[attempt\*]delaytime[unit]"
*/
@@ -46,14 +46,14 @@ public class Delay {
List<String> parts = Splitter.on('*').trimResults().splitToList(initString);
if (parts.size() == 1) {
- return new Delay(DEFAULT_ATTEMPTS, TimeConverter.parseDuration(parts.get(0)));
+ return new Delay(DEFAULT_ATTEMPTS, DurationParser.parse(parts.get(0)));
}
if (parts.size() == 2) {
int attempts = Integer.parseInt(parts.get(0));
if (attempts < 0) {
throw new MessagingException("Number of attempts negative in " + initString);
}
- return new Delay(attempts, TimeConverter.parseDuration(parts.get(1)));
+ return new Delay(attempts, DurationParser.parse(parts.get(1)));
}
throw new MessagingException(initString + " contains too much parts");
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
index 5558614..4b8f6f6 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
@@ -29,7 +29,7 @@ import org.apache.james.protocols.api.Response;
import org.apache.james.protocols.api.handler.ConnectHandler;
import org.apache.james.protocols.lib.POP3BeforeSMTPHelper;
import org.apache.james.protocols.smtp.SMTPSession;
-import org.apache.james.util.TimeConverter;
+import org.apache.james.util.DurationParser;
/**
* This ConnectHandler can be used to activate pop-before-smtp
@@ -56,7 +56,7 @@ public class POP3BeforeSMTPHandler implements ConnectHandler<SMTPSession>, Confi
*/
public void setExpireTime(String rawExpireTime) {
if (rawExpireTime != null) {
- this.expireTime = TimeConverter.parseDuration(rawExpireTime);
+ this.expireTime = DurationParser.parse(rawExpireTime);
}
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
index 071958f..4f3647a 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
@@ -47,7 +47,7 @@ import org.apache.james.protocols.api.handler.ProtocolHandler;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.core.fastfail.AbstractGreylistHandler;
import org.apache.james.protocols.smtp.hook.HookResult;
-import org.apache.james.util.TimeConverter;
+import org.apache.james.util.DurationParser;
import org.apache.james.util.sql.JDBCUtil;
import org.apache.james.util.sql.SqlResources;
import org.slf4j.Logger;
@@ -136,7 +136,7 @@ public class JDBCGreylistHandler extends AbstractGreylistHandler implements Prot
* The temporary blocking time
*/
public void setTempBlockTime(String tempBlockTime) {
- setTempBlockTime(TimeConverter.parseDuration(tempBlockTime));
+ setTempBlockTime(DurationParser.parse(tempBlockTime));
}
/**
@@ -147,7 +147,7 @@ public class JDBCGreylistHandler extends AbstractGreylistHandler implements Prot
* The lifeTime
*/
public void setAutoWhiteListLifeTime(String autoWhiteListLifeTime) {
- setAutoWhiteListLifeTime(TimeConverter.parseDuration(autoWhiteListLifeTime));
+ setAutoWhiteListLifeTime(DurationParser.parse(autoWhiteListLifeTime));
}
/**
@@ -158,7 +158,7 @@ public class JDBCGreylistHandler extends AbstractGreylistHandler implements Prot
* The lifetime
*/
public void setUnseenLifeTime(String unseenLifeTime) {
- setUnseenLifeTime(TimeConverter.parseDuration(unseenLifeTime));
+ setUnseenLifeTime(DurationParser.parse(unseenLifeTime));
}
@Inject
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java
index dc13b23..dee8f89 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java
@@ -24,7 +24,7 @@ import java.util.Objects;
import java.util.Optional;
import org.apache.commons.configuration.Configuration;
-import org.apache.james.util.TimeConverter;
+import org.apache.james.util.DurationParser;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
@@ -95,7 +95,7 @@ public class CassandraMailQueueViewConfiguration {
.bucketCount(bucketCount)
.updateBrowseStartPace(updateBrowseStartPace)
.sliceWindow(sliceWindowAsString
- .map(TimeConverter::parseDuration)
+ .map(DurationParser::parse)
.orElse(DEFAULT_SLICE_WINDOW))
.build();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org