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 ad...@apache.org on 2017/12/05 07:30:45 UTC

[05/19] james-project git commit: JAMES-2242 InMemory DNS resolver should throw UnknownHostException upon unknown entry

JAMES-2242 InMemory DNS resolver should throw UnknownHostException upon unknown entry


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

Branch: refs/heads/master
Commit: 2949c9185c6c2074addc85982ab8765377b6c93a
Parents: c772f5a
Author: benwa <bt...@linagora.com>
Authored: Wed Nov 29 15:16:35 2017 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Mon Dec 4 14:42:15 2017 +0100

----------------------------------------------------------------------
 .../dnsservice/api/InMemoryDNSService.java      | 25 +++++++++++++++-----
 1 file changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2949c918/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
index 0af0ac9..851ace7 100644
--- a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
+++ b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.function.Predicate;
 
+import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Maps;
 import com.google.common.net.InetAddresses;
@@ -65,12 +66,20 @@ public class InMemoryDNSService implements DNSService {
 
     @Override
     public Collection<String> findMXRecords(String hostname) throws TemporaryResolutionException {
-        return hostRecord(hostname).mxRecords;
+        try {
+            return hostRecord(hostname).mxRecords;
+        } catch (UnknownHostException e) {
+            throw Throwables.propagate(e);
+        }
     }
 
     @Override
     public Collection<String> findTXTRecords(String hostname) {
-        return hostRecord(hostname).txtRecords;
+        try {
+            return hostRecord(hostname).txtRecords;
+        } catch (UnknownHostException e) {
+            throw Throwables.propagate(e);
+        }
     }
 
     @Override
@@ -83,7 +92,7 @@ public class InMemoryDNSService implements DNSService {
         return hostRecord(host).addresses.get(0);
     }
 
-    private DNSRecord hostRecord(final String host) {
+    private DNSRecord hostRecord(final String host) throws UnknownHostException {
         Predicate<? super Entry<String, DNSRecord>> filterByKey = entry -> entry.getKey().equals(host);
         return getDNSEntry(filterByKey).getValue();
     }
@@ -97,14 +106,18 @@ public class InMemoryDNSService implements DNSService {
     public String getHostName(final InetAddress addr) {
         Predicate<? super Entry<String, DNSRecord>> filterByValue = entry -> entry.getValue().contains(addr);
 
-        return getDNSEntry(filterByValue).getKey();
+        try {
+            return getDNSEntry(filterByValue).getKey();
+        } catch (UnknownHostException e) {
+            throw Throwables.propagate(e);
+        }
     }
 
-    private Entry<String, DNSRecord> getDNSEntry(Predicate<? super Entry<String, DNSRecord>> filter) {
+    private Entry<String, DNSRecord> getDNSEntry(Predicate<? super Entry<String, DNSRecord>> filter) throws UnknownHostException {
         return records.entrySet().stream()
             .filter(filter)
             .findFirst()
-            .get();
+            .orElseThrow(() -> new UnknownHostException());
     }
 
     private static class DNSRecord {


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org