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

Reply via email to