You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jc...@apache.org on 2018/11/15 01:00:24 UTC
[geode] branch feature/GEODE-6025 updated: WIP: Move data source
commands to new package
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-6025
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/feature/GEODE-6025 by this push:
new 4bfb671 WIP: Move data source commands to new package
4bfb671 is described below
commit 4bfb6710703ee58962a56255ca0fa07834b89c3e
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Wed Nov 14 16:59:35 2018 -0800
WIP: Move data source commands to new package
Co-authored-by: Darrel Schneider <ds...@pivotal.io>
Co-authored-by: Jianxia Chen <jc...@pivotal.io>
---
geode-connectors/build.gradle | 1 +
.../cli}/CreateDataSourceCommandDUnitTest.java | 2 +-
.../internal/cli}/CreateDataSourceCommand.java | 4 +-
.../internal/cli}/CreateDataSourceInterceptor.java | 3 +-
.../internal/cli}/DescribeDataSourceCommand.java | 30 +++++++-
.../cli/converters/PoolPropertyConverter.java | 10 +--
.../org.springframework.shell.core.CommandMarker | 2 +
.../internal/cli}/CreateDataSourceCommandTest.java | 11 ++-
.../cli}/CreateDataSourceInterceptorTest.java | 2 +-
.../cli}/DescribeDataSourceCommandTest.java | 81 ++++++++++++++++++++--
.../cli/commands/CommandAvailabilityIndicator.java | 1 -
.../cli/commands/UsernamePasswordInterceptor.java | 2 +-
12 files changed, 123 insertions(+), 26 deletions(-)
diff --git a/geode-connectors/build.gradle b/geode-connectors/build.gradle
index f64261a..1786eb3 100644
--- a/geode-connectors/build.gradle
+++ b/geode-connectors/build.gradle
@@ -75,6 +75,7 @@ dependencies {
distributedTestCompile('junit:junit:' + project.'junit.version')
distributedTestCompile('org.assertj:assertj-core:' + project.'assertj-core.version')
distributedTestCompile('org.mockito:mockito-core:2.19.1')
+ distributedTestRuntime('org.apache.derby:derby:' + project.'derby.version')
acceptanceTestCompile('com.github.stefanbirkner:system-rules:' + project.'system-rules.version') {
exclude module: 'junit-dep'
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommandDUnitTest.java b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandDUnitTest.java
similarity index 98%
rename from geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommandDUnitTest.java
rename to geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandDUnitTest.java
index 8dc4843..dd4169c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommandDUnitTest.java
+++ b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandDUnitTest.java
@@ -13,7 +13,7 @@
* the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
similarity index 98%
rename from geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommand.java
rename to geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
index 7847700..345d182 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommand.java
@@ -12,7 +12,7 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import java.util.List;
import java.util.Set;
@@ -74,7 +74,7 @@ public class CreateDataSourceCommand extends SingleGfshCommand {
@CliCommand(value = CREATE_DATA_SOURCE, help = CREATE_DATA_SOURCE__HELP)
@CliMetaData(relatedTopic = CliStrings.DEFAULT_TOPIC_GEODE,
- interceptor = "org.apache.geode.management.internal.cli.commands.CreateDataSourceInterceptor")
+ interceptor = "org.apache.geode.connectors.jdbc.internal.cli.CreateDataSourceInterceptor")
@ResourceOperation(resource = ResourcePermission.Resource.CLUSTER,
operation = ResourcePermission.Operation.MANAGE)
public ResultModel createJDNIBinding(
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceInterceptor.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceInterceptor.java
similarity index 94%
rename from geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceInterceptor.java
rename to geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceInterceptor.java
index 58343db..1c80ea6 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceInterceptor.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceInterceptor.java
@@ -14,9 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import org.apache.geode.management.internal.cli.GfshParseResult;
+import org.apache.geode.management.internal.cli.commands.UsernamePasswordInterceptor;
import org.apache.geode.management.internal.cli.result.model.ResultModel;
import org.apache.geode.management.internal.cli.shell.Gfsh;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDataSourceCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java
similarity index 78%
rename from geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDataSourceCommand.java
rename to geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java
index 684fc1e..102ba87 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDataSourceCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommand.java
@@ -13,9 +13,10 @@
* the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import java.util.List;
+import java.util.stream.Collectors;
import org.apache.logging.log4j.Logger;
import org.springframework.shell.core.annotation.CliCommand;
@@ -23,11 +24,15 @@ import org.springframework.shell.core.annotation.CliOption;
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.configuration.CacheConfig;
+import org.apache.geode.cache.configuration.CacheElement;
import org.apache.geode.cache.configuration.JndiBindingsType;
+import org.apache.geode.cache.configuration.RegionConfig;
+import org.apache.geode.connectors.jdbc.internal.configuration.RegionMapping;
import org.apache.geode.distributed.internal.InternalConfigurationPersistenceService;
import org.apache.geode.internal.logging.LogService;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.internal.cli.commands.CreateJndiBindingCommand.DATASOURCE_TYPE;
+import org.apache.geode.management.internal.cli.commands.InternalGfshCommand;
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;
@@ -91,6 +96,29 @@ public class DescribeDataSourceCommand extends InternalGfshCommand {
return resultModel;
}
+ List<String> getRegionsThatUseDataSource(CacheConfig cacheConfig, String dataSourceName) {
+ return cacheConfig.getRegions()
+ .stream()
+ .filter(regionConfig -> hasJdbcMappingThatUsesDataSource(regionConfig, dataSourceName))
+ .map(RegionConfig::getName)
+ .collect(Collectors.toList());
+ }
+
+ private boolean hasJdbcMappingThatUsesDataSource(RegionConfig regionConfig,
+ String dataSourceName) {
+ return regionConfig.getCustomRegionElements()
+ .stream()
+ .anyMatch(cacheElement -> isRegionMappingUsingDataSource(cacheElement, dataSourceName));
+ }
+
+ private boolean isRegionMappingUsingDataSource(CacheElement cacheElement, String dataSourceName) {
+ if (!(cacheElement instanceof RegionMapping)) {
+ return false;
+ }
+ RegionMapping regionMapping = (RegionMapping) cacheElement;
+ return dataSourceName.equals(regionMapping.getDataSourceName());
+ }
+
private void addTableRow(TabularResultModel table, String property, String value) {
table.accumulate("Property", property);
table.accumulate("Value", value != null ? value : "");
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/PoolPropertyConverter.java b/geode-connectors/src/main/java/org/apache/geode/management/internal/cli/converters/PoolPropertyConverter.java
similarity index 83%
rename from geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/PoolPropertyConverter.java
rename to geode-connectors/src/main/java/org/apache/geode/management/internal/cli/converters/PoolPropertyConverter.java
index 374c6f9..f5b7cd7 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/converters/PoolPropertyConverter.java
+++ b/geode-connectors/src/main/java/org/apache/geode/management/internal/cli/converters/PoolPropertyConverter.java
@@ -23,14 +23,14 @@ import org.springframework.shell.core.Completion;
import org.springframework.shell.core.Converter;
import org.springframework.shell.core.MethodTarget;
-import org.apache.geode.management.internal.cli.commands.CreateDataSourceCommand.PoolProperty;
+import org.apache.geode.connectors.jdbc.internal.cli.CreateDataSourceCommand;
/***
* Converter for CreateDataSourceCommand's --pool-properties option.
*
*/
public class PoolPropertyConverter
- implements Converter<PoolProperty> {
+ implements Converter<CreateDataSourceCommand.PoolProperty> {
private static ObjectMapper mapper = new ObjectMapper();
static {
@@ -39,14 +39,14 @@ public class PoolPropertyConverter
@Override
public boolean supports(Class<?> type, String optionContext) {
- return PoolProperty.class.isAssignableFrom(type);
+ return CreateDataSourceCommand.PoolProperty.class.isAssignableFrom(type);
}
@Override
- public PoolProperty convertFromText(String value,
+ public CreateDataSourceCommand.PoolProperty convertFromText(String value,
Class<?> targetType, String optionContext) {
try {
- return mapper.readValue(value, PoolProperty.class);
+ return mapper.readValue(value, CreateDataSourceCommand.PoolProperty.class);
} catch (IOException e) {
throw new IllegalArgumentException("invalid json: \"" + value + "\" details: " + e);
}
diff --git a/geode-connectors/src/main/resources/META-INF/services/org.springframework.shell.core.CommandMarker b/geode-connectors/src/main/resources/META-INF/services/org.springframework.shell.core.CommandMarker
index bf3e1eb..a6ae8aa 100644
--- a/geode-connectors/src/main/resources/META-INF/services/org.springframework.shell.core.CommandMarker
+++ b/geode-connectors/src/main/resources/META-INF/services/org.springframework.shell.core.CommandMarker
@@ -15,7 +15,9 @@
# limitations under the License.
#
# JDBC Connector Extension commands
+org.apache.geode.connectors.jdbc.internal.cli.CreateDataSourceCommand
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand
+org.apache.geode.connectors.jdbc.internal.cli.DescribeDataSourceCommand
org.apache.geode.connectors.jdbc.internal.cli.DestroyMappingCommand
org.apache.geode.connectors.jdbc.internal.cli.DescribeMappingCommand
org.apache.geode.connectors.jdbc.internal.cli.ListMappingCommand
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommandTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java
similarity index 97%
rename from geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommandTest.java
rename to geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java
index ea4e8d7..6f5f340 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceCommandTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceCommandTest.java
@@ -12,7 +12,7 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -20,7 +20,6 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -39,6 +38,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
import org.xml.sax.SAXException;
import org.apache.geode.cache.configuration.CacheConfig;
@@ -49,7 +49,6 @@ import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.InternalConfigurationPersistenceService;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.management.internal.cli.GfshParseResult;
-import org.apache.geode.management.internal.cli.commands.CreateDataSourceCommand.PoolProperty;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.cli.functions.CreateJndiBindingFunction;
import org.apache.geode.test.junit.rules.GfshParserRule;
@@ -70,7 +69,7 @@ public class CreateDataSourceCommandTest {
public void setUp() throws Exception {
cache = mock(InternalCache.class);
when(cache.getDistributionManager()).thenReturn(mock(DistributionManager.class));
- command = spy(CreateDataSourceCommand.class);
+ command = Mockito.spy(CreateDataSourceCommand.class);
command.setCache(cache);
binding = new JndiBindingsType.JndiBinding();
@@ -101,8 +100,8 @@ public class CreateDataSourceCommandTest {
+ " --pooled --name=name --url=url "
+ "--pool-properties={'name':'name1','value':'value1'},{'name':'name2','value':'value2'}");
- PoolProperty[] poolProperties =
- (PoolProperty[]) result
+ CreateDataSourceCommand.PoolProperty[] poolProperties =
+ (CreateDataSourceCommand.PoolProperty[]) result
.getParamValue("pool-properties");
assertThat(poolProperties).hasSize(2);
assertThat(poolProperties[0].getName()).isEqualTo("name1");
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceInterceptorTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceInterceptorTest.java
similarity index 98%
rename from geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceInterceptorTest.java
rename to geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceInterceptorTest.java
index 83c40b7..145d021 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDataSourceInterceptorTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateDataSourceInterceptorTest.java
@@ -12,7 +12,7 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeDataSourceCommandTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommandTest.java
similarity index 74%
rename from geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeDataSourceCommandTest.java
rename to geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommandTest.java
index 1ca1318..f63ddcc 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeDataSourceCommandTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeDataSourceCommandTest.java
@@ -12,7 +12,7 @@
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
-package org.apache.geode.management.internal.cli.commands;
+package org.apache.geode.connectors.jdbc.internal.cli;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -23,6 +23,7 @@ import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import org.junit.Before;
@@ -30,8 +31,11 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.apache.geode.cache.configuration.CacheConfig;
+import org.apache.geode.cache.configuration.CacheElement;
import org.apache.geode.cache.configuration.JndiBindingsType;
import org.apache.geode.cache.configuration.JndiBindingsType.JndiBinding.ConfigProperty;
+import org.apache.geode.cache.configuration.RegionConfig;
+import org.apache.geode.connectors.jdbc.internal.configuration.RegionMapping;
import org.apache.geode.distributed.internal.InternalConfigurationPersistenceService;
import org.apache.geode.management.cli.Result.Status;
import org.apache.geode.management.internal.cli.commands.CreateJndiBindingCommand.DATASOURCE_TYPE;
@@ -45,16 +49,18 @@ public class DescribeDataSourceCommandTest {
public static GfshParserRule gfsh = new GfshParserRule();
private DescribeDataSourceCommand command;
- // private InternalCache cache;
- JndiBindingsType.JndiBinding binding;
- List<JndiBindingsType.JndiBinding> bindings;
- InternalConfigurationPersistenceService clusterConfigService;
+
+ private JndiBindingsType.JndiBinding binding;
+ private List<JndiBindingsType.JndiBinding> bindings;
+ private InternalConfigurationPersistenceService clusterConfigService;
+ private CacheConfig cacheConfig;
+ private List<RegionConfig> regionConfigs;
private static String COMMAND = "describe data-source";
private static String DATA_SOURCE_NAME = "myDataSource";
@Before
- public void setUp() throws Exception {
+ public void setUp() {
command = spy(DescribeDataSourceCommand.class);
binding = new JndiBindingsType.JndiBinding();
@@ -62,9 +68,11 @@ public class DescribeDataSourceCommandTest {
binding.setType(DATASOURCE_TYPE.POOLED.getType());
bindings = new ArrayList<>();
clusterConfigService = mock(InternalConfigurationPersistenceService.class);
- CacheConfig cacheConfig = mock(CacheConfig.class);
+ cacheConfig = mock(CacheConfig.class);
when(cacheConfig.getJndiBindings()).thenReturn(bindings);
bindings.add(binding);
+ regionConfigs = new ArrayList<>();
+ when(cacheConfig.getRegions()).thenReturn(regionConfigs);
doReturn(clusterConfigService).when(command).getConfigurationPersistenceService();
doReturn(cacheConfig).when(clusterConfigService).getCacheConfig(any());
@@ -221,4 +229,63 @@ public class DescribeDataSourceCommandTest {
assertThat(section.getValuesInRow(5)).isEqualTo(Arrays.asList("name1", "value1"));
assertThat(section.getValuesInRow(6)).isEqualTo(Arrays.asList("name2", "value2"));
}
+
+ @Test
+ public void getRegionsThatUseDataSourceGivenNoRegionsReturnsEmptyList() {
+ regionConfigs.clear();
+
+ List<String> result = command.getRegionsThatUseDataSource(cacheConfig, "");
+
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void getRegionsThatUseDataSourceGivenRegionConfigWithNoCustomRegionElementsReturnsEmptyList() {
+ RegionConfig regionConfig = mock(RegionConfig.class);
+ when(regionConfig.getCustomRegionElements()).thenReturn(Collections.emptyList());
+ regionConfigs.add(regionConfig);
+
+ List<String> result = command.getRegionsThatUseDataSource(cacheConfig, "");
+
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void getRegionsThatUseDataSourceGivenRegionConfigWithNonRegionMappingElementReturnsEmptyList() {
+ RegionConfig regionConfig = mock(RegionConfig.class);
+ when(regionConfig.getCustomRegionElements())
+ .thenReturn(Collections.singletonList(mock(CacheElement.class)));
+ regionConfigs.add(regionConfig);
+
+ List<String> result = command.getRegionsThatUseDataSource(cacheConfig, "");
+
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void getRegionsThatUseDataSourceGivenRegionConfigWithRegionMappingForOtherDataSourceReturnsEmptyList() {
+ RegionConfig regionConfig = mock(RegionConfig.class);
+ when(regionConfig.getCustomRegionElements())
+ .thenReturn(Collections.singletonList(mock(RegionMapping.class)));
+ regionConfigs.add(regionConfig);
+
+ List<String> result = command.getRegionsThatUseDataSource(cacheConfig, "bogusDataSource");
+
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void getRegionsThatUseDataSourceGivenRegionConfigWithRegionMappingForDataSourceReturnsRegionName() {
+ RegionConfig regionConfig = mock(RegionConfig.class);
+ when(regionConfig.getName()).thenReturn("regionName");
+ RegionMapping regionMapping = mock(RegionMapping.class);
+ when(regionMapping.getDataSourceName()).thenReturn("dataSourceName");
+ when(regionConfig.getCustomRegionElements())
+ .thenReturn(Collections.singletonList(regionMapping));
+ regionConfigs.add(regionConfig);
+
+ List<String> result = command.getRegionsThatUseDataSource(cacheConfig, "dataSourceName");
+
+ assertThat(result).isEqualTo(Collections.singletonList("regionName"));
+ }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CommandAvailabilityIndicator.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CommandAvailabilityIndicator.java
index 516ede4..a2d6049 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CommandAvailabilityIndicator.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CommandAvailabilityIndicator.java
@@ -51,7 +51,6 @@ public class CommandAvailabilityIndicator extends GfshCommand {
CliStrings.DESTROY_GATEWAYSENDER, AlterAsyncEventQueueCommand.COMMAND_NAME,
DestroyAsyncEventQueueCommand.DESTROY_ASYNC_EVENT_QUEUE,
DestroyGatewayReceiverCommand.DESTROY_GATEWAYRECEIVER,
- CreateDataSourceCommand.CREATE_DATA_SOURCE,
CreateJndiBindingCommand.CREATE_JNDIBINDING, DestroyJndiBindingCommand.DESTROY_JNDIBINDING,
DescribeJndiBindingCommand.DESCRIBE_JNDI_BINDING, ListJndiBindingCommand.LIST_JNDIBINDING})
public boolean available() {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UsernamePasswordInterceptor.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UsernamePasswordInterceptor.java
index ebf527c..11bec5b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UsernamePasswordInterceptor.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/UsernamePasswordInterceptor.java
@@ -30,7 +30,7 @@ public class UsernamePasswordInterceptor extends AbstractCliAroundInterceptor {
}
// Constructor for unit test
- UsernamePasswordInterceptor(Gfsh gfsh) {
+ public UsernamePasswordInterceptor(Gfsh gfsh) {
this.gfsh = gfsh;
}