JAMES-1958 Port should be optional in WebAdminConfiguration

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

Branch: refs/heads/master
Commit: 553ba8570195770e3060ba8c343d60d93b8aa7ff
Parents: 20e362b
Author: benwa <btell...@linagora.com>
Authored: Mon Mar 13 17:37:38 2017 +0700
Committer: benwa <btell...@linagora.com>
Committed: Wed Mar 15 09:02:31 2017 +0700

----------------------------------------------------------------------
 .../apache/james/webadmin/WebAdminConfiguration.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/553ba857/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/WebAdminConfiguration.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/WebAdminConfiguration.java
 
b/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/WebAdminConfiguration.java
index 339b213..115aaef 100644
--- 
a/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/WebAdminConfiguration.java
+++ 
b/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/WebAdminConfiguration.java
@@ -37,7 +37,7 @@ public class WebAdminConfiguration {
 
     public static class Builder {
         private Optional<Boolean> enabled = Optional.empty();
-        private Port port;
+        private Optional<Port> port = Optional.empty();
         private Optional<Boolean> enableCORS = Optional.empty();
         private Optional<TlsConfiguration> httpsConfiguration = 
Optional.empty();
         private Optional<String> urlCORSOrigin = Optional.empty();
@@ -48,7 +48,7 @@ public class WebAdminConfiguration {
         }
 
         public Builder port(Port port) {
-            this.port = port;
+            this.port = Optional.of(port);
             return this;
         }
 
@@ -84,7 +84,7 @@ public class WebAdminConfiguration {
 
         public WebAdminConfiguration build() {
             Preconditions.checkState(enabled.isPresent(), "You need to 
explicitly enable or disable WebAdmin server");
-            Preconditions.checkState(!enabled.get() || port != null, "You need 
to specify a port for WebAdminConfiguration");
+            Preconditions.checkState(!enabled.get() || port.isPresent(), "You 
need to specify a port for WebAdminConfiguration");
             return new WebAdminConfiguration(enabled.get(),
                 port,
                 httpsConfiguration.orElse(
@@ -97,13 +97,13 @@ public class WebAdminConfiguration {
     }
 
     private final boolean enabled;
-    private final Port port;
+    private final Optional<Port> port;
     private final TlsConfiguration tlsConfiguration;
     private final boolean enableCORS;
     private final String urlCORSOrigin;
 
     @VisibleForTesting
-    WebAdminConfiguration(boolean enabled, Port port, TlsConfiguration 
tlsConfiguration, boolean enableCORS, String urlCORSOrigin) {
+    WebAdminConfiguration(boolean enabled, Optional<Port> port, 
TlsConfiguration tlsConfiguration, boolean enableCORS, String urlCORSOrigin) {
         this.enabled = enabled;
         this.port = port;
         this.tlsConfiguration = tlsConfiguration;
@@ -120,7 +120,7 @@ public class WebAdminConfiguration {
     }
 
     public Port getPort() {
-        return port;
+        return port.orElseThrow(() -> new IllegalStateException("No port was 
specified"));
     }
 
     public TlsConfiguration getTlsConfiguration() {


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