This is an automated email from the ASF dual-hosted git repository.

jinmeiliao pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 080786b  GEODE-3567: correctly set the serverPortSetByUser flag
080786b is described below

commit 080786be95632434955456b499dc224a28636e1b
Author: Jinmei Liao <[email protected]>
AuthorDate: Wed Oct 4 12:04:51 2017 -0700

    GEODE-3567: correctly set the serverPortSetByUser flag
---
 .../org/apache/geode/distributed/ServerLauncher.java  | 19 ++++++++++++++++---
 .../geode/distributed/ServerLauncherBuilderTest.java  | 10 ++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java 
b/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java
index ad32150..b9f575a 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java
@@ -2040,13 +2040,26 @@ public class ServerLauncher extends 
AbstractLauncher<String> {
      * @see #getServerPort()
      */
     public Builder setServerPort(final Integer serverPort) {
-      if (serverPort != null && (serverPort < 0 || serverPort > 65535)) {
+      if (serverPort == null) {
+        this.serverPort = null;
+        this.serverPortSetByUser = false;
+        return this;
+      }
+
+      if ((serverPort < 0 || serverPort > 65535)) {
         throw new IllegalArgumentException(
             LocalizedStrings.Launcher_Builder_INVALID_PORT_ERROR_MESSAGE
                 .toLocalizedString("Server"));
       }
-      this.serverPort = serverPort;
-      this.serverPortSetByUser = true;
+
+      if (serverPort == 0) {
+        this.serverPort = 0;
+        this.serverPortSetByUser = false;
+      } else {
+        this.serverPort = serverPort;
+        this.serverPortSetByUser = true;
+      }
+
       return this;
     }
 
diff --git 
a/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherBuilderTest.java
 
b/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherBuilderTest.java
index b7a6fcd..0f04a69 100644
--- 
a/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherBuilderTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherBuilderTest.java
@@ -562,24 +562,34 @@ public class ServerLauncherBuilderTest {
     
assertThat(builder.getServerPort()).isEqualTo(Integer.valueOf(CacheServer.DEFAULT_PORT));
   }
 
+
   @Test
   public void setServerPortToZeroOrGreaterUsesValue() throws Exception {
     Builder builder = new Builder();
 
     builder.setServerPort(0);
     assertThat(builder.getServerPort().intValue()).isEqualTo(0);
+    assertThat(builder.isServerPortSetByUser()).isFalse();
 
     builder.setServerPort(1);
     assertThat(builder.getServerPort().intValue()).isEqualTo(1);
+    assertThat(builder.isServerPortSetByUser()).isTrue();
 
     builder.setServerPort(80);
     assertThat(builder.getServerPort().intValue()).isEqualTo(80);
+    assertThat(builder.isServerPortSetByUser()).isTrue();
 
     builder.setServerPort(1024);
     assertThat(builder.getServerPort().intValue()).isEqualTo(1024);
+    assertThat(builder.isServerPortSetByUser()).isTrue();
 
     builder.setServerPort(65535);
     assertThat(builder.getServerPort().intValue()).isEqualTo(65535);
+    assertThat(builder.isServerPortSetByUser()).isTrue();
+
+    builder.setServerPort(0);
+    assertThat(builder.getServerPort().intValue()).isEqualTo(0);
+    assertThat(builder.isServerPortSetByUser()).isFalse();
   }
 
   @Test

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to