Repository: geode Updated Branches: refs/heads/release/1.2.0 b6598890d -> 15b031a5a
GEODE-3092: fix specifiedDefaultValue for cacheLoader and cacheWriter (cherry picked from commit c6d88f7) Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/63cd4c71 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/63cd4c71 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/63cd4c71 Branch: refs/heads/release/1.2.0 Commit: 63cd4c714f9f50c6a7d1538eec8d76cc33b2dccd Parents: b659889 Author: Jinmei Liao <[email protected]> Authored: Mon Jun 19 09:08:35 2017 -0700 Committer: Jinmei Liao <[email protected]> Committed: Mon Jun 19 21:29:30 2017 -0700 ---------------------------------------------------------------------- .../CreateAlterDestroyRegionCommands.java | 46 ++++++++++---------- .../internal/cli/GfshParserParsingTest.java | 17 ++++++-- 2 files changed, 37 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/63cd4c71/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 ad40518..26553ed 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 @@ -14,7 +14,28 @@ */ package org.apache.geode.management.internal.cli.commands; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicReference; +import java.util.regex.Pattern; + +import javax.management.MBeanServer; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; + import org.apache.commons.lang.StringUtils; +import org.springframework.shell.core.annotation.CliCommand; +import org.springframework.shell.core.annotation.CliOption; + import org.apache.geode.LogWriter; import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.ExpirationAttributes; @@ -53,7 +74,6 @@ import org.apache.geode.management.internal.cli.functions.RegionCreateFunction; import org.apache.geode.management.internal.cli.functions.RegionDestroyFunction; import org.apache.geode.management.internal.cli.functions.RegionFunctionArgs; import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.management.internal.cli.result.CommandResultException; 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.util.RegionPath; @@ -61,26 +81,6 @@ import org.apache.geode.management.internal.configuration.domain.XmlEntity; 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.annotation.CliAvailabilityIndicator; -import org.springframework.shell.core.annotation.CliCommand; -import org.springframework.shell.core.annotation.CliOption; - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeSet; -import java.util.concurrent.atomic.AtomicReference; -import java.util.regex.Pattern; -import javax.management.MBeanServer; -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; /** * @since GemFire 7.0 @@ -411,9 +411,9 @@ public class CreateAlterDestroyRegionCommands implements GfshCommand { help = CliStrings.ALTER_REGION__REGIONEXPIRATIONTTLACTION__HELP) String regionExpirationTTLAction, @CliOption(key = CliStrings.ALTER_REGION__CACHELISTENER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHELISTENER__HELP) String[] cacheListeners, - @CliOption(key = CliStrings.ALTER_REGION__CACHELOADER, specifiedDefaultValue = "null", + @CliOption(key = CliStrings.ALTER_REGION__CACHELOADER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHELOADER__HELP) String cacheLoader, - @CliOption(key = CliStrings.ALTER_REGION__CACHEWRITER, specifiedDefaultValue = "null", + @CliOption(key = CliStrings.ALTER_REGION__CACHEWRITER, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__CACHEWRITER__HELP) String cacheWriter, @CliOption(key = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID, specifiedDefaultValue = "", help = CliStrings.ALTER_REGION__ASYNCEVENTQUEUEID__HELP) String[] asyncEventQueueIds, http://git-wip-us.apache.org/repos/asf/geode/blob/63cd4c71/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java index a2efb36..5cf87c4 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/GfshParserParsingTest.java @@ -17,14 +17,15 @@ package org.apache.geode.management.internal.cli; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; -import org.apache.geode.management.internal.cli.i18n.CliStrings; -import org.apache.geode.test.junit.categories.IntegrationTest; +import java.util.Map; + import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; import org.springframework.shell.event.ParseResult; -import java.util.Map; +import org.apache.geode.management.internal.cli.i18n.CliStrings; +import org.apache.geode.test.junit.categories.IntegrationTest; @Category(IntegrationTest.class) public class GfshParserParsingTest { @@ -291,4 +292,14 @@ public class GfshParserParsingTest { GfshParseResult result = parser.parse(command); assertThat(result.getParamValue("name")).isEqualTo("\\u0005Name"); } + + @Test + public void testAlterRegion() throws Exception { + String command = + "alter region --name=/Person --cache-writer='' --cache-listener='' --cache-loader=''"; + GfshParseResult result = parser.parse(command); + assertThat(result.getParamValue("cache-writer")).isNotNull().isEmpty(); + assertThat(result.getParamValue("cache-listener")).isNotNull().isEmpty(); + assertThat(result.getParamValue("cache-loader")).isNotNull().isEmpty(); + } }
