This is an automated email from the ASF dual-hosted git repository. jensdeppe 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 c61b39e GEODE-5971: Refactor diskstore commands to extend GfshCommand (#2843) c61b39e is described below commit c61b39eed4ddfb466455ddba569dd276c5b541f9 Author: Jens Deppe <jde...@pivotal.io> AuthorDate: Thu Nov 15 09:54:34 2018 -0800 GEODE-5971: Refactor diskstore commands to extend GfshCommand (#2843) --- .../cli/commands/DiskStoreCommandsDUnitTest.java | 22 ++++++++++++++++++++++ .../cli/commands/BackupDiskStoreCommand.java | 3 ++- .../cli/commands/CompactDiskStoreCommand.java | 3 ++- .../cli/commands/DescribeDiskStoreCommand.java | 17 ++--------------- .../cli/commands/ListDiskStoresCommand.java | 3 ++- .../commands/RevokeMissingDiskStoreCommand.java | 3 ++- .../cli/commands/ShowMissingDiskStoreCommand.java | 3 ++- .../cli/commands/ValidateDiskStoreCommand.java | 3 ++- .../cli/functions/DescribeDiskStoreFunction.java | 2 +- .../DescribeDiskStoreFunctionJUnitTest.java | 2 +- 10 files changed, 38 insertions(+), 23 deletions(-) diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java index fc08858..eaed28a 100644 --- a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java +++ b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java @@ -365,6 +365,28 @@ public class DiskStoreCommandsDUnitTest { } @Test + public void testDescribeMissingDiskStoreCommand() throws Exception { + MemberVM server1 = rule.startServerVM(0, x -> x.withJMXManager().withProperty("groups", GROUP)); + + gfsh.connectAndVerify(server1.getJmxPort(), GfshCommandRule.PortType.jmxManager); + + createDiskStoreAndRegion(server1, 1); + + server1.invoke(() -> { + Cache cache = ClusterStartupRule.getCache(); + Region r = cache.getRegion(REGION_1); + r.put("A", "B"); + }); + + CommandResult result = gfsh.executeCommand( + String.format("describe disk-store --member=%s --name=%s", server1.getName(), "UNKNOWN")); + + assertThat(result.getStatus()).isEqualTo(Result.Status.ERROR); + assertThat(result.getErrorMessage()) + .isEqualTo("A disk store with name 'UNKNOWN' was not found on member 'server-0'."); + } + + @Test public void testUpgradeOfflineDiskStoreCommandFailsAsExpected() throws Exception { MemberVM server1 = rule.startServerVM(0, x -> x.withJMXManager().withProperty("groups", GROUP)); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java index e4616f4..c76f162 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java @@ -28,13 +28,14 @@ import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.cache.backup.BackupOperation; import org.apache.geode.management.BackupStatus; import org.apache.geode.management.cli.CliMetaData; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.internal.cli.i18n.CliStrings; import org.apache.geode.management.internal.cli.result.model.ResultModel; import org.apache.geode.management.internal.cli.result.model.TabularResultModel; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; -public class BackupDiskStoreCommand extends InternalGfshCommand { +public class BackupDiskStoreCommand extends GfshCommand { public static final String BACKED_UP_DISKSTORES_SECTION = "backed-up-diskstores"; public static final String OFFLINE_DISKSTORES_SECTION = "offline-diskstores"; diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java index a14fa45..f31a578 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java @@ -36,6 +36,7 @@ import org.apache.geode.management.DistributedSystemMXBean; import org.apache.geode.management.ManagementService; import org.apache.geode.management.cli.CliMetaData; import org.apache.geode.management.cli.ConverterHint; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.internal.cli.LogWrapper; import org.apache.geode.management.internal.cli.i18n.CliStrings; import org.apache.geode.management.internal.cli.result.model.DataResultModel; @@ -44,7 +45,7 @@ import org.apache.geode.management.internal.messages.CompactRequest; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; -public class CompactDiskStoreCommand extends InternalGfshCommand { +public class CompactDiskStoreCommand extends GfshCommand { @CliCommand(value = CliStrings.COMPACT_DISK_STORE, help = CliStrings.COMPACT_DISK_STORE__HELP) @CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE}) @ResourceOperation(resource = ResourcePermission.Resource.CLUSTER, diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java index ebe36b8..59f7057 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java @@ -26,6 +26,7 @@ import org.apache.geode.distributed.DistributedMember; import org.apache.geode.internal.lang.ClassUtils; import org.apache.geode.management.cli.CliMetaData; import org.apache.geode.management.cli.ConverterHint; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.internal.cli.domain.DiskStoreDetails; import org.apache.geode.management.internal.cli.exceptions.EntityNotFoundException; import org.apache.geode.management.internal.cli.functions.DescribeDiskStoreFunction; @@ -36,7 +37,7 @@ import org.apache.geode.management.internal.cli.result.model.TabularResultModel; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; -public class DescribeDiskStoreCommand extends InternalGfshCommand { +public class DescribeDiskStoreCommand extends GfshCommand { public static final String DISK_STORE_SECTION = "disk-store"; public static final String DISK_DIR_SECTION = "disk-dir"; public static final String REGION_SECTION = "region"; @@ -76,20 +77,6 @@ public class DescribeDiskStoreCommand extends InternalGfshCommand { } else { // unknown and unexpected return type... final Throwable cause = (result instanceof Throwable ? (Throwable) result : null); - if (isLogging()) { - if (cause != null) { - getGfsh().logSevere(String.format( - "Exception (%1$s) occurred while executing '%2$s' on member (%3$s) with disk store (%4$s).", - ClassUtils.getClassName(cause), CliStrings.DESCRIBE_DISK_STORE, memberName, - diskStoreName), cause); - } else { - getGfsh().logSevere(String.format( - "Received an unexpected result of type (%1$s) while executing '%2$s' on member (%3$s) with disk store (%4$s).", - ClassUtils.getClassName(result), CliStrings.DESCRIBE_DISK_STORE, memberName, - diskStoreName), null); - } - } - throw new RuntimeException( CliStrings.format(CliStrings.UNEXPECTED_RETURN_TYPE_EXECUTING_COMMAND_ERROR_MESSAGE, ClassUtils.getClassName(result), CliStrings.DESCRIBE_DISK_STORE), diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java index 5cdfcd0..61bf440 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java @@ -28,6 +28,7 @@ import org.apache.geode.distributed.DistributedMember; import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.internal.cache.execute.AbstractExecution; import org.apache.geode.management.cli.CliMetaData; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.internal.cli.domain.DiskStoreDetails; import org.apache.geode.management.internal.cli.functions.ListDiskStoresFunction; import org.apache.geode.management.internal.cli.i18n.CliStrings; @@ -37,7 +38,7 @@ import org.apache.geode.management.internal.cli.result.model.TabularResultModel; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; -public class ListDiskStoresCommand extends InternalGfshCommand { +public class ListDiskStoresCommand extends GfshCommand { @CliCommand(value = CliStrings.LIST_DISK_STORE, help = CliStrings.LIST_DISK_STORE__HELP) @CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE}) @ResourceOperation(resource = ResourcePermission.Resource.CLUSTER, diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java index 1014a71..3dc78ac 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java @@ -21,12 +21,13 @@ import org.springframework.shell.core.annotation.CliOption; import org.apache.geode.management.DistributedSystemMXBean; import org.apache.geode.management.ManagementService; import org.apache.geode.management.cli.CliMetaData; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.internal.cli.i18n.CliStrings; import org.apache.geode.management.internal.cli.result.model.ResultModel; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; -public class RevokeMissingDiskStoreCommand extends InternalGfshCommand { +public class RevokeMissingDiskStoreCommand extends GfshCommand { @CliCommand(value = CliStrings.REVOKE_MISSING_DISK_STORE, help = CliStrings.REVOKE_MISSING_DISK_STORE__HELP) @CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE}) diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java index 4f6fe52..3b41277 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java @@ -29,6 +29,7 @@ import org.apache.geode.internal.cache.execute.AbstractExecution; import org.apache.geode.internal.cache.partitioned.ColocatedRegionDetails; import org.apache.geode.internal.cache.persistence.PersistentMemberPattern; import org.apache.geode.management.cli.CliMetaData; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction; import org.apache.geode.management.internal.cli.i18n.CliStrings; import org.apache.geode.management.internal.cli.result.ResultDataException; @@ -37,7 +38,7 @@ import org.apache.geode.management.internal.cli.result.model.TabularResultModel; import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; -public class ShowMissingDiskStoreCommand extends InternalGfshCommand { +public class ShowMissingDiskStoreCommand extends GfshCommand { public static final String MISSING_DISK_STORES_SECTION = "missing-disk-stores"; public static final String MISSING_COLOCATED_REGIONS_SECTION = "missing-colocated-regions"; diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java index d25326a..077b576 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java @@ -28,6 +28,7 @@ import org.springframework.shell.core.annotation.CliCommand; import org.springframework.shell.core.annotation.CliOption; import org.apache.geode.management.cli.CliMetaData; +import org.apache.geode.management.cli.GfshCommand; import org.apache.geode.management.cli.Result; import org.apache.geode.management.internal.cli.LogWrapper; import org.apache.geode.management.internal.cli.i18n.CliStrings; @@ -35,7 +36,7 @@ import org.apache.geode.management.internal.cli.result.model.InfoResultModel; import org.apache.geode.management.internal.cli.result.model.ResultModel; import org.apache.geode.management.internal.cli.util.DiskStoreValidater; -public class ValidateDiskStoreCommand extends InternalGfshCommand { +public class ValidateDiskStoreCommand extends GfshCommand { @CliCommand(value = CliStrings.VALIDATE_DISK_STORE, help = CliStrings.VALIDATE_DISK_STORE__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE}) public ResultModel validateDiskStore( diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java index a2bbd96..a2a8f21 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java @@ -120,7 +120,7 @@ public class DescribeDiskStoreFunction implements InternalFunction { } else { context.getResultSender() .sendException(new EntityNotFoundException( - String.format("A disk store with name (%1$s) was not found on member (%2$s).", + String.format("A disk store with name '%1$s' was not found on member '%2$s'.", diskStoreName, memberName))); } } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java index b98ceae..e86cc8c 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java @@ -465,7 +465,7 @@ public class DescribeDiskStoreFunctionJUnitTest { final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); function.execute(mockFunctionContext); - String expected = String.format("A disk store with name (%1$s) was not found on member (%2$s).", + String expected = String.format("A disk store with name '%1$s' was not found on member '%2$s'.", diskStoreName, memberName); assertThatThrownBy(testResultSender::getResults).isInstanceOf(EntityNotFoundException.class) .hasMessage(expected);