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