JAMES-2366 RRT::getMappings should not return null

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b676aa99
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b676aa99
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b676aa99

Branch: refs/heads/master
Commit: b676aa991ee068cc431a26c6a571d1d84de79cf3
Parents: 10c94ea
Author: benwa <btell...@linagora.com>
Authored: Wed Apr 11 10:53:59 2018 +0700
Committer: benwa <btell...@linagora.com>
Committed: Fri Apr 20 09:12:02 2018 +0700

----------------------------------------------------------------------
 .../apache/james/rrt/lib/AbstractRecipientRewriteTable.java  | 8 ++++----
 .../transport/mailets/RecipientRewriteTableProcessor.java    | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/b676aa99/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 c9c54b1..cc64297 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
@@ -108,7 +108,7 @@ public abstract class AbstractRecipientRewriteTable 
implements RecipientRewriteT
         Mappings targetMappings = mapAddress(user, domain);
 
         // Only non-null mappings are translated
-        if (targetMappings != null) {
+        if (!targetMappings.isEmpty()) {
             if (targetMappings.contains(Type.Error)) {
                 throw new 
ErrorMappingException(targetMappings.getError().getErrorMessage());
             } else {
@@ -142,12 +142,12 @@ public abstract class AbstractRecipientRewriteTable 
implements RecipientRewriteT
                         // Check if the returned mapping is the same as the
                         // input. If so return null to avoid loops
                         if (userName.equalsIgnoreCase(user) && 
targetDomain.equals(domain)) {
-                            return null;
+                            return MappingsImpl.empty();
                         }
 
                         Mappings childMappings = getMappings(userName, 
targetDomain, mappingLimit - 1);
 
-                        if (childMappings == null || childMappings.isEmpty()) {
+                        if (childMappings.isEmpty()) {
                             // add mapping
                             mappings.add(addressWithMappingApplied);
                         } else {
@@ -162,7 +162,7 @@ public abstract class AbstractRecipientRewriteTable 
implements RecipientRewriteT
             }
         }
 
-        return null;
+        return MappingsImpl.empty();
     }
 
     private Optional<String> applyMapping(String user, Domain domain, String 
target, Type type) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/b676aa99/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
index d015f54..d81f1a9 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
@@ -148,7 +148,7 @@ public class RecipientRewriteTableProcessor {
         try {
             Mappings mappings = 
virtualTableStore.getMappings(recipient.getLocalPart(), recipient.getDomain());
 
-            if (mappings != null) {
+            if (mappings != null && !mappings.isEmpty()) {
                 List<MailAddress> newMailAddresses = handleMappings(mappings, 
mail.getSender(), recipient, mail.getMessage());
                 return RrtExecutionResult.success(newMailAddresses);
             }


---------------------------------------------------------------------
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