You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2018/04/24 01:19:30 UTC

[geode] branch develop updated: GEODE-5100: prevent NPE when listing the gateway senders. (#1845)

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 29010e5  GEODE-5100: prevent NPE when listing the gateway senders. (#1845)
29010e5 is described below

commit 29010e5fe0effa33450126a8f98c30c169202be9
Author: jinmeiliao <ji...@pivotal.io>
AuthorDate: Mon Apr 23 18:19:26 2018 -0700

    GEODE-5100: prevent NPE when listing the gateway senders. (#1845)
---
 .../internal/cli/commands/ListGatewayCommand.java           |  8 ++++++--
 .../internal/cli/commands/ListGatewayCommandTest.java       | 13 +++++++++++++
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommand.java
index 8346e58..6d9e44f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommand.java
@@ -149,8 +149,12 @@ public class ListGatewayCommand extends InternalGfshCommand {
         gatewayReceiverData.accumulate(CliStrings.RESULT_PORT, entry.getValue().getPort());
         gatewayReceiverData.accumulate(CliStrings.RESULT_SENDERS_COUNT,
             entry.getValue().getClientConnectionCount());
-        gatewayReceiverData.accumulate(CliStrings.RESULT_SENDER_CONNECTED,
-            Arrays.stream(entry.getValue().getConnectedGatewaySenders()).collect(joining(", ")));
+        if (entry.getValue() == null || entry.getValue().getConnectedGatewaySenders() == null) {
+          gatewayReceiverData.accumulate(CliStrings.RESULT_SENDER_CONNECTED, "");
+        } else {
+          gatewayReceiverData.accumulate(CliStrings.RESULT_SENDER_CONNECTED,
+              Arrays.stream(entry.getValue().getConnectedGatewaySenders()).collect(joining(", ")));
+        }
       }
     }
   }
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommandTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommandTest.java
index 0d6ec8f..d25277a 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommandTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListGatewayCommandTest.java
@@ -103,4 +103,17 @@ public class ListGatewayCommandTest {
     assertThat(tableContent.get("content").toString()).contains("[\"\"]");
   }
 
+  @Test
+  public void listGatewaysDisplaysGatewayReceiversWhenNull() {
+    CompositeResultData crd = ResultBuilder.createCompositeResultData();
+    crd.setHeader(CliStrings.HEADER_GATEWAYS);
+
+    doReturn(null).when(receiverMXBean).getConnectedGatewaySenders();
+
+    command.accumulateListGatewayResult(crd, Collections.EMPTY_MAP, receiverBeans);
+    JSONObject tableContent = (JSONObject) crd.retrieveSectionByIndex(0).getSectionGfJsonObject()
+        .get("__tables__-GatewayReceiver Table");
+
+    assertThat(tableContent.get("content").toString()).contains("[\"\"]");
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
jinmeiliao@apache.org.