You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by la...@apache.org on 2017/04/29 00:12:38 UTC
[08/18] geode git commit: GEODE-1597: use Spring shell's parser and
delete our own parsing code
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ClientCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ClientCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ClientCommands.java
index 39d0442..3d155e5 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ClientCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ClientCommands.java
@@ -15,16 +15,6 @@
package org.apache.geode.management.internal.cli.commands;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import javax.management.ObjectName;
-
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheFactory;
import org.apache.geode.cache.execute.FunctionService;
@@ -47,12 +37,21 @@ import org.apache.geode.management.internal.cli.shell.Gfsh;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission.Operation;
import org.apache.geode.security.ResourcePermission.Resource;
-
import org.springframework.shell.core.CommandMarker;
import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
import org.springframework.shell.core.annotation.CliCommand;
import org.springframework.shell.core.annotation.CliOption;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import javax.management.ObjectName;
+
/**
*
* @since GemFire 8.0
@@ -65,7 +64,7 @@ public class ClientCommands implements CommandMarker {
}
@CliCommand(value = CliStrings.LIST_CLIENTS, help = CliStrings.LIST_CLIENT__HELP)
- @CliMetaData(relatedTopic = {CliStrings.TOPIC_LIST})
+ @CliMetaData(relatedTopic = {CliStrings.TOPIC_CLIENT})
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
public Result listClient() {
Result result = null;
@@ -154,7 +153,7 @@ public class ClientCommands implements CommandMarker {
@CliCommand(value = CliStrings.DESCRIBE_CLIENT, help = CliStrings.DESCRIBE_CLIENT__HELP)
- @CliMetaData(relatedTopic = {CliStrings.TOPIC_LIST})
+ @CliMetaData(relatedTopic = {CliStrings.TOPIC_CLIENT})
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
public Result describeClient(@CliOption(key = CliStrings.DESCRIBE_CLIENT__ID, mandatory = true,
help = CliStrings.DESCRIBE_CLIENT__ID__HELP) String clientId) {
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java
index 50c9caa..5dfc1b8 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ConfigCommands.java
@@ -202,11 +202,9 @@ public class ConfigCommands extends AbstractCommandsSupport {
public Result exportConfig(
@CliOption(key = {CliStrings.EXPORT_CONFIG__MEMBER},
optionContext = ConverterHint.ALL_MEMBER_IDNAME,
- help = CliStrings.EXPORT_CONFIG__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String member,
+ help = CliStrings.EXPORT_CONFIG__MEMBER__HELP) String member,
@CliOption(key = {CliStrings.EXPORT_CONFIG__GROUP}, optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.EXPORT_CONFIG__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String group,
+ help = CliStrings.EXPORT_CONFIG__GROUP__HELP) String group,
@CliOption(key = {CliStrings.EXPORT_CONFIG__DIR},
help = CliStrings.EXPORT_CONFIG__DIR__HELP) String dir) {
InfoResultData infoData = ResultBuilder.createInfoResultData();
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java
index 28ce092..c4455ad 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommands.java
@@ -124,8 +124,7 @@ public class CreateAlterDestroyRegionCommands extends AbstractCommandsSupport {
help = CliStrings.CREATE_REGION__USEATTRIBUTESFROM__HELP) String useAttributesFrom,
@CliOption(key = CliStrings.CREATE_REGION__GROUP, optionContext = ConverterHint.MEMBERGROUP,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.CREATE_REGION__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String[] groups,
+ help = CliStrings.CREATE_REGION__GROUP__HELP) String[] groups,
@CliOption(key = CliStrings.CREATE_REGION__SKIPIFEXISTS, unspecifiedDefaultValue = "true",
specifiedDefaultValue = "true",
help = CliStrings.CREATE_REGION__SKIPIFEXISTS__HELP) boolean skipIfExists,
@@ -133,11 +132,9 @@ public class CreateAlterDestroyRegionCommands extends AbstractCommandsSupport {
// the following should all be in alphabetical order according to
// their key string
@CliOption(key = CliStrings.CREATE_REGION__ASYNCEVENTQUEUEID,
- help = CliStrings.CREATE_REGION__ASYNCEVENTQUEUEID__HELP) @CliMetaData(
- valueSeparator = ",") String[] asyncEventQueueIds,
+ help = CliStrings.CREATE_REGION__ASYNCEVENTQUEUEID__HELP) String[] asyncEventQueueIds,
@CliOption(key = CliStrings.CREATE_REGION__CACHELISTENER,
- help = CliStrings.CREATE_REGION__CACHELISTENER__HELP) @CliMetaData(
- valueSeparator = ",") String[] cacheListener,
+ help = CliStrings.CREATE_REGION__CACHELISTENER__HELP) String[] cacheListener,
@CliOption(key = CliStrings.CREATE_REGION__CACHELOADER,
help = CliStrings.CREATE_REGION__CACHELOADER__HELP) String cacheLoader,
@CliOption(key = CliStrings.CREATE_REGION__CACHEWRITER,
@@ -186,8 +183,7 @@ public class CreateAlterDestroyRegionCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.CREATE_REGION__ENTRYEXPIRATIONTTLACTION,
help = CliStrings.CREATE_REGION__ENTRYEXPIRATIONTTLACTION__HELP) String entryExpirationTTLAction,
@CliOption(key = CliStrings.CREATE_REGION__GATEWAYSENDERID,
- help = CliStrings.CREATE_REGION__GATEWAYSENDERID__HELP) @CliMetaData(
- valueSeparator = ",") String[] gatewaySenderIds,
+ help = CliStrings.CREATE_REGION__GATEWAYSENDERID__HELP) String[] gatewaySenderIds,
@CliOption(key = CliStrings.CREATE_REGION__KEYCONSTRAINT,
help = CliStrings.CREATE_REGION__KEYCONSTRAINT__HELP) String keyConstraint,
@CliOption(key = CliStrings.CREATE_REGION__LOCALMAXMEMORY,
@@ -424,8 +420,7 @@ public class CreateAlterDestroyRegionCommands extends AbstractCommandsSupport {
help = CliStrings.ALTER_REGION__REGION__HELP) String regionPath,
@CliOption(key = CliStrings.ALTER_REGION__GROUP, optionContext = ConverterHint.MEMBERGROUP,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.ALTER_REGION__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String[] groups,
+ help = CliStrings.ALTER_REGION__GROUP__HELP) String[] groups,
@CliOption(key = CliStrings.ALTER_REGION__ENTRYEXPIRATIONIDLETIME,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, specifiedDefaultValue = "-1",
help = CliStrings.ALTER_REGION__ENTRYEXPIRATIONIDLETIME__HELP) Integer entryExpirationIdleTime,
@@ -456,8 +451,7 @@ public class CreateAlterDestroyRegionCommands extends AbstractCommandsSupport {
help = CliStrings.ALTER_REGION__REGIONEXPIRATIONTTLACTION__HELP) String regionExpirationTTLAction,
@CliOption(key = CliStrings.ALTER_REGION__CACHELISTENER,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, specifiedDefaultValue = "",
- help = CliStrings.ALTER_REGION__CACHELISTENER__HELP) @CliMetaData(
- valueSeparator = ",") String[] cacheListeners,
+ help = CliStrings.ALTER_REGION__CACHELISTENER__HELP) String[] cacheListeners,
@CliOption(key = CliStrings.ALTER_REGION__CACHELOADER,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
specifiedDefaultValue = "null",
@@ -468,12 +462,10 @@ public class CreateAlterDestroyRegionCommands extends AbstractCommandsSupport {
help = CliStrings.ALTER_REGION__CACHEWRITER__HELP) String cacheWriter,
@CliOption(key = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, specifiedDefaultValue = "",
- help = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID__HELP) @CliMetaData(
- valueSeparator = ",") String[] asyncEventQueueIds,
+ help = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID__HELP) String[] asyncEventQueueIds,
@CliOption(key = CliStrings.ALTER_REGION__GATEWAYSENDERID,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, specifiedDefaultValue = "",
- help = CliStrings.ALTER_REGION__GATEWAYSENDERID__HELP) @CliMetaData(
- valueSeparator = ",") String[] gatewaySenderIds,
+ help = CliStrings.ALTER_REGION__GATEWAYSENDERID__HELP) String[] gatewaySenderIds,
@CliOption(key = CliStrings.ALTER_REGION__CLONINGENABLED,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
specifiedDefaultValue = "false",
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommands.java
index 6324b5c..29d68bd 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommands.java
@@ -14,29 +14,6 @@
*/
package org.apache.geode.management.internal.cli.commands;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.apache.geode.security.ResourcePermission.Operation;
-import org.apache.geode.security.ResourcePermission.Resource;
-import org.apache.shiro.subject.Subject;
-import org.springframework.shell.core.CommandMarker;
-import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
-import org.springframework.shell.core.annotation.CliCommand;
-import org.springframework.shell.core.annotation.CliOption;
-
import org.apache.geode.LogWriter;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.CacheClosedException;
@@ -80,6 +57,28 @@ import org.apache.geode.management.internal.cli.result.ResultBuilder;
import org.apache.geode.management.internal.cli.result.TabularResultData;
import org.apache.geode.management.internal.cli.shell.Gfsh;
import org.apache.geode.management.internal.security.ResourceOperation;
+import org.apache.geode.security.ResourcePermission.Operation;
+import org.apache.geode.security.ResourcePermission.Resource;
+import org.apache.shiro.subject.Subject;
+import org.springframework.shell.core.CommandMarker;
+import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
+import org.springframework.shell.core.annotation.CliCommand;
+import org.springframework.shell.core.annotation.CliOption;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
/**
*
@@ -1080,7 +1079,8 @@ public class DataCommands implements CommandMarker {
relatedTopic = {CliStrings.TOPIC_GEODE_DATA, CliStrings.TOPIC_GEODE_REGION})
@CliCommand(value = {CliStrings.REMOVE}, help = CliStrings.REMOVE__HELP)
public Result remove(
- @CliOption(key = {CliStrings.REMOVE__KEY}, help = CliStrings.REMOVE__KEY__HELP) String key,
+ @CliOption(key = {CliStrings.REMOVE__KEY}, help = CliStrings.REMOVE__KEY__HELP,
+ specifiedDefaultValue = "") String key,
@CliOption(key = {CliStrings.REMOVE__REGION}, mandatory = true,
help = CliStrings.REMOVE__REGION__HELP,
optionContext = ConverterHint.REGIONPATH) String regionPath,
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
index 1444088..0cf7078 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DeployCommands.java
@@ -77,8 +77,7 @@ public final class DeployCommands extends AbstractCommandsSupport {
relatedTopic = {CliStrings.TOPIC_GEODE_CONFIG})
public final Result deploy(
@CliOption(key = {CliStrings.DEPLOY__GROUP}, help = CliStrings.DEPLOY__GROUP__HELP,
- optionContext = ConverterHint.MEMBERGROUP) @CliMetaData(
- valueSeparator = ",") String[] groups,
+ optionContext = ConverterHint.MEMBERGROUP) String[] groups,
@CliOption(key = {CliStrings.DEPLOY__JAR}, help = CliStrings.DEPLOY__JAR__HELP) String jar,
@CliOption(key = {CliStrings.DEPLOY__DIR}, help = CliStrings.DEPLOY__DIR__HELP) String dir) {
try {
@@ -156,11 +155,9 @@ public final class DeployCommands extends AbstractCommandsSupport {
@ResourceOperation(resource = Resource.DATA, operation = Operation.MANAGE)
public final Result undeploy(
@CliOption(key = {CliStrings.UNDEPLOY__GROUP}, help = CliStrings.UNDEPLOY__GROUP__HELP,
- optionContext = ConverterHint.MEMBERGROUP) @CliMetaData(
- valueSeparator = ",") String[] groups,
+ optionContext = ConverterHint.MEMBERGROUP) String[] groups,
@CliOption(key = {CliStrings.UNDEPLOY__JAR}, help = CliStrings.UNDEPLOY__JAR__HELP,
- unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE) @CliMetaData(
- valueSeparator = ",") String jars) {
+ unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE) String jars) {
try {
TabularResultData tabularData = ResultBuilder.createTabularResultData();
@@ -227,8 +224,7 @@ public final class DeployCommands extends AbstractCommandsSupport {
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_CONFIG})
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
public final Result listDeployed(@CliOption(key = {CliStrings.LIST_DEPLOYED__GROUP},
- help = CliStrings.LIST_DEPLOYED__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String group) {
+ help = CliStrings.LIST_DEPLOYED__GROUP__HELP) String group) {
try {
TabularResultData tabularData = ResultBuilder.createTabularResultData();
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommands.java
index 9ad2060..a96d3c2 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommands.java
@@ -317,13 +317,10 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
unspecifiedDefaultValue = "32768",
help = CliStrings.CREATE_DISK_STORE__WRITE_BUFFER_SIZE__HELP) int writeBufferSize,
@CliOption(key = CliStrings.CREATE_DISK_STORE__DIRECTORY_AND_SIZE, mandatory = true,
- help = CliStrings.CREATE_DISK_STORE__DIRECTORY_AND_SIZE__HELP,
- optionContext = ConverterHint.STRING_DISABLER) @CliMetaData(
- valueSeparator = ",") String[] directoriesAndSizes,
+ help = CliStrings.CREATE_DISK_STORE__DIRECTORY_AND_SIZE__HELP) String[] directoriesAndSizes,
@CliOption(key = CliStrings.CREATE_DISK_STORE__GROUP,
help = CliStrings.CREATE_DISK_STORE__GROUP__HELP,
- optionContext = ConverterHint.MEMBERGROUP) @CliMetaData(
- valueSeparator = ",") String[] groups,
+ optionContext = ConverterHint.MEMBERGROUP) String[] groups,
@CliOption(key = CliStrings.CREATE_DISK_STORE__DISK_USAGE_WARNING_PCT,
unspecifiedDefaultValue = "90",
help = CliStrings.CREATE_DISK_STORE__DISK_USAGE_WARNING_PCT__HELP) float diskUsageWarningPercentage,
@@ -425,9 +422,7 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
help = CliStrings.COMPACT_DISK_STORE__NAME__HELP) String diskStoreName,
@CliOption(key = CliStrings.COMPACT_DISK_STORE__GROUP,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.COMPACT_DISK_STORE__GROUP__HELP,
- optionContext = ConverterHint.STRING_DISABLER) @CliMetaData(
- valueSeparator = ",") String[] groups) {
+ help = CliStrings.COMPACT_DISK_STORE__GROUP__HELP) String[] groups) {
Result result = null;
try {
@@ -568,16 +563,13 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
help = CliStrings.COMPACT_OFFLINE_DISK_STORE__NAME__HELP) String diskStoreName,
@CliOption(key = CliStrings.COMPACT_OFFLINE_DISK_STORE__DISKDIRS, mandatory = true,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.COMPACT_OFFLINE_DISK_STORE__DISKDIRS__HELP,
- optionContext = ConverterHint.DIRS + ":" + ConverterHint.STRING_DISABLER) @CliMetaData(
- valueSeparator = ",") String[] diskDirs,
+ help = CliStrings.COMPACT_OFFLINE_DISK_STORE__DISKDIRS__HELP) String[] diskDirs,
@CliOption(key = CliStrings.COMPACT_OFFLINE_DISK_STORE__MAXOPLOGSIZE,
unspecifiedDefaultValue = "-1",
help = CliStrings.COMPACT_OFFLINE_DISK_STORE__MAXOPLOGSIZE__HELP) long maxOplogSize,
@CliOption(key = CliStrings.COMPACT_OFFLINE_DISK_STORE__J,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.COMPACT_OFFLINE_DISK_STORE__J__HELP) @CliMetaData(
- valueSeparator = ",") String[] jvmProps) {
+ help = CliStrings.COMPACT_OFFLINE_DISK_STORE__J__HELP) String[] jvmProps) {
Result result = null;
LogWrapper logWrapper = LogWrapper.getInstance();
@@ -712,16 +704,13 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__NAME__HELP) String diskStoreName,
@CliOption(key = CliStrings.UPGRADE_OFFLINE_DISK_STORE__DISKDIRS, mandatory = true,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__DISKDIRS__HELP,
- optionContext = ConverterHint.DIRS + ":" + ConverterHint.STRING_DISABLER) @CliMetaData(
- valueSeparator = ",") String[] diskDirs,
+ help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__DISKDIRS__HELP) String[] diskDirs,
@CliOption(key = CliStrings.UPGRADE_OFFLINE_DISK_STORE__MAXOPLOGSIZE,
unspecifiedDefaultValue = "-1",
help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__MAXOPLOGSIZE__HELP) long maxOplogSize,
@CliOption(key = CliStrings.UPGRADE_OFFLINE_DISK_STORE__J,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__J__HELP) @CliMetaData(
- valueSeparator = ",") String[] jvmProps)
+ help = CliStrings.UPGRADE_OFFLINE_DISK_STORE__J__HELP) String[] jvmProps)
throws InterruptedException {
@@ -1155,8 +1144,7 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__DISKSTORENAME, mandatory = true,
help = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__DISKSTORENAME__HELP) String diskStoreName,
@CliOption(key = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__DISKDIRS, mandatory = true,
- help = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__DISKDIRS__HELP) @CliMetaData(
- valueSeparator = ",") String[] diskDirs,
+ help = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__DISKDIRS__HELP) String[] diskDirs,
@CliOption(key = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__PDX_TYPES,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
help = CliStrings.DESCRIBE_OFFLINE_DISK_STORE__PDX_TYPES__HELP) Boolean listPdxTypes,
@@ -1200,8 +1188,7 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.EXPORT_OFFLINE_DISK_STORE__DISKSTORENAME, mandatory = true,
help = CliStrings.EXPORT_OFFLINE_DISK_STORE__DISKSTORENAME__HELP) String diskStoreName,
@CliOption(key = CliStrings.EXPORT_OFFLINE_DISK_STORE__DISKDIRS, mandatory = true,
- help = CliStrings.EXPORT_OFFLINE_DISK_STORE__DISKDIRS__HELP) @CliMetaData(
- valueSeparator = ",") String[] diskDirs,
+ help = CliStrings.EXPORT_OFFLINE_DISK_STORE__DISKDIRS__HELP) String[] diskDirs,
@CliOption(key = CliStrings.EXPORT_OFFLINE_DISK_STORE__DIR, mandatory = true,
help = CliStrings.EXPORT_OFFLINE_DISK_STORE__DIR__HELP) String dir) {
@@ -1245,12 +1232,10 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
help = CliStrings.VALIDATE_DISK_STORE__NAME__HELP) String diskStoreName,
@CliOption(key = CliStrings.VALIDATE_DISK_STORE__DISKDIRS, mandatory = true,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.VALIDATE_DISK_STORE__DISKDIRS__HELP) @CliMetaData(
- valueSeparator = ",") String[] diskDirs,
+ help = CliStrings.VALIDATE_DISK_STORE__DISKDIRS__HELP) String[] diskDirs,
@CliOption(key = CliStrings.VALIDATE_DISK_STORE__J,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.VALIDATE_DISK_STORE__J__HELP) @CliMetaData(
- valueSeparator = ",") String[] jvmProps) {
+ help = CliStrings.VALIDATE_DISK_STORE__J__HELP) String[] jvmProps) {
try {
String resultString = new String();
@@ -1325,8 +1310,7 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
help = CliStrings.ALTER_DISK_STORE__REGIONNAME__HELP) String regionName,
@CliOption(key = CliStrings.ALTER_DISK_STORE__DISKDIRS,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.ALTER_DISK_STORE__DISKDIRS__HELP,
- mandatory = true) @CliMetaData(valueSeparator = ",") String[] diskDirs,
+ help = CliStrings.ALTER_DISK_STORE__DISKDIRS__HELP, mandatory = true) String[] diskDirs,
@CliOption(key = CliStrings.ALTER_DISK_STORE__COMPRESSOR,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
specifiedDefaultValue = "none",
@@ -1437,8 +1421,7 @@ public class DiskStoreCommands extends AbstractCommandsSupport {
help = CliStrings.DESTROY_DISK_STORE__NAME__HELP) String name,
@CliOption(key = CliStrings.DESTROY_DISK_STORE__GROUP,
help = CliStrings.DESTROY_DISK_STORE__GROUP__HELP,
- optionContext = ConverterHint.MEMBERGROUP) @CliMetaData(
- valueSeparator = ",") String[] groups) {
+ optionContext = ConverterHint.MEMBERGROUP) String[] groups) {
try {
TabularResultData tabularData = ResultBuilder.createTabularResultData();
boolean accumulatedData = false;
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java
index 752ca2a..e21a334 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java
@@ -559,11 +559,9 @@ public class FunctionCommands implements CommandMarker {
@CliOption(key = CliStrings.LIST_FUNCTION__MATCHES,
help = CliStrings.LIST_FUNCTION__MATCHES__HELP) String matches,
@CliOption(key = CliStrings.LIST_FUNCTION__GROUP, optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.LIST_FUNCTION__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String groups,
+ help = CliStrings.LIST_FUNCTION__GROUP__HELP) String groups,
@CliOption(key = CliStrings.LIST_FUNCTION__MEMBER, optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.LIST_FUNCTION__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String members) {
+ help = CliStrings.LIST_FUNCTION__MEMBER__HELP) String members) {
TabularResultData tabularData = ResultBuilder.createTabularResultData();
boolean accumulatedData = false;
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshHelpCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshHelpCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshHelpCommands.java
index 1d1b28e..29e6bae 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshHelpCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshHelpCommands.java
@@ -16,85 +16,29 @@ package org.apache.geode.management.internal.cli.commands;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.ConverterHint;
-import org.apache.geode.management.cli.Result;
-import org.apache.geode.management.internal.cli.CommandManager;
-import org.apache.geode.management.internal.cli.GfshParser;
-import org.apache.geode.management.internal.cli.annotation.CliArgument;
-import org.apache.geode.management.internal.cli.help.CliTopic;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
-import org.apache.geode.management.internal.cli.result.CompositeResultData;
-import org.apache.geode.management.internal.cli.result.CompositeResultData.SectionResultData;
-import org.apache.geode.management.internal.cli.result.ResultBuilder;
import org.apache.geode.management.internal.cli.shell.Gfsh;
import org.springframework.shell.core.CommandMarker;
import org.springframework.shell.core.annotation.CliCommand;
-
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
+import org.springframework.shell.core.annotation.CliOption;
/**
- *
- *
* @since GemFire 7.0
*/
public class GfshHelpCommands implements CommandMarker {
-
- private Gfsh getGfsh() {
- return Gfsh.getCurrentInstance();
- }
-
@CliCommand(value = CliStrings.HELP, help = CliStrings.HELP__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_HELP})
- public Result obtainHelp(
- @CliArgument(name = CliStrings.HELP__COMMAND, argumentContext = CliStrings.PARAM_CONTEXT_HELP,
- help = CliStrings.HELP__COMMAND__HELP) String commandString) {
- return ResultBuilder.createInfoResult(getGfsh().obtainHelp(commandString, null));
+ public void obtainHelp(@CliOption(key = {"", CliStrings.SH__COMMAND},
+ help = "Command name to provide help for") String buffer) {
+ Gfsh.getCurrentInstance().getGfshParser().obtainHelp(buffer);
}
-
-
@CliCommand(value = CliStrings.HINT, help = CliStrings.HINT__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_HELP})
- public Result hint(
- @CliArgument(name = CliStrings.HINT__TOPICNAME, argumentContext = ConverterHint.HINTTOPIC,
+ public void hint(
+ @CliOption(key = {"", CliStrings.HINT__TOPICNAME}, optionContext = ConverterHint.HINTTOPIC,
help = CliStrings.HINT__TOPICNAME) String topicName) {
- Result result = null;
- CommandManager commandManager = CommandManager.getExisting();
- if (commandManager == null) {
- result =
- ResultBuilder.createShellClientErrorResult(CliStrings.HINT__MSG__SHELL_NOT_INITIALIZED);
- } else {
- StringBuilder builder = new StringBuilder();
- if (topicName == null) {
- builder.append(CliStrings.HINT__MSG__TOPICS_AVAILABLE).append(GfshParser.LINE_SEPARATOR);
- Set<String> topicNameSet = commandManager.getTopicNames();
- for (String topic : topicNameSet) {
- builder.append(topic).append(GfshParser.LINE_SEPARATOR);
- }
- result = ResultBuilder.createInfoResult(builder.toString());
- } else {
- CliTopic topic = commandManager.getTopic(topicName);
- if (topic == null) {
- result = ResultBuilder
- .createInfoResult(CliStrings.format(CliStrings.HINT__MSG__UNKNOWN_TOPIC, topicName));
- } else {
- CompositeResultData compositeResultData = ResultBuilder.createCompositeResultData();
- SectionResultData commandHelpSection =
- compositeResultData.addSection("Commands And Help");
- compositeResultData.setHeader(topic.getOneLinerDescription());
- Map<String, String> commandsNameHelp = topic.getCommandsNameHelp();
- Set<Entry<String, String>> entries = commandsNameHelp.entrySet();
-
- for (Entry<String, String> entry : entries) {
- commandHelpSection.addData(entry.getKey(), entry.getValue());
- }
-
- result = ResultBuilder.buildResult(compositeResultData);
- }
- }
- }
-
- return result;
+ Gfsh.getCurrentInstance().getGfshParser().obtainHint(topicName);
}
+
}
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
index 313d1bd..0e681d7 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommands.java
@@ -241,10 +241,9 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.START_LOCATOR__MAXHEAP,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
help = CliStrings.START_LOCATOR__MAXHEAP__HELP) final String maxHeap,
- @CliOption(key = CliStrings.START_LOCATOR__J, optionContext = ConverterHint.STRING_LIST,
+ @CliOption(key = CliStrings.START_LOCATOR__J,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.START_LOCATOR__J__HELP) @CliMetaData(
- valueSeparator = ",") final String[] jvmArgsOpts,
+ help = CliStrings.START_LOCATOR__J__HELP) final String[] jvmArgsOpts,
@CliOption(key = CliStrings.START_LOCATOR__CONNECT, unspecifiedDefaultValue = "true",
specifiedDefaultValue = "true",
help = CliStrings.START_LOCATOR__CONNECT__HELP) final boolean connect,
@@ -1356,10 +1355,9 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.START_SERVER__INITIAL_HEAP,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
help = CliStrings.START_SERVER__INITIAL_HEAP__HELP) final String initialHeap,
- @CliOption(key = CliStrings.START_SERVER__J, optionContext = ConverterHint.STRING_LIST,
+ @CliOption(key = CliStrings.START_SERVER__J,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.START_SERVER__J__HELP) @CliMetaData(
- valueSeparator = ",") final String[] jvmArgsOpts,
+ help = CliStrings.START_SERVER__J__HELP) final String[] jvmArgsOpts,
@CliOption(key = CliStrings.START_SERVER__LOCATORS,
optionContext = ConverterHint.LOCATOR_DISCOVERY_CONFIG,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
@@ -2056,10 +2054,9 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.START_JCONSOLE__VERSION, specifiedDefaultValue = "true",
unspecifiedDefaultValue = "false",
help = CliStrings.START_JCONSOLE__VERSION__HELP) final boolean version,
- @CliOption(key = CliStrings.START_JCONSOLE__J, optionContext = ConverterHint.STRING_LIST,
+ @CliOption(key = CliStrings.START_JCONSOLE__J,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.START_JCONSOLE__J__HELP) @CliMetaData(
- valueSeparator = ",") final List<String> jvmArgs) {
+ help = CliStrings.START_JCONSOLE__J__HELP) final List<String> jvmArgs) {
try {
String[] jconsoleCommandLine =
createJConsoleCommandLine(null, interval, notile, pluginpath, version, jvmArgs);
@@ -2226,11 +2223,9 @@ public class LauncherLifecycleCommands extends AbstractCommandsSupport {
@CliCommand(value = CliStrings.START_JVISUALVM, help = CliStrings.START_JVISUALVM__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_MANAGER,
CliStrings.TOPIC_GEODE_JMX, CliStrings.TOPIC_GEODE_M_AND_M})
- public Result startJVisualVM(
- @CliOption(key = CliStrings.START_JCONSOLE__J, optionContext = ConverterHint.STRING_LIST,
- unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.START_JCONSOLE__J__HELP) @CliMetaData(
- valueSeparator = ",") final List<String> jvmArgs) {
+ public Result startJVisualVM(@CliOption(key = CliStrings.START_JCONSOLE__J,
+ unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
+ help = CliStrings.START_JCONSOLE__J__HELP) final List<String> jvmArgs) {
try {
String[] jvisualvmCommandLine = createJVisualVMCommandLine(jvmArgs);
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommands.java
index 22981e7..b5fb9fe 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommands.java
@@ -396,10 +396,11 @@ public class MiscellaneousCommands implements CommandMarker {
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DEBUG_UTIL})
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
// TODO : Verify the auto-completion for multiple values.
- public Result netstat(@CliOption(key = CliStrings.NETSTAT__MEMBER, mandatory = false,
- unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- optionContext = ConverterHint.ALL_MEMBER_IDNAME,
- help = CliStrings.NETSTAT__MEMBER__HELP) @CliMetaData(valueSeparator = ",") String[] members,
+ public Result netstat(
+ @CliOption(key = CliStrings.NETSTAT__MEMBER, mandatory = false,
+ unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
+ optionContext = ConverterHint.ALL_MEMBER_IDNAME,
+ help = CliStrings.NETSTAT__MEMBER__HELP) String[] members,
@CliOption(key = CliStrings.NETSTAT__GROUP, mandatory = false,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
optionContext = ConverterHint.MEMBERGROUP,
@@ -823,8 +824,7 @@ public class MiscellaneousCommands implements CommandMarker {
@CliOption(key = {CliStrings.SHOW_METRICS__CACHESERVER__PORT},
help = CliStrings.SHOW_METRICS__CACHESERVER__PORT__HELP) String cacheServerPortString,
@CliOption(key = {CliStrings.SHOW_METRICS__CATEGORY},
- help = CliStrings.SHOW_METRICS__CATEGORY__HELP) @CliMetaData(
- valueSeparator = ",") String[] categories) {
+ help = CliStrings.SHOW_METRICS__CATEGORY__HELP) String[] categories) {
Result result = null;
try {
@@ -1894,11 +1894,11 @@ public class MiscellaneousCommands implements CommandMarker {
@CliCommand(value = CliStrings.CHANGE_LOGLEVEL, help = CliStrings.CHANGE_LOGLEVEL__HELP)
- @CliMetaData(relatedTopic = {CliStrings.TOPIC_CHANGELOGLEVEL},
+ @CliMetaData(relatedTopic = {CliStrings.TOPIC_LOGS},
interceptor = "org.apache.geode.management.internal.cli.commands.MiscellaneousCommands$ChangeLogLevelInterceptor")
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.WRITE)
public Result changeLogLevel(
- @CliOption(key = CliStrings.CHANGE_LOGLEVEL__MEMBER, unspecifiedDefaultValue = "",
+ @CliOption(key = CliStrings.CHANGE_LOGLEVEL__MEMBER,
help = CliStrings.CHANGE_LOGLEVEL__MEMBER__HELP) String[] memberIds,
@CliOption(key = CliStrings.CHANGE_LOGLEVEL__GROUPS, unspecifiedDefaultValue = "",
help = CliStrings.CHANGE_LOGLEVEL__GROUPS__HELP) String[] grps,
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/PDXCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/PDXCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/PDXCommands.java
index 4327dec..0ce8ec2 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/PDXCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/PDXCommands.java
@@ -50,27 +50,21 @@ public class PDXCommands extends AbstractCommandsSupport {
@CliCommand(value = CliStrings.CONFIGURE_PDX, help = CliStrings.CONFIGURE_PDX__HELP)
@CliMetaData(relatedTopic = CliStrings.TOPIC_GEODE_REGION)
@ResourceOperation(resource = Resource.DATA, operation = Operation.MANAGE)
- public Result configurePDX(@CliOption(key = CliStrings.CONFIGURE_PDX__READ__SERIALIZED,
- unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.CONFIGURE_PDX__READ__SERIALIZED__HELP) Boolean readSerialized,
-
+ public Result configurePDX(
+ @CliOption(key = CliStrings.CONFIGURE_PDX__READ__SERIALIZED,
+ unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
+ help = CliStrings.CONFIGURE_PDX__READ__SERIALIZED__HELP) Boolean readSerialized,
@CliOption(key = CliStrings.CONFIGURE_PDX__IGNORE__UNREAD_FIELDS,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
help = CliStrings.CONFIGURE_PDX__IGNORE__UNREAD_FIELDS__HELP) Boolean ignoreUnreadFields,
-
@CliOption(key = CliStrings.CONFIGURE_PDX__DISKSTORE,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE, specifiedDefaultValue = "",
help = CliStrings.CONFIGURE_PDX__DISKSTORE__HELP) String diskStore,
-
- @CliMetaData(valueSeparator = ",") @CliOption(
- key = CliStrings.CONFIGURE_PDX__AUTO__SERIALIZER__CLASSES,
+ @CliOption(key = CliStrings.CONFIGURE_PDX__AUTO__SERIALIZER__CLASSES,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
specifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
help = CliStrings.CONFIGURE_PDX__AUTO__SERIALIZER__CLASSES__HELP) String[] patterns,
-
-
- @CliMetaData(valueSeparator = ",") @CliOption(
- key = CliStrings.CONFIGURE_PDX__PORTABLE__AUTO__SERIALIZER__CLASSES,
+ @CliOption(key = CliStrings.CONFIGURE_PDX__PORTABLE__AUTO__SERIALIZER__CLASSES,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
specifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
help = CliStrings.CONFIGURE_PDX__PORTABLE__AUTO__SERIALIZER__CLASSES__HELP) String[] portablePatterns) {
@@ -179,8 +173,7 @@ public class PDXCommands extends AbstractCommandsSupport {
help = CliStrings.PDX_DISKSTORE__HELP) String diskStore,
@CliOption(key = CliStrings.PDX_DISKDIR, mandatory = true,
- help = CliStrings.PDX_DISKDIR__HELP) @CliMetaData(
- valueSeparator = ",") String[] diskDirs) {
+ help = CliStrings.PDX_DISKDIR__HELP) String[] diskDirs) {
try {
final File[] dirs = new File[diskDirs.length];
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueueCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueueCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueueCommands.java
index 8c56833..6208adb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueueCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueueCommands.java
@@ -97,16 +97,13 @@ public class QueueCommands extends AbstractCommandsSupport {
unspecifiedDefaultValue = "KEY",
help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__ORDERPOLICY__HELP) String orderPolicy,
@CliOption(key = CliStrings.CREATE_ASYNC_EVENT_QUEUE__GATEWAYEVENTFILTER,
- help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__GATEWAYEVENTFILTER__HELP) @CliMetaData(
- valueSeparator = ",") String[] gatewayEventFilters,
+ help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__GATEWAYEVENTFILTER__HELP) String[] gatewayEventFilters,
@CliOption(key = CliStrings.CREATE_ASYNC_EVENT_QUEUE__SUBSTITUTION_FILTER,
help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__SUBSTITUTION_FILTER__HELP) String gatewaySubstitutionListener,
@CliOption(key = CliStrings.CREATE_ASYNC_EVENT_QUEUE__LISTENER, mandatory = true,
help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__LISTENER__HELP) String listener,
@CliOption(key = CliStrings.CREATE_ASYNC_EVENT_QUEUE__LISTENER_PARAM_AND_VALUE,
- help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__LISTENER_PARAM_AND_VALUE__HELP,
- optionContext = ConverterHint.STRING_DISABLER) @CliMetaData(
- valueSeparator = ",") String[] listenerParamsAndValues) {
+ help = CliStrings.CREATE_ASYNC_EVENT_QUEUE__LISTENER_PARAM_AND_VALUE__HELP) String[] listenerParamsAndValues) {
Properties listenerProperties = new Properties();
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java
index b37feab..ff3b29f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShellCommands.java
@@ -37,7 +37,6 @@ import org.apache.geode.management.internal.SSLUtil;
import org.apache.geode.management.internal.cli.CliUtil;
import org.apache.geode.management.internal.cli.GfshParser;
import org.apache.geode.management.internal.cli.LogWrapper;
-import org.apache.geode.management.internal.cli.annotation.CliArgument;
import org.apache.geode.management.internal.cli.converters.ConnectionEndpointConverter;
import org.apache.geode.management.internal.cli.domain.ConnectToLocatorResult;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -93,6 +92,155 @@ import javax.net.ssl.TrustManagerFactory;
*/
public class ShellCommands implements CommandMarker {
+ // millis that connect --locator will wait for a response from the locator.
+ private final static int CONNECT_LOCATOR_TIMEOUT_MS = 60000; // see bug 45971
+
+ public static int getConnectLocatorTimeoutInMS() {
+ return ShellCommands.CONNECT_LOCATOR_TIMEOUT_MS;
+ }
+
+ /* package-private */
+ static Map<String, String> loadPropertiesFromURL(URL gfSecurityPropertiesUrl) {
+ Map<String, String> propsMap = Collections.emptyMap();
+
+ if (gfSecurityPropertiesUrl != null) {
+ InputStream inputStream = null;
+ try {
+ Properties props = new Properties();
+ inputStream = gfSecurityPropertiesUrl.openStream();
+ props.load(inputStream);
+ if (!props.isEmpty()) {
+ Set<String> jmxSpecificProps = new HashSet<String>();
+ propsMap = new LinkedHashMap<String, String>();
+ Set<Entry<Object, Object>> entrySet = props.entrySet();
+ for (Entry<Object, Object> entry : entrySet) {
+
+ String key = (String) entry.getKey();
+ if (key.endsWith(DistributionConfig.JMX_SSL_PROPS_SUFFIX)) {
+ key =
+ key.substring(0, key.length() - DistributionConfig.JMX_SSL_PROPS_SUFFIX.length());
+ jmxSpecificProps.add(key);
+
+ propsMap.put(key, (String) entry.getValue());
+ } else if (!jmxSpecificProps.contains(key)) {// Prefer properties ending with "-jmx"
+ // over default SSL props.
+ propsMap.put(key, (String) entry.getValue());
+ }
+ }
+ props.clear();
+ jmxSpecificProps.clear();
+ }
+ } catch (IOException io) {
+ throw new RuntimeException(
+ CliStrings.format(CliStrings.CONNECT__MSG__COULD_NOT_READ_CONFIG_FROM_0,
+ CliUtil.decodeWithDefaultCharSet(gfSecurityPropertiesUrl.getPath())),
+ io);
+ } finally {
+ IOUtils.close(inputStream);
+ }
+ }
+ return propsMap;
+ }
+
+ // Copied from DistributedSystem.java
+ public static URL getFileUrl(String fileName) {
+ File file = new File(fileName);
+
+ if (file.exists()) {
+ try {
+ return IOUtils.tryGetCanonicalFileElseGetAbsoluteFile(file).toURI().toURL();
+ } catch (MalformedURLException ignore) {
+ }
+ }
+
+ file = new File(System.getProperty("user.home"), fileName);
+
+ if (file.exists()) {
+ try {
+ return IOUtils.tryGetCanonicalFileElseGetAbsoluteFile(file).toURI().toURL();
+ } catch (MalformedURLException ignore) {
+ }
+ }
+
+ return ClassPathLoader.getLatest().getResource(ShellCommands.class, fileName);
+ }
+
+ public static ConnectToLocatorResult connectToLocator(String host, int port, int timeout,
+ Map<String, String> props) throws IOException {
+ // register DSFID types first; invoked explicitly so that all message type
+ // initializations do not happen in first deserialization on a possibly
+ // "precious" thread
+ DSFIDFactory.registerTypes();
+
+ JmxManagerLocatorResponse locatorResponse =
+ JmxManagerLocatorRequest.send(host, port, timeout, props);
+
+ if (StringUtils.isBlank(locatorResponse.getHost()) || locatorResponse.getPort() == 0) {
+ Throwable locatorResponseException = locatorResponse.getException();
+ String exceptionMessage = CliStrings.CONNECT__MSG__LOCATOR_COULD_NOT_FIND_MANAGER;
+
+ if (locatorResponseException != null) {
+ String locatorResponseExceptionMessage = locatorResponseException.getMessage();
+ locatorResponseExceptionMessage = (!StringUtils.isBlank(locatorResponseExceptionMessage)
+ ? locatorResponseExceptionMessage : locatorResponseException.toString());
+ exceptionMessage = "Exception caused JMX Manager startup to fail because: '"
+ .concat(locatorResponseExceptionMessage).concat("'");
+ }
+
+ throw new IllegalStateException(exceptionMessage, locatorResponseException);
+ }
+
+ ConnectionEndpoint memberEndpoint =
+ new ConnectionEndpoint(locatorResponse.getHost(), locatorResponse.getPort());
+
+ String resultMessage = CliStrings.format(CliStrings.CONNECT__MSG__CONNECTING_TO_MANAGER_AT_0,
+ memberEndpoint.toString(false));
+
+ return new ConnectToLocatorResult(memberEndpoint, resultMessage,
+ locatorResponse.isJmxManagerSslEnabled());
+ }
+
+ private static InfoResultData executeCommand(Gfsh gfsh, String userCommand, boolean useConsole)
+ throws IOException {
+ InfoResultData infoResultData = ResultBuilder.createInfoResultData();
+
+ String cmdToExecute = userCommand;
+ String cmdExecutor = "/bin/sh";
+ String cmdExecutorOpt = "-c";
+ if (SystemUtils.isWindows()) {
+ cmdExecutor = "cmd";
+ cmdExecutorOpt = "/c";
+ } else if (useConsole) {
+ cmdToExecute = cmdToExecute + " </dev/tty >/dev/tty";
+ }
+ String[] commandArray = {cmdExecutor, cmdExecutorOpt, cmdToExecute};
+
+ ProcessBuilder builder = new ProcessBuilder();
+ builder.command(commandArray);
+ builder.directory();
+ builder.redirectErrorStream();
+ Process proc = builder.start();
+
+ BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+
+ String lineRead = "";
+ while ((lineRead = input.readLine()) != null) {
+ infoResultData.addLine(lineRead);
+ }
+
+ proc.getOutputStream().close();
+
+ try {
+ if (proc.waitFor() != 0) {
+ gfsh.logWarning("The command '" + userCommand + "' did not complete successfully", null);
+ }
+ } catch (final InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new IllegalStateException(e.getMessage(), e);
+ }
+ return infoResultData;
+ }
+
private Gfsh getGfsh() {
return Gfsh.getCurrentInstance();
}
@@ -113,13 +261,6 @@ public class ShellCommands implements CommandMarker {
return exitShellRequest;
}
- // millis that connect --locator will wait for a response from the locator.
- private final static int CONNECT_LOCATOR_TIMEOUT_MS = 60000; // see bug 45971
-
- public static int getConnectLocatorTimeoutInMS() {
- return ShellCommands.CONNECT_LOCATOR_TIMEOUT_MS;
- }
-
@CliCommand(value = {CliStrings.CONNECT}, help = CliStrings.CONNECT__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GEODE_JMX,
CliStrings.TOPIC_GEODE_MANAGER})
@@ -213,7 +354,6 @@ public class ShellCommands implements CommandMarker {
return result;
}
-
private Result httpConnect(Map<String, String> sslConfigProps, boolean useSsl, String url,
String userName, String passwordToUse) {
Gfsh gfsh = getGfsh();
@@ -394,7 +534,6 @@ public class ShellCommands implements CommandMarker {
return ResultBuilder.createConnectionErrorResult(errorMessage);
}
-
private String decrypt(String password) {
if (password != null) {
return PasswordUtil.decrypt(password);
@@ -584,112 +723,6 @@ public class ShellCommands implements CommandMarker {
return sslConfigProps;
}
- private static String getGfshLogsCheckMessage(String logFilePath) {
- return CliStrings.format(CliStrings.GFSH__PLEASE_CHECK_LOGS_AT_0, logFilePath);
- }
-
- /* package-private */
- static Map<String, String> loadPropertiesFromURL(URL gfSecurityPropertiesUrl) {
- Map<String, String> propsMap = Collections.emptyMap();
-
- if (gfSecurityPropertiesUrl != null) {
- InputStream inputStream = null;
- try {
- Properties props = new Properties();
- inputStream = gfSecurityPropertiesUrl.openStream();
- props.load(inputStream);
- if (!props.isEmpty()) {
- Set<String> jmxSpecificProps = new HashSet<String>();
- propsMap = new LinkedHashMap<String, String>();
- Set<Entry<Object, Object>> entrySet = props.entrySet();
- for (Entry<Object, Object> entry : entrySet) {
-
- String key = (String) entry.getKey();
- if (key.endsWith(DistributionConfig.JMX_SSL_PROPS_SUFFIX)) {
- key =
- key.substring(0, key.length() - DistributionConfig.JMX_SSL_PROPS_SUFFIX.length());
- jmxSpecificProps.add(key);
-
- propsMap.put(key, (String) entry.getValue());
- } else if (!jmxSpecificProps.contains(key)) {// Prefer properties ending with "-jmx"
- // over default SSL props.
- propsMap.put(key, (String) entry.getValue());
- }
- }
- props.clear();
- jmxSpecificProps.clear();
- }
- } catch (IOException io) {
- throw new RuntimeException(
- CliStrings.format(CliStrings.CONNECT__MSG__COULD_NOT_READ_CONFIG_FROM_0,
- CliUtil.decodeWithDefaultCharSet(gfSecurityPropertiesUrl.getPath())),
- io);
- } finally {
- IOUtils.close(inputStream);
- }
- }
- return propsMap;
- }
-
- // Copied from DistributedSystem.java
- public static URL getFileUrl(String fileName) {
- File file = new File(fileName);
-
- if (file.exists()) {
- try {
- return IOUtils.tryGetCanonicalFileElseGetAbsoluteFile(file).toURI().toURL();
- } catch (MalformedURLException ignore) {
- }
- }
-
- file = new File(System.getProperty("user.home"), fileName);
-
- if (file.exists()) {
- try {
- return IOUtils.tryGetCanonicalFileElseGetAbsoluteFile(file).toURI().toURL();
- } catch (MalformedURLException ignore) {
- }
- }
-
- return ClassPathLoader.getLatest().getResource(ShellCommands.class, fileName);
- }
-
- public static ConnectToLocatorResult connectToLocator(String host, int port, int timeout,
- Map<String, String> props) throws IOException {
- // register DSFID types first; invoked explicitly so that all message type
- // initializations do not happen in first deserialization on a possibly
- // "precious" thread
- DSFIDFactory.registerTypes();
-
- JmxManagerLocatorResponse locatorResponse =
- JmxManagerLocatorRequest.send(host, port, timeout, props);
-
- if (StringUtils.isBlank(locatorResponse.getHost()) || locatorResponse.getPort() == 0) {
- Throwable locatorResponseException = locatorResponse.getException();
- String exceptionMessage = CliStrings.CONNECT__MSG__LOCATOR_COULD_NOT_FIND_MANAGER;
-
- if (locatorResponseException != null) {
- String locatorResponseExceptionMessage = locatorResponseException.getMessage();
- locatorResponseExceptionMessage = (!StringUtils.isBlank(locatorResponseExceptionMessage)
- ? locatorResponseExceptionMessage : locatorResponseException.toString());
- exceptionMessage = "Exception caused JMX Manager startup to fail because: '"
- .concat(locatorResponseExceptionMessage).concat("'");
- }
-
- throw new IllegalStateException(exceptionMessage, locatorResponseException);
- }
-
- ConnectionEndpoint memberEndpoint =
- new ConnectionEndpoint(locatorResponse.getHost(), locatorResponse.getPort());
-
- String resultMessage = CliStrings.format(CliStrings.CONNECT__MSG__CONNECTING_TO_MANAGER_AT_0,
- memberEndpoint.toString(false));
-
- return new ConnectToLocatorResult(memberEndpoint, resultMessage,
- locatorResponse.isJmxManagerSslEnabled());
- }
-
-
@CliCommand(value = {CliStrings.DISCONNECT}, help = CliStrings.DISCONNECT__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GEODE_JMX,
CliStrings.TOPIC_GEODE_MANAGER})
@@ -725,7 +758,6 @@ public class ShellCommands implements CommandMarker {
return result;
}
-
@CliCommand(value = {CliStrings.DESCRIBE_CONNECTION}, help = CliStrings.DESCRIBE_CONNECTION__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GEODE_JMX})
public Result describeConnection() {
@@ -750,7 +782,6 @@ public class ShellCommands implements CommandMarker {
return result;
}
-
@CliCommand(value = {CliStrings.ECHO}, help = CliStrings.ECHO__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH})
public Result echo(@CliOption(key = {CliStrings.ECHO__STR, ""},
@@ -784,7 +815,6 @@ public class ShellCommands implements CommandMarker {
return resultData;
}
-
@CliCommand(value = {CliStrings.SET_VARIABLE}, help = CliStrings.SET_VARIABLE__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH})
public Result setVariable(
@@ -806,22 +836,6 @@ public class ShellCommands implements CommandMarker {
return result;
}
- // Enable when "use region" command is required. See #46110
- // @CliCommand(value = { CliStrings.USE_REGION }, help = CliStrings.USE_REGION__HELP)
- // @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH,
- // CliStrings.TOPIC_GEODE_REGION})
- // public Result useRegion(
- // @CliArgument(name = CliStrings.USE_REGION__REGION,
- // unspecifiedDefaultValue = "/",
- // argumentContext = CliStrings.PARAM_CONTEXT_REGIONPATH,
- // help = CliStrings.USE_REGION__REGION__HELP)
- // String toRegion) {
- // Gfsh gfsh = Gfsh.getCurrentInstance();
- //
- // gfsh.setPromptPath(toRegion);
- // return ResultBuilder.createInfoResult("");
- // }
-
@CliCommand(value = {CliStrings.DEBUG}, help = CliStrings.DEBUG__HELP)
@CliMetaData(shellOnly = true,
relatedTopic = {CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GEODE_DEBUG_UTIL})
@@ -875,8 +889,7 @@ public class ShellCommands implements CommandMarker {
GfshHistory gfshHistory = gfsh.getGfshHistory();
Iterator<?> it = gfshHistory.entries();
- boolean flagForLineNumbers =
- (saveHistoryTo != null && saveHistoryTo.length() > 0) ? false : true;
+ boolean flagForLineNumbers = !(saveHistoryTo != null && saveHistoryTo.length() > 0);
long lineNumber = 0;
while (it.hasNext()) {
@@ -956,7 +969,6 @@ public class ShellCommands implements CommandMarker {
}
-
@CliCommand(value = {CliStrings.RUN}, help = CliStrings.RUN__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH})
public Result executeScript(
@@ -979,7 +991,6 @@ public class ShellCommands implements CommandMarker {
return result;
}
-
@CliCommand(value = CliStrings.ENCRYPT, help = CliStrings.ENCRYPT__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_DEBUG_UTIL})
public Result encryptPassword(@CliOption(key = CliStrings.ENCRYPT_STRING,
@@ -1011,7 +1022,7 @@ public class ShellCommands implements CommandMarker {
@CliCommand(value = {CliStrings.SH}, help = CliStrings.SH__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH})
public Result sh(
- @CliArgument(name = CliStrings.SH__COMMAND, mandatory = true,
+ @CliOption(key = {"", CliStrings.SH__COMMAND}, mandatory = true,
help = CliStrings.SH__COMMAND__HELP) String command,
@CliOption(key = CliStrings.SH__USE_CONSOLE, specifiedDefaultValue = "true",
unspecifiedDefaultValue = "false",
@@ -1032,47 +1043,6 @@ public class ShellCommands implements CommandMarker {
return result;
}
- private static InfoResultData executeCommand(Gfsh gfsh, String userCommand, boolean useConsole)
- throws IOException {
- InfoResultData infoResultData = ResultBuilder.createInfoResultData();
-
- String cmdToExecute = userCommand;
- String cmdExecutor = "/bin/sh";
- String cmdExecutorOpt = "-c";
- if (SystemUtils.isWindows()) {
- cmdExecutor = "cmd";
- cmdExecutorOpt = "/c";
- } else if (useConsole) {
- cmdToExecute = cmdToExecute + " </dev/tty >/dev/tty";
- }
- String[] commandArray = {cmdExecutor, cmdExecutorOpt, cmdToExecute};
-
- ProcessBuilder builder = new ProcessBuilder();
- builder.command(commandArray);
- builder.directory();
- builder.redirectErrorStream();
- Process proc = builder.start();
-
- BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
-
- String lineRead = "";
- while ((lineRead = input.readLine()) != null) {
- infoResultData.addLine(lineRead);
- }
-
- proc.getOutputStream().close();
-
- try {
- if (proc.waitFor() != 0) {
- gfsh.logWarning("The command '" + userCommand + "' did not complete successfully", null);
- }
- } catch (final InterruptedException e) {
- throw new IllegalStateException(e);
- }
- return infoResultData;
- }
-
-
@CliAvailabilityIndicator({CliStrings.CONNECT, CliStrings.DISCONNECT,
CliStrings.DESCRIBE_CONNECTION})
public boolean isAvailable() {
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/WanCommands.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/WanCommands.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/WanCommands.java
index 239db48..cd8f6eb 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/WanCommands.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/WanCommands.java
@@ -71,14 +71,12 @@ public class WanCommands extends AbstractCommandsSupport {
@ResourceOperation(resource = Resource.DATA, operation = Operation.MANAGE)
public Result createGatewaySender(@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.CREATE_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String[] onGroups,
+ help = CliStrings.CREATE_GATEWAYSENDER__GROUP__HELP) String[] onGroups,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.CREATE_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember,
+ help = CliStrings.CREATE_GATEWAYSENDER__MEMBER__HELP) String onMember,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__ID, mandatory = true,
help = CliStrings.CREATE_GATEWAYSENDER__ID__HELP) String id,
@@ -129,12 +127,10 @@ public class WanCommands extends AbstractCommandsSupport {
help = CliStrings.CREATE_GATEWAYSENDER__ORDERPOLICY__HELP) String orderPolicy,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__GATEWAYEVENTFILTER,
- help = CliStrings.CREATE_GATEWAYSENDER__GATEWAYEVENTFILTER__HELP) @CliMetaData(
- valueSeparator = ",") String[] gatewayEventFilters,
+ help = CliStrings.CREATE_GATEWAYSENDER__GATEWAYEVENTFILTER__HELP) String[] gatewayEventFilters,
@CliOption(key = CliStrings.CREATE_GATEWAYSENDER__GATEWAYTRANSPORTFILTER,
- help = CliStrings.CREATE_GATEWAYSENDER__GATEWAYTRANSPORTFILTER__HELP) @CliMetaData(
- valueSeparator = ",") String[] gatewayTransportFilter) {
+ help = CliStrings.CREATE_GATEWAYSENDER__GATEWAYTRANSPORTFILTER__HELP) String[] gatewayTransportFilter) {
Result result = null;
@@ -192,13 +188,11 @@ public class WanCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.START_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.START_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.START_GATEWAYSENDER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.START_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.START_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.START_GATEWAYSENDER__MEMBER__HELP) String onMember) {
Result result = null;
final String id = senderId.trim();
@@ -316,13 +310,11 @@ public class WanCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.PAUSE_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.PAUSE_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.PAUSE_GATEWAYSENDER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.PAUSE_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.PAUSE_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.PAUSE_GATEWAYSENDER__MEMBER__HELP) String onMember) {
Result result = null;
if (senderId != null)
@@ -396,13 +388,10 @@ public class WanCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.RESUME_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.RESUME_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
-
+ help = CliStrings.RESUME_GATEWAYSENDER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.RESUME_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.RESUME_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.RESUME_GATEWAYSENDER__MEMBER__HELP) String onMember) {
Result result = null;
if (senderId != null)
@@ -527,13 +516,11 @@ public class WanCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.STOP_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.STOP_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.STOP_GATEWAYSENDER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.STOP_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.STOP_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.STOP_GATEWAYSENDER__MEMBER__HELP) String onMember) {
Result result = null;
if (senderId != null)
@@ -592,14 +579,12 @@ public class WanCommands extends AbstractCommandsSupport {
@ResourceOperation(resource = Resource.DATA, operation = Operation.MANAGE)
public Result createGatewayReceiver(@CliOption(key = CliStrings.CREATE_GATEWAYRECEIVER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.CREATE_GATEWAYRECEIVER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String[] onGroups,
+ help = CliStrings.CREATE_GATEWAYRECEIVER__GROUP__HELP) String[] onGroups,
@CliOption(key = CliStrings.CREATE_GATEWAYRECEIVER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.CREATE_GATEWAYRECEIVER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember,
+ help = CliStrings.CREATE_GATEWAYRECEIVER__MEMBER__HELP) String onMember,
@CliOption(key = CliStrings.CREATE_GATEWAYRECEIVER__MANUALSTART,
help = CliStrings.CREATE_GATEWAYRECEIVER__MANUALSTART__HELP) Boolean manualStart,
@@ -620,8 +605,7 @@ public class WanCommands extends AbstractCommandsSupport {
help = CliStrings.CREATE_GATEWAYRECEIVER__SOCKETBUFFERSIZE__HELP) Integer socketBufferSize,
@CliOption(key = CliStrings.CREATE_GATEWAYRECEIVER__GATEWAYTRANSPORTFILTER,
- help = CliStrings.CREATE_GATEWAYRECEIVER__GATEWAYTRANSPORTFILTER__HELP) @CliMetaData(
- valueSeparator = ",") String[] gatewayTransportFilters) {
+ help = CliStrings.CREATE_GATEWAYRECEIVER__GATEWAYTRANSPORTFILTER__HELP) String[] gatewayTransportFilters) {
Result result = null;
@@ -735,13 +719,11 @@ public class WanCommands extends AbstractCommandsSupport {
@ResourceOperation(resource = Resource.DATA, operation = Operation.MANAGE)
public Result startGatewayReceiver(@CliOption(key = CliStrings.START_GATEWAYRECEIVER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.START_GATEWAYRECEIVER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.START_GATEWAYRECEIVER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.START_GATEWAYRECEIVER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.START_GATEWAYRECEIVER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.START_GATEWAYRECEIVER__MEMBER__HELP) String onMember) {
Result result = null;
@@ -800,13 +782,11 @@ public class WanCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.STOP_GATEWAYRECEIVER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.STOP_GATEWAYRECEIVER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.STOP_GATEWAYRECEIVER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.STOP_GATEWAYRECEIVER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.STOP_GATEWAYRECEIVER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.STOP_GATEWAYRECEIVER__MEMBER__HELP) String onMember) {
Result result = null;
@@ -865,11 +845,9 @@ public class WanCommands extends AbstractCommandsSupport {
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
public Result listGateway(
@CliOption(key = CliStrings.LIST_GATEWAY__MEMBER, optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.LIST_GATEWAY__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember,
+ help = CliStrings.LIST_GATEWAY__MEMBER__HELP) String onMember,
@CliOption(key = CliStrings.LIST_GATEWAY__GROUP, optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.LIST_GATEWAY__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup) {
+ help = CliStrings.LIST_GATEWAY__GROUP__HELP) String onGroup) {
Result result = null;
Cache cache = CacheFactory.getAnyInstance();
@@ -957,13 +935,11 @@ public class WanCommands extends AbstractCommandsSupport {
@CliOption(key = CliStrings.STATUS_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.STATUS_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.STATUS_GATEWAYSENDER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.STATUS_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.STATUS_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.STATUS_GATEWAYSENDER__MEMBER__HELP) String onMember) {
Result result = null;
if (senderId != null)
@@ -1016,13 +992,11 @@ public class WanCommands extends AbstractCommandsSupport {
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
public Result statusGatewayReceiver(@CliOption(key = CliStrings.STATUS_GATEWAYRECEIVER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.STATUS_GATEWAYRECEIVER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String onGroup,
+ help = CliStrings.STATUS_GATEWAYRECEIVER__GROUP__HELP) String onGroup,
@CliOption(key = CliStrings.STATUS_GATEWAYRECEIVER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
- help = CliStrings.STATUS_GATEWAYRECEIVER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember) {
+ help = CliStrings.STATUS_GATEWAYRECEIVER__MEMBER__HELP) String onMember) {
Result result = null;
@@ -1073,13 +1047,11 @@ public class WanCommands extends AbstractCommandsSupport {
public Result destroyGatewaySender(
@CliOption(key = CliStrings.DESTROY_GATEWAYSENDER__GROUP,
optionContext = ConverterHint.MEMBERGROUP,
- help = CliStrings.DESTROY_GATEWAYSENDER__GROUP__HELP) @CliMetaData(
- valueSeparator = ",") String[] onGroups,
+ help = CliStrings.DESTROY_GATEWAYSENDER__GROUP__HELP) String[] onGroups,
@CliOption(key = CliStrings.DESTROY_GATEWAYSENDER__MEMBER,
optionContext = ConverterHint.MEMBERIDNAME,
unspecifiedDefaultValue = CliMetaData.ANNOTATION_NULL_VALUE,
- help = CliStrings.DESTROY_GATEWAYSENDER__MEMBER__HELP) @CliMetaData(
- valueSeparator = ",") String onMember,
+ help = CliStrings.DESTROY_GATEWAYSENDER__MEMBER__HELP) String onMember,
@CliOption(key = CliStrings.DESTROY_GATEWAYSENDER__ID, mandatory = true,
optionContext = ConverterHint.GATEWAY_SENDER_ID,
help = CliStrings.DESTROY_GATEWAYSENDER__ID__HELP) String id) {
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/BooleanConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/BooleanConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/BooleanConverter.java
deleted file mode 100644
index 5e9cdb9..0000000
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/BooleanConverter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.management.internal.cli.converters;
-
-import java.util.List;
-
-import org.springframework.shell.core.Completion;
-import org.springframework.shell.core.Converter;
-import org.springframework.shell.core.MethodTarget;
-
-/**
- * {@link Converter} for {@link Boolean}. Use this BooleanConverter instead of SHL's
- * BooleanConverter. Removed completion & conversion for values like 0, 1, yes, no.
- *
- * @since GemFire 7.0
- */
-public class BooleanConverter implements Converter<Boolean> {
-
- public boolean supports(final Class<?> requiredType, final String optionContext) {
- return Boolean.class.isAssignableFrom(requiredType)
- || boolean.class.isAssignableFrom(requiredType);
- }
-
- public Boolean convertFromText(final String value, final Class<?> requiredType,
- final String optionContext) {
- if ("true".equalsIgnoreCase(value)) {
- return true;
- } else if ("false".equalsIgnoreCase(value)) {
- return false;
- } else {
- throw new IllegalArgumentException("Cannot convert " + value + " to type Boolean.");
- }
- }
-
- public boolean getAllPossibleValues(final List<Completion> completions,
- final Class<?> requiredType, final String existingData, final String optionContext,
- final MethodTarget target) {
- completions.add(new Completion("true"));
- completions.add(new Completion("false"));
- return false;
- }
-}
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/DirConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/DirConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/DirConverter.java
deleted file mode 100644
index c97057b..0000000
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/DirConverter.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.management.internal.cli.converters;
-
-import java.io.File;
-import java.util.List;
-
-import org.springframework.shell.core.Completion;
-import org.springframework.shell.core.MethodTarget;
-import org.springframework.shell.support.util.FileUtils;
-import org.springframework.util.Assert;
-
-import org.apache.geode.management.cli.ConverterHint;
-import org.apache.geode.management.internal.cli.MultipleValueAdapter;
-import org.apache.geode.management.internal.cli.shell.Gfsh;
-
-/**
- *
- * @since GemFire 7.0
- *
- *
- */
-public class DirConverter extends MultipleValueAdapter<String[]> {
-
- private static final String HOME_DIRECTORY_SYMBOL = "~";
- // Constants
- private static final String home = System.getProperty("user.home");
-
- @Override
- public String[] convertFromText(String[] values, Class<?> targetType, String context) {
- return values;
- }
-
- @Override
- public boolean getAllPossibleValues(List<Completion> completions, Class<?> targetType,
- String[] existingData, String context, MethodTarget target) {
- String adjustedUserInput = convertUserInputIntoAFullyQualifiedPath(
- (existingData != null) ? existingData[existingData.length - 1] : "");
-
- String directoryData =
- adjustedUserInput.substring(0, adjustedUserInput.lastIndexOf(File.separator) + 1);
- adjustedUserInput =
- adjustedUserInput.substring(adjustedUserInput.lastIndexOf(File.separator) + 1);
-
- populate(completions, adjustedUserInput,
- ((existingData != null) ? existingData[existingData.length - 1] : ""), directoryData);
-
- return true;
- }
-
- protected void populate(final List<Completion> completions, final String adjustedUserInput,
- final String originalUserInput, final String directoryData) {
- File directory = new File(directoryData);
-
- if (!directory.isDirectory()) {
- return;
- }
-
- for (File file : directory.listFiles()) {
- if (adjustedUserInput == null || adjustedUserInput.length() == 0
- || file.getName().toLowerCase().startsWith(adjustedUserInput.toLowerCase())) {
-
- String completion = "";
- if (directoryData.length() > 0)
- completion += directoryData;
- completion += file.getName();
-
- completion = convertCompletionBackIntoUserInputStyle(originalUserInput, completion);
-
- if (file.isDirectory()) {
- completions.add(new Completion(completion + File.separator));
- }
- }
- }
- }
-
- private String convertCompletionBackIntoUserInputStyle(final String originalUserInput,
- final String completion) {
- if (FileUtils.denotesAbsolutePath(originalUserInput)) {
- // Input was originally as a fully-qualified path, so we just keep the
- // completion in that form
- return completion;
- }
- if (originalUserInput.startsWith(HOME_DIRECTORY_SYMBOL)) {
- // Input originally started with this symbol, so replace the user's home
- // directory with it again
- Assert.notNull(home, "Home directory could not be determined from system properties");
- return HOME_DIRECTORY_SYMBOL + completion.substring(home.length());
- }
- // The path was working directory specific, so strip the working directory
- // given the user never typed it
- return completion.substring(getWorkingDirectoryAsString().length());
- }
-
- /**
- * If the user input starts with a tilde character (~), replace the tilde character with the
- * user's home directory. If the user input does not start with a tilde, simply return the
- * original user input without any changes if the input specifies an absolute path, or return an
- * absolute path based on the working directory if the input specifies a relative path.
- *
- * @param userInput the user input, which may commence with a tilde (required)
- * @return a string that is guaranteed to no longer contain a tilde as the first character (never
- * null)
- */
- private String convertUserInputIntoAFullyQualifiedPath(final String userInput) {
- if (FileUtils.denotesAbsolutePath(userInput)) {
- // Input is already in a fully-qualified path form
- return userInput;
- }
- if (userInput.startsWith(HOME_DIRECTORY_SYMBOL)) {
- // Replace this symbol with the user's actual home directory
- Assert.notNull(home, "Home directory could not be determined from system properties");
- if (userInput.length() > 1) {
- return home + userInput.substring(1);
- }
- }
- // The path is working directory specific, so prepend the working directory
- String fullPath = getWorkingDirectoryAsString() + userInput;
- return fullPath;
- }
-
- private String getWorkingDirectoryAsString() {
- try {
- return getWorkingDirectory().getCanonicalPath() + File.separator;
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
-
- /**
- * @return the "current working directory" this {@link DirConverter} should use if the user fails
- * to provide an explicit directory in their input (required)
- */
- private File getWorkingDirectory() {
- return Gfsh.getCurrentInstance().getHome();
- }
-
- @Override
- public boolean supports(Class<?> type, String optionContext) {
- if (String[].class.isAssignableFrom(type) && optionContext.equals(ConverterHint.DIRS)) {
- return true;
- }
- return false;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/geode/blob/63ffe764/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/EnumConverter.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/EnumConverter.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/EnumConverter.java
deleted file mode 100644
index 354cef9..0000000
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/EnumConverter.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.management.internal.cli.converters;
-
-import java.util.List;
-
-import org.springframework.shell.core.Completion;
-import org.springframework.shell.core.Converter;
-import org.springframework.shell.core.MethodTarget;
-
-/**
- * {@link Converter} for {@link Enum}.
- *
- * @since GemFire 7.0
- */
-/*
- * Use this EnumConverter instead of SHL's EnumConverter. Added null check for existingData in
- * getAllPossibleValues
- *
- * Original authors: Ben Alex & Alan Stewart
- */
-@SuppressWarnings("all") // Enum parameter warning
-public class EnumConverter implements Converter<Enum> {
-
- public Enum convertFromText(final String value, final Class<?> requiredType,
- final String optionContext) {
- Class<Enum> enumClass = (Class<Enum>) requiredType;
- return Enum.valueOf(enumClass, value);
- }
-
- public boolean getAllPossibleValues(final List<Completion> completions,
- final Class<?> requiredType, final String existingData, final String optionContext,
- final MethodTarget target) {
- Class<Enum> enumClass = (Class<Enum>) requiredType;
- for (Enum enumValue : enumClass.getEnumConstants()) {
- String candidate = enumValue.name();
- // GemFire/gfsh addition - check 'existingData == null'. GfshParser can
- // pass existingData as null
- if ("".equals(existingData) || existingData == null || candidate.startsWith(existingData)
- || existingData.startsWith(candidate)
- || candidate.toUpperCase().startsWith(existingData.toUpperCase())
- || existingData.toUpperCase().startsWith(candidate.toUpperCase())) {
- completions.add(new Completion(candidate));
- }
- }
- return true;
- }
-
- public boolean supports(final Class<?> requiredType, final String optionContext) {
- return Enum.class.isAssignableFrom(requiredType);
- }
-}