Repository: james-project
Updated Branches:
  refs/heads/master 8164badea -> afe155866


MAILBOX-287 Allow to pass default port when parsing Host list string


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

Branch: refs/heads/master
Commit: afe155866aa249a2ab0670545769936ac5928c3c
Parents: 5b89121
Author: benwa <[email protected]>
Authored: Mon Feb 27 15:28:56 2017 +0700
Committer: benwa <[email protected]>
Committed: Tue Feb 28 18:44:33 2017 +0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/james/util/Host.java  | 10 +++++++++-
 .../test/java/org/apache/james/util/HostTest.java  | 17 +++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/afe15586/server/container/util-java8/src/main/java/org/apache/james/util/Host.java
----------------------------------------------------------------------
diff --git 
a/server/container/util-java8/src/main/java/org/apache/james/util/Host.java 
b/server/container/util-java8/src/main/java/org/apache/james/util/Host.java
index f6b52e8..3927c73 100644
--- a/server/container/util-java8/src/main/java/org/apache/james/util/Host.java
+++ b/server/container/util-java8/src/main/java/org/apache/james/util/Host.java
@@ -33,11 +33,19 @@ import com.google.common.collect.ImmutableList;
 public class Host {
 
     public static ImmutableList<Host> parseHosts(String hostsString) {
+        return parseHosts(hostsString, Optional.empty());
+    }
+
+    public static ImmutableList<Host> parseHosts(String hostsString, int 
defaultPort) {
+        return parseHosts(hostsString, Optional.of(defaultPort));
+    }
+
+    private static ImmutableList<Host> parseHosts(String hostsString, 
Optional<Integer> defaultPort) {
         return Splitter.on(',')
             .omitEmptyStrings()
             .splitToList(hostsString)
             .stream()
-            .map(Host::parseConfString)
+            .map(string -> Host.parse(string, defaultPort))
             .distinct()
             .collect(Guavate.toImmutableList());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/afe15586/server/container/util-java8/src/test/java/org/apache/james/util/HostTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/util-java8/src/test/java/org/apache/james/util/HostTest.java 
b/server/container/util-java8/src/test/java/org/apache/james/util/HostTest.java
index aa4caad..3ebeaee 100644
--- 
a/server/container/util-java8/src/test/java/org/apache/james/util/HostTest.java
+++ 
b/server/container/util-java8/src/test/java/org/apache/james/util/HostTest.java
@@ -196,6 +196,23 @@ public class HostTest {
     }
 
     @Test
+    public void parseHostsShouldHandleDefaultPort() {
+        int defaultPort = 155;
+
+        assertThat(Host.parseHosts("localhost:9200,abcd", defaultPort))
+            .containsOnly(
+                new Host("localhost", 9200),
+                new Host("abcd", 155));
+    }
+
+    @Test
+    public void parseHostsShouldThrowOnAbsentPortWhenNoDefaultPort() {
+        expectedException.expect(IllegalArgumentException.class);
+
+        Host.parseHosts("localhost:9200,abcd");
+    }
+
+    @Test
     public void hostShouldRespectBeanContract() {
         EqualsVerifier.forClass(Host.class).verify();
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to