JAMES-2366 regexMap no longer use null but Optional
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/465da0e1 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/465da0e1 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/465da0e1 Branch: refs/heads/master Commit: 465da0e1196c147790878cc876df5a577de336b4 Parents: 620bf69 Author: Matthieu Baechler <matth...@apache.org> Authored: Tue Apr 17 16:32:11 2018 +0200 Committer: Matthieu Baechler <matth...@apache.org> Committed: Tue Apr 24 14:45:26 2018 +0200 ---------------------------------------------------------------------- .../james/rrt/lib/AbstractRecipientRewriteTable.java | 2 +- .../apache/james/rrt/lib/RecipientRewriteTableUtil.java | 6 +++--- .../transport/mailets/AbstractRecipientRewriteTable.java | 10 ++++++---- 3 files changed, 10 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/465da0e1/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java index 8fb522e..80d526d 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java @@ -182,7 +182,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT switch (type) { case Regex: try { - return Optional.ofNullable(RecipientRewriteTableUtil.regexMap(new MailAddress(user, domain.asString()), MappingImpl.of(target))); + return RecipientRewriteTableUtil.regexMap(new MailAddress(user, domain.asString()), MappingImpl.of(target)); } catch (PatternSyntaxException | ParseException e) { LOGGER.error("Exception during regexMap processing: ", e); return Optional.ofNullable(target); http://git-wip-us.apache.org/repos/asf/james-project/blob/465da0e1/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java index d849a8b..f711178 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java @@ -57,7 +57,7 @@ public class RecipientRewriteTableUtil { * formatted as regex:<regular-expression>:<parameterized-string>, e.g., * regex:(.*)@(.*):${1}@tld */ - public static String regexMap(MailAddress address, Mapping mapping) { + public static Optional<String> regexMap(MailAddress address, Mapping mapping) { Preconditions.checkArgument(mapping.getType() == Type.Regex); List<String> parts = Splitter.on(':').splitToList(mapping.asString()); @@ -70,9 +70,9 @@ public class RecipientRewriteTableUtil { if (match.matches()) { ImmutableList<String> parameters = listMatchingGroups(match); - return replaceParameters(parts.get(PARAMETERIZED_STRING), parameters); + return Optional.of(replaceParameters(parts.get(PARAMETERIZED_STRING), parameters)); } - return null; + return Optional.empty(); } private static ImmutableList<String> listMatchingGroups(Matcher match) { http://git-wip-us.apache.org/repos/asf/james-project/blob/465da0e1/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java index 1efb4c1..3d4c9ee 100755 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java @@ -25,6 +25,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Map; +import java.util.Optional; import java.util.StringTokenizer; import java.util.regex.PatternSyntaxException; @@ -117,13 +118,14 @@ public abstract class AbstractRecipientRewriteTable extends GenericMailet { if (targetAddress.startsWith("regex:")) { try { - targetAddress = RecipientRewriteTableUtil.regexMap(source, MappingImpl.of(targetAddress)); + Optional<String> maybeTarget = RecipientRewriteTableUtil.regexMap(source, MappingImpl.of(targetAddress)); + if (!maybeTarget.isPresent()) { + continue; + } + targetAddress = maybeTarget.get(); } catch (PatternSyntaxException e) { LOGGER.error("Exception during regexMap processing: ", e); } - if (targetAddress == null) { - continue; - } } try { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org