Addressing Review comments.

This closes #278


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/e9c57169
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/e9c57169
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/e9c57169

Branch: refs/heads/feature/GEODE-1930
Commit: e9c571692c9875f1ec5113c06703703b7206099f
Parents: 86f4755
Author: adongre <avin...@ampool.io>
Authored: Sun Nov 6 17:27:55 2016 +0530
Committer: Anthony Baker <aba...@apache.org>
Committed: Sat Nov 12 07:56:16 2016 -0800

----------------------------------------------------------------------
 .../CreateAlterDestroyRegionCommands.java       | 22 ++++++--------------
 .../cli/functions/RegionCreateFunction.java     | 18 +++++++++-------
 ...eateAlterDestroyRegionCommandsDUnitTest.java |  6 +++---
 3 files changed, 19 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e9c57169/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 58af6cb..358cdc1 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
@@ -31,7 +31,6 @@ import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 
-import joptsimple.internal.Strings;
 import org.apache.geode.cache.*;
 import org.springframework.shell.core.annotation.CliAvailabilityIndicator;
 import org.springframework.shell.core.annotation.CliCommand;
@@ -905,26 +904,17 @@ public class CreateAlterDestroyRegionCommands extends 
AbstractCommandsSupport {
     }
 
     if (regionFunctionArgs.hasPartitionAttributes()) {
-      boolean partitionResolverFailure = false;
       if (regionFunctionArgs.isPartitionResolverSet()) {
         String partitionResolverClassName = 
regionFunctionArgs.getPartitionResolver();
-        Object partitionResolver = null;
-
         try {
-          Class<?> compressorClass =
-              (Class<?>) 
ClassPathLoader.getLatest().forName(partitionResolverClassName);
-          partitionResolver = compressorClass.newInstance();
-        } catch (InstantiationException e) {
-          partitionResolverFailure = true;
-        } catch (IllegalAccessException e) {
-          partitionResolverFailure = true;
-        } catch (ClassNotFoundException e) {
-          partitionResolverFailure = true;
-        }
-        if (partitionResolverFailure || !(partitionResolver instanceof 
PartitionResolver)) {
+          Class<PartitionResolver> resolverClass = (Class<PartitionResolver>) 
ClassPathLoader
+              .getLatest().forName(partitionResolverClassName);
+          PartitionResolver partitionResolver = resolverClass.newInstance();
+        } catch (InstantiationException | IllegalAccessException | 
ClassNotFoundException e) {
           throw new IllegalArgumentException(
               
CliStrings.format(CliStrings.CREATE_REGION__MSG__INVALID_PARTITION_RESOLVER,
-                  new Object[] {regionFunctionArgs.getCompressor()}));
+                  new Object[] {regionFunctionArgs.getCompressor()}),
+              e);
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e9c57169/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
index b925936..c99f84a 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
@@ -16,8 +16,8 @@ package org.apache.geode.management.internal.cli.functions;
 
 import java.util.Set;
 
-import joptsimple.internal.Strings;
 import org.apache.geode.internal.ClassPathLoader;
+import org.apache.geode.internal.lang.StringUtils;
 import org.apache.logging.log4j.Logger;
 
 import org.apache.geode.cache.Cache;
@@ -409,8 +409,8 @@ public class RegionCreateFunction extends FunctionAdapter 
implements InternalEnt
     }
 
     if (regionCreateArgs.isPartitionResolverSet()) {
-      Class<?> partitionResolverClass = 
forName(regionCreateArgs.getPartitionResolver(),
-          CliStrings.CREATE_REGION__PARTITION_RESOLVER);
+      Class<PartitionResolver> partitionResolverClass = forName(
+          regionCreateArgs.getPartitionResolver(), 
CliStrings.CREATE_REGION__PARTITION_RESOLVER);
       prAttrFactory
           .setPartitionResolver((PartitionResolver<K, V>) 
newInstance(partitionResolverClass,
               CliStrings.CREATE_REGION__PARTITION_RESOLVER));
@@ -419,12 +419,14 @@ public class RegionCreateFunction extends FunctionAdapter 
implements InternalEnt
   }
 
 
-  private static Class<?> forName(String className, String neededFor) {
-    if (Strings.isNullOrEmpty(className)) {
-      return null;
+  private static Class<PartitionResolver> forName(String className, String 
neededFor) {
+    if (StringUtils.isBlank(className)) {
+      throw new IllegalArgumentException(
+          
CliStrings.format(CliStrings.CREATE_REGION__MSG__INVALID_PARTITION_RESOLVER,
+              new Object[] {className, neededFor}));
     }
     try {
-      return ClassPathLoader.getLatest().forName(className);
+      return (Class<PartitionResolver>) 
ClassPathLoader.getLatest().forName(className);
     } catch (ClassNotFoundException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.CREATE_REGION_PARTITION_RESOLVER__MSG__COULDNOT_FIND_CLASS_0_SPECIFIED_FOR_1,
@@ -436,7 +438,7 @@ public class RegionCreateFunction extends FunctionAdapter 
implements InternalEnt
     }
   }
 
-  private static Object newInstance(Class<?> klass, String neededFor) {
+  private static PartitionResolver newInstance(Class<PartitionResolver> klass, 
String neededFor) {
     try {
       return klass.newInstance();
     } catch (InstantiationException e) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e9c57169/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
index 4896ead..7a75cfa 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
@@ -1112,13 +1112,14 @@ public class CreateAlterDestroyRegionCommandsDUnitTest 
extends CliCommandTestBas
 
     ClassBuilder classBuilder = new ClassBuilder();
     // classBuilder.addToClassPath(".");
-    final File prJarFile = new File(new File(".").getAbsolutePath(), 
"myPartitionResolver.jar");
+    final File prJarFile = new 
File(temporaryFolder.getRoot().getCanonicalPath() + File.separator,
+        "myPartitionResolver.jar");
     this.filesToBeDeleted.add(prJarFile.getAbsolutePath());
     byte[] jarBytes =
         
classBuilder.createJarFromClassContent("com/cadrdunit/TestPartitionResolver", 
PR_STRING);
     writeJarBytesToFile(prJarFile, jarBytes);
 
-    CommandResult cmdResult = executeCommand("deploy 
--jar=myPartitionResolver.jar");
+    CommandResult cmdResult = executeCommand("deploy --jar=" + 
prJarFile.getAbsolutePath());
     assertEquals(Result.Status.OK, cmdResult.getStatus());
 
 
@@ -1194,7 +1195,6 @@ public class CreateAlterDestroyRegionCommandsDUnitTest 
extends CliCommandTestBas
     commandStringBuilder.addOption(CliStrings.CREATE_REGION__REGIONSHORTCUT, 
"REPLICATE");
     
commandStringBuilder.addOption(CliStrings.CREATE_REGION__PARTITION_RESOLVER, 
"a.b.c.d");
     CommandResult cmdResult = executeCommand(commandStringBuilder.toString());
-    System.out.println("Result --> " + cmdResult);
     assertEquals(Result.Status.ERROR, cmdResult.getStatus());
 
     // Assert that our region was not created

Reply via email to