You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2018/11/27 22:13:27 UTC

[geode] branch develop updated: GEODE-6088: check availability for JDBC commands (#2898)

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

dschneider 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 446794e  GEODE-6088: check availability for JDBC commands (#2898)
446794e is described below

commit 446794e8e56d390deda7544a938d4c2efb564754
Author: Scott Jewell <db...@yahoo.com>
AuthorDate: Tue Nov 27 14:13:18 2018 -0800

    GEODE-6088: check availability for JDBC commands (#2898)
    
    All jdbc commands now will only be available if gfsh
    is connected to a locator.
    
    Co-authored-by: Scott Jewell <sj...@pivotal.io>
    Co-authored-by: Jianxia Chen <jc...@pivotal.io>
    Co-authored-by: Darrel Schneider <ds...@pivotal.io>
---
 .../geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java | 6 ++++++
 .../geode/connectors/jdbc/internal/cli/CreateMappingCommand.java    | 6 ++++++
 .../connectors/jdbc/internal/cli/DescribeDataSourceCommand.java     | 6 ++++++
 .../geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java  | 6 ++++++
 .../geode/connectors/jdbc/internal/cli/DestroyMappingCommand.java   | 6 ++++++
 .../geode/connectors/jdbc/internal/cli/ListMappingCommand.java      | 6 ++++++
 6 files changed, 36 insertions(+)

diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
index 17293d3..49ff2d6 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
@@ -17,6 +17,7 @@ package org.apache.geode.connectors.jdbc.internal.cli;
 import java.util.List;
 import java.util.Set;
 
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
 
@@ -147,6 +148,11 @@ public class CreateDataSourceCommand extends SingleGfshCommand {
     return true;
   }
 
+  @CliAvailabilityIndicator({CREATE_DATA_SOURCE})
+  public boolean commandAvailable() {
+    return isOnlineCommandAvailable();
+  }
+
   public static class PoolProperty {
     private String name;
     private String value;
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java
index 8a726f7..4137f42 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java
@@ -19,6 +19,7 @@ package org.apache.geode.connectors.jdbc.internal.cli;
 import java.util.List;
 import java.util.Set;
 
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
 
@@ -202,6 +203,11 @@ public class CreateMappingCommand extends SingleGfshCommand {
     return true;
   }
 
+  @CliAvailabilityIndicator({CREATE_MAPPING})
+  public boolean commandAvailable() {
+    return isOnlineCommandAvailable();
+  }
+
   private void alterRegion(String queueName, RegionAttributesType attributes, boolean synchronous) {
     setCacheLoader(attributes);
     if (synchronous) {
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java
index 611fe74..9b24bc7 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java
@@ -18,6 +18,7 @@ package org.apache.geode.connectors.jdbc.internal.cli;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
 
@@ -133,4 +134,9 @@ public class DescribeDataSourceCommand extends InternalGfshCommand {
     table.accumulate("Property", property);
     table.accumulate("Value", value != null ? value : "");
   }
+
+  @CliAvailabilityIndicator({DESCRIBE_DATA_SOURCE})
+  public boolean commandAvailable() {
+    return isOnlineCommandAvailable();
+  }
 }
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
index 2a9ac67..18d7121 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
@@ -21,6 +21,7 @@ import static org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand
 
 import java.util.Set;
 
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
 
@@ -85,4 +86,9 @@ public class DescribeMappingCommand extends GfshCommand {
     sectionModel.addData(CREATE_MAPPING__TABLE_NAME, mapping.getTableName());
     sectionModel.addData(CREATE_MAPPING__PDX_NAME, mapping.getPdxName());
   }
+
+  @CliAvailabilityIndicator({DESCRIBE_MAPPING})
+  public boolean commandAvailable() {
+    return isOnlineCommandAvailable();
+  }
 }
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingCommand.java
index ccdace0..00f8dc5 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyMappingCommand.java
@@ -17,6 +17,7 @@ package org.apache.geode.connectors.jdbc.internal.cli;
 import java.util.List;
 import java.util.Set;
 
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
 
@@ -77,4 +78,9 @@ public class DestroyMappingCommand extends SingleGfshCommand {
     }
     return false;
   }
+
+  @CliAvailabilityIndicator({DESTROY_MAPPING})
+  public boolean commandAvailable() {
+    return isOnlineCommandAvailable();
+  }
 }
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java
index e24712b..fc0f627 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java
@@ -18,6 +18,7 @@ package org.apache.geode.connectors.jdbc.internal.cli;
 import java.util.Collection;
 import java.util.Set;
 
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
 
 import org.apache.geode.annotations.Experimental;
@@ -87,4 +88,9 @@ public class ListMappingCommand extends GfshCommand {
     }
     return !mappings.isEmpty();
   }
+
+  @CliAvailabilityIndicator({LIST_MAPPING})
+  public boolean commandAvailable() {
+    return isOnlineCommandAvailable();
+  }
 }