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 ro...@apache.org on 2017/01/11 09:26:30 UTC
[42/50] [abbrv] james-project git commit: MAILET-115 Introduce
listToString in StringUtils
MAILET-115 Introduce listToString in StringUtils
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a4094db0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a4094db0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a4094db0
Branch: refs/heads/master
Commit: a4094db00cf913aaa472c26a3c6e72738526242d
Parents: 7974e70
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jan 3 13:38:36 2017 +0100
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Jan 11 10:03:32 2017 +0700
----------------------------------------------------------------------
.../org/apache/mailet/base/StringUtils.java | 6 ++++
.../org/apache/mailet/base/StringUtilsTest.java | 32 ++++++++++++++++++++
.../mailets/redirect/AddressExtractor.java | 12 +++-----
3 files changed, 43 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/a4094db0/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java b/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
index cc0d83e..9c50591 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
@@ -22,8 +22,10 @@ package org.apache.mailet.base;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
+import java.util.List;
import com.google.common.base.Joiner;
+import com.google.common.collect.Iterables;
/**
* Collects useful string utility methods.
@@ -123,4 +125,8 @@ public final class StringUtils {
sb.append("]");
return sb.toString();
}
+
+ public static String listToString(List<String> strings) {
+ return arrayToString(Iterables.toArray(strings, String.class));
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/a4094db0/mailet/base/src/test/java/org/apache/mailet/base/StringUtilsTest.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/StringUtilsTest.java b/mailet/base/src/test/java/org/apache/mailet/base/StringUtilsTest.java
index dc0922c..9f5b41a 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/StringUtilsTest.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/StringUtilsTest.java
@@ -24,6 +24,8 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import com.google.common.collect.ImmutableList;
+
public class StringUtilsTest {
@Rule
@@ -58,4 +60,34 @@ public class StringUtilsTest {
expectedException.expect(NullPointerException.class);
StringUtils.arrayToString(new String[] { "first", null, "fourth" });
}
+
+ @Test
+ public void listToStringShouldThrowWhenListIsNull() {
+ expectedException.expect(NullPointerException.class);
+ StringUtils.listToString(null);
+ }
+
+ @Test
+ public void listToStringShouldReturnOnlyBracketsWhenListIsEmpty() {
+ String listToString = StringUtils.listToString(ImmutableList.<String> of());
+ assertThat(listToString).isEqualTo("[]");
+ }
+
+ @Test
+ public void listToStringShouldReturnOneElementWhenListContainsOneElement() {
+ String listToString = StringUtils.listToString(ImmutableList.of("first"));
+ assertThat(listToString).isEqualTo("[first]");
+ }
+
+ @Test
+ public void listToStringShouldReturnSeparatedElementsWhenListContainsMultipleElements() {
+ String listToString = StringUtils.listToString(ImmutableList.of("first", "second", "fourth"));
+ assertThat(listToString).isEqualTo("[first,second,fourth]");
+ }
+
+ @Test
+ public void listToStringShouldThrowWhenListContainsANullElement() {
+ expectedException.expect(NullPointerException.class);
+ StringUtils.listToString(ImmutableList.of("first", null, "fourth"));
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/a4094db0/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
index fe5d966..afb5e81 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
@@ -28,8 +28,8 @@ import javax.mail.internet.InternetAddress;
import org.apache.mailet.MailAddress;
import org.apache.mailet.MailetContext;
+import org.apache.mailet.base.StringUtils;
-import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
@@ -37,6 +37,8 @@ import com.google.common.collect.ImmutableList;
public class AddressExtractor {
+ private static final boolean ENFORCE_RFC822_SYNTAX = false;
+
public static Builder withContext(MailetContext mailetContext) {
return new Builder(mailetContext);
}
@@ -81,7 +83,7 @@ public class AddressExtractor {
private List<MailAddress> extract(String addressList) throws MessagingException {
try {
- return toMailAddresses(ImmutableList.copyOf(InternetAddress.parse(addressList, false)));
+ return toMailAddresses(ImmutableList.copyOf(InternetAddress.parse(addressList, ENFORCE_RFC822_SYNTAX)));
} catch (AddressException e) {
throw new MessagingException("Exception thrown parsing: " + addressList, e);
}
@@ -126,17 +128,13 @@ public class AddressExtractor {
Optional<MailAddress> specialAddress = asSpecialAddress(addressString);
if (specialAddress.isPresent()) {
if (!isAllowed(addressString, allowedSpecials)) {
- throw new MessagingException("Special (\"magic\") address found not allowed: " + addressString + ", allowed values are \"" + asString(allowedSpecials) + "\"");
+ throw new MessagingException("Special (\"magic\") address found not allowed: " + addressString + ", allowed values are \"" + StringUtils.listToString(allowedSpecials) + "\"");
}
return specialAddress;
}
return Optional.absent();
}
- private String asString(List<String> allowedSpecials) {
- return "[" + Joiner.on(", ").join(allowedSpecials) + "]";
- }
-
private Optional<MailAddress> asSpecialAddress(String addressString) {
String lowerCaseTrimed = addressString.toLowerCase(Locale.US).trim();
if (lowerCaseTrimed.equals("postmaster")) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org