http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
index 7ee42cf..f054621 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/NetstatFunction.java
@@ -47,20 +47,13 @@ import 
org.apache.geode.management.internal.cli.i18n.CliStrings;
  * @since GemFire 7.0
  */
 public class NetstatFunction implements Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
-
   private static final Logger logger = LogService.getLogger();
 
   private static final String NETSTAT_COMMAND = "netstat";
   private static final String LSOF_COMMAND = "lsof";
 
   @Override
-  public boolean hasResult() {
-    return true;
-  }
-
-  @Override
   public void execute(final FunctionContext context) {
     DistributedSystem ds = context.getCache().getDistributedSystem();
     if (ds == null || !ds.isConnected()) {
@@ -69,10 +62,10 @@ public class NetstatFunction implements Function, 
InternalEntity {
 
     String host = ds.getDistributedMember().getHost();
     NetstatFunctionArgument args = (NetstatFunctionArgument) 
context.getArguments();
-    boolean withlsof = args.isWithlsof();
+    boolean withLsof = args.isWithLsof();
     String lineSeparator = args.getLineSeparator();
 
-    String netstatOutput = executeCommand(lineSeparator, withlsof);
+    String netstatOutput = executeCommand(lineSeparator, withLsof);
 
     StringBuilder netstatInfo = new StringBuilder();
 
@@ -85,6 +78,21 @@ public class NetstatFunction implements Function, 
InternalEntity {
     context.getResultSender().lastResult(result);
   }
 
+  @Override
+  public boolean hasResult() {
+    return true;
+  }
+
+  @Override
+  public boolean optimizeForWrite() {
+    return false;
+  }
+
+  @Override
+  public boolean isHA() {
+    return false;
+  }
+
   private static void addMemberHostHeader(final StringBuilder netstatInfo, 
final String id,
       final String host, final String lineSeparator) {
 
@@ -92,7 +100,7 @@ public class NetstatFunction implements Function, 
InternalEntity {
 
     StringBuilder memberPlatFormInfo = new StringBuilder();
     
memberPlatFormInfo.append(CliStrings.format(CliStrings.NETSTAT__MSG__FOR_HOST_1_OS_2_MEMBER_0,
-        new Object[] {id, host, osInfo, lineSeparator}));
+        id, host, osInfo, lineSeparator));
 
     int nameIdLength = Math.max(Math.max(id.length(), host.length()), 
osInfo.length()) * 2;
 
@@ -127,25 +135,27 @@ public class NetstatFunction implements Function, 
InternalEntity {
     }
 
     ProcessBuilder processBuilder = new ProcessBuilder(cmdOptionsList);
+    Process netstat = null;
     try {
-      Process netstat = processBuilder.start();
-
+      netstat = processBuilder.start();
       InputStream is = netstat.getInputStream();
-      BufferedReader breader = new BufferedReader(new InputStreamReader(is));
+      BufferedReader bufferedReader = new BufferedReader(new 
InputStreamReader(is));
       String line;
 
-      while ((line = breader.readLine()) != null) {
+      while ((line = bufferedReader.readLine()) != null) {
         netstatInfo.append(line).append(lineSeparator);
       }
 
-      // TODO: move to finally-block
-      netstat.destroy();
-
     } catch (IOException e) {
       // TODO: change this to keep the full stack trace
       
netstatInfo.append(CliStrings.format(CliStrings.NETSTAT__MSG__COULD_NOT_EXECUTE_0_REASON_1,
-          new Object[] {NETSTAT_COMMAND, e.getMessage()}));
+          NETSTAT_COMMAND, e.getMessage()));
+
     } finally {
+      if (netstat != null) {
+        netstat.destroy();
+      }
+
       netstatInfo.append(lineSeparator); // additional new line
     }
   }
@@ -157,8 +167,9 @@ public class NetstatFunction implements Function, 
InternalEntity {
 
     if (isLinux() || isMacOSX() || isSolaris()) {
       ProcessBuilder procBuilder = new ProcessBuilder(LSOF_COMMAND);
+      Process lsof = null;
       try {
-        Process lsof = procBuilder.start();
+        lsof = procBuilder.start();
         InputStreamReader reader = new 
InputStreamReader(lsof.getInputStream());
         BufferedReader breader = new BufferedReader(reader);
         String line = "";
@@ -166,8 +177,6 @@ public class NetstatFunction implements Function, 
InternalEntity {
         while ((line = breader.readLine()) != null) {
           existingNetstatInfo.append(line).append(lineSeparator);
         }
-        // TODO: move this to finally-block
-        lsof.destroy();
 
       } catch (IOException e) {
         // TODO: change this to keep the full stack trace
@@ -175,15 +184,20 @@ public class NetstatFunction implements Function, 
InternalEntity {
         if (message.contains("error=2, No such file or directory")) {
           existingNetstatInfo
               
.append(CliStrings.format(CliStrings.NETSTAT__MSG__COULD_NOT_EXECUTE_0_REASON_1,
-                  new Object[] {LSOF_COMMAND, 
CliStrings.NETSTAT__MSG__LSOF_NOT_IN_PATH}));
+                  LSOF_COMMAND, CliStrings.NETSTAT__MSG__LSOF_NOT_IN_PATH));
         } else {
-          existingNetstatInfo
-              
.append(CliStrings.format(CliStrings.NETSTAT__MSG__COULD_NOT_EXECUTE_0_REASON_1,
-                  new Object[] {LSOF_COMMAND, e.getMessage()}));
+          existingNetstatInfo.append(CliStrings.format(
+              CliStrings.NETSTAT__MSG__COULD_NOT_EXECUTE_0_REASON_1, 
LSOF_COMMAND, e.getMessage()));
         }
+
       } finally {
+        if (lsof != null) {
+          lsof.destroy();
+        }
+
         existingNetstatInfo.append(lineSeparator); // additional new line
       }
+
     } else {
       
existingNetstatInfo.append(CliStrings.NETSTAT__MSG__NOT_AVAILABLE_FOR_WINDOWS)
           .append(lineSeparator);
@@ -202,44 +216,41 @@ public class NetstatFunction implements Function, 
InternalEntity {
     return netstatInfo.toString();
   }
 
-  @Override
-  public boolean optimizeForWrite() {
-    return false;
-  }
-
-  @Override
-  public boolean isHA() {
-    return false;
-  }
-
+  /**
+   * Java main, probably for manual testing?
+   */
   public static void main(final String[] args) {
     String netstat = executeCommand(GfshParser.LINE_SEPARATOR, true);
     System.out.println(netstat);
   }
 
+  /**
+   * Argument for NetstatFunction.
+   */
   public static class NetstatFunctionArgument implements Serializable {
-
     private static final long serialVersionUID = 1L;
 
     private final String lineSeparator;
-    private final boolean withlsof;
+    private final boolean withLsof;
 
-    public NetstatFunctionArgument(final String lineSeparator, final boolean 
withlsof) {
+    public NetstatFunctionArgument(final String lineSeparator, final boolean 
withLsof) {
       this.lineSeparator = lineSeparator;
-      this.withlsof = withlsof;
+      this.withLsof = withLsof;
     }
 
     public String getLineSeparator() {
       return lineSeparator;
     }
 
-    public boolean isWithlsof() {
-      return withlsof;
+    public boolean isWithLsof() {
+      return withLsof;
     }
   }
 
+  /**
+   * Result of executing NetstatFunction.
+   */
   public static class NetstatFunctionResult implements Serializable {
-
     private static final long serialVersionUID = 1L;
 
     private final String host;

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
index a914d07..df83a82 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RebalanceFunction.java
@@ -14,7 +14,6 @@
  */
 package org.apache.geode.management.internal.cli.functions;
 
-import java.util.Iterator;
 import java.util.Set;
 import java.util.concurrent.CancellationException;
 
@@ -32,13 +31,11 @@ import org.apache.geode.internal.InternalEntity;
 import org.apache.geode.internal.logging.LogService;
 
 public class RebalanceFunction implements Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
-
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     Cache cache = context.getCache();
     ResourceManager manager = cache.getResourceManager();
     Object[] args = (Object[]) context.getArguments();
@@ -60,26 +57,29 @@ public class RebalanceFunction implements Function, 
InternalEntity {
     try {
       results = op.getResults();
       logger.info("Starting RebalanceFunction got results = {}", results);
-      StringBuilder str1 = new StringBuilder();
-      str1.append(results.getTotalBucketCreateBytes() + "," + 
results.getTotalBucketCreateTime()
-          + "," + results.getTotalBucketCreatesCompleted() + ","
-          + results.getTotalBucketTransferBytes() + "," + 
results.getTotalBucketTransferTime() + ","
-          + results.getTotalBucketTransfersCompleted() + "," + 
results.getTotalPrimaryTransferTime()
-          + "," + results.getTotalPrimaryTransfersCompleted() + "," + 
results.getTotalTime() + ",");
+      StringBuilder sb = new StringBuilder();
+      sb.append(results.getTotalBucketCreateBytes()).append(",")
+          .append(results.getTotalBucketCreateTime()).append(",")
+          .append(results.getTotalBucketCreatesCompleted()).append(",")
+          .append(results.getTotalBucketTransferBytes()).append(",")
+          .append(results.getTotalBucketTransferTime()).append(",")
+          .append(results.getTotalBucketTransfersCompleted()).append(",")
+          .append(results.getTotalPrimaryTransferTime()).append(",")
+          .append(results.getTotalPrimaryTransfersCompleted()).append(",")
+          .append(results.getTotalTime()).append(",");
 
       Set<PartitionRebalanceInfo> regns1 = 
results.getPartitionRebalanceDetails();
-      Iterator it = regns1.iterator();
-      while (it.hasNext()) {
-        PartitionRebalanceInfo rgn = (PartitionRebalanceInfo) it.next();
-        str1.append(rgn.getRegionPath() + ",");
+      for (PartitionRebalanceInfo rgn : regns1) {
+        sb.append(rgn.getRegionPath()).append(",");
       }
 
-      logger.info("Starting RebalanceFunction str1={}", str1);
-      context.getResultSender().lastResult(str1.toString());
+      logger.info("Starting RebalanceFunction with {}", sb);
+      context.getResultSender().lastResult(sb.toString());
 
     } catch (CancellationException e) {
-      logger.info("Starting RebalanceFunction CancellationException: ", 
e.getMessage(), e);
+      logger.info("Starting RebalanceFunction CancellationException: {}", 
e.getMessage(), e);
       context.getResultSender().lastResult("CancellationException1 " + 
e.getMessage());
+
     } catch (InterruptedException e) {
       logger.info("Starting RebalanceFunction InterruptedException: {}", 
e.getMessage(), e);
       context.getResultSender().lastResult("InterruptedException2 " + 
e.getMessage());

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
index 05228af..ea1d27d 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionAlterFunction.java
@@ -45,19 +45,12 @@ import 
org.apache.geode.management.internal.configuration.domain.XmlEntity;
  * 
  * @since GemFire 8.0
  */
-public class RegionAlterFunction implements InternalEntity, Function {
-
+public class RegionAlterFunction implements Function, InternalEntity {
   private static final long serialVersionUID = -4846425364943216425L;
-
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public boolean isHA() {
-    return false;
-  }
-
-  @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     ResultSender<Object> resultSender = context.getResultSender();
 
     Cache cache = context.getCache();
@@ -70,16 +63,12 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
       XmlEntity xmlEntity = new XmlEntity(CacheXml.REGION, "name", 
alteredRegion.getName());
       resultSender.lastResult(new CliFunctionResult(memberNameOrId, xmlEntity,
           
CliStrings.format(CliStrings.ALTER_REGION__MSG__REGION_0_ALTERED_ON_1,
-              new Object[] {alteredRegion.getFullPath(), memberNameOrId})));
+              alteredRegion.getFullPath(), memberNameOrId)));
 
-    } catch (IllegalStateException e) {
+    } catch (IllegalArgumentException | IllegalStateException e) {
       logger.error(e.getMessage(), e);
-
       resultSender.lastResult(new CliFunctionResult(memberNameOrId, false, 
e.getMessage()));
-    } catch (IllegalArgumentException e) {
-      logger.error(e.getMessage(), e);
 
-      resultSender.lastResult(new CliFunctionResult(memberNameOrId, false, 
e.getMessage()));
     } catch (VirtualMachineError e) {
       SystemFailure.initiateFailure(e);
       throw e;
@@ -96,8 +85,14 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
     }
   }
 
-  private <K, V> Region<?, ?> alterRegion(Cache cache, RegionFunctionArgs 
regionAlterArgs) {
-    final String regionPathString = regionAlterArgs.getRegionPath();
+  @Override
+  public boolean isHA() {
+    return false;
+  }
+
+  private <K, V> Region<?, ?> alterRegion(final Cache cache,
+      final RegionFunctionArgs regionAlterArgs) {
+    String regionPathString = regionAlterArgs.getRegionPath();
 
     RegionPath regionPath = new RegionPath(regionPathString);
     AbstractRegion region = (AbstractRegion) cache.getRegion(regionPathString);
@@ -123,7 +118,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
     }
 
     // Alter expiration attributes
-    final RegionFunctionArgs.ExpirationAttrs newEntryExpirationIdleTime =
+    RegionFunctionArgs.ExpirationAttrs newEntryExpirationIdleTime =
         regionAlterArgs.getEntryExpirationIdleTime();
     if (newEntryExpirationIdleTime != null) {
       mutator.setEntryIdleTimeout(
@@ -133,7 +128,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
       }
     }
 
-    final RegionFunctionArgs.ExpirationAttrs newEntryExpirationTTL =
+    RegionFunctionArgs.ExpirationAttrs newEntryExpirationTTL =
         regionAlterArgs.getEntryExpirationTTL();
     if (newEntryExpirationTTL != null) {
       mutator.setEntryTimeToLive(
@@ -143,7 +138,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
       }
     }
 
-    final RegionFunctionArgs.ExpirationAttrs newRegionExpirationIdleTime =
+    RegionFunctionArgs.ExpirationAttrs newRegionExpirationIdleTime =
         regionAlterArgs.getRegionExpirationIdleTime();
     if (newRegionExpirationIdleTime != null) {
       mutator.setRegionIdleTimeout(
@@ -153,7 +148,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
       }
     }
 
-    final RegionFunctionArgs.ExpirationAttrs newRegionExpirationTTL =
+    RegionFunctionArgs.ExpirationAttrs newRegionExpirationTTL =
         regionAlterArgs.getRegionExpirationTTL();
     if (newRegionExpirationTTL != null) {
       mutator.setRegionTimeToLive(
@@ -164,7 +159,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
     }
 
     // Alter Gateway Sender Ids
-    final Set<String> newGatewaySenderIds = 
regionAlterArgs.getGatewaySenderIds();
+    Set<String> newGatewaySenderIds = regionAlterArgs.getGatewaySenderIds();
     if (newGatewaySenderIds != null) {
 
       // Remove old gateway sender ids that aren't in the new list
@@ -190,7 +185,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
     }
 
     // Alter Async Queue Ids
-    final Set<String> newAsyncEventQueueIds = 
regionAlterArgs.getAsyncEventQueueIds();
+    Set<String> newAsyncEventQueueIds = 
regionAlterArgs.getAsyncEventQueueIds();
     if (newAsyncEventQueueIds != null) {
 
       // Remove old async event queue ids that aren't in the new list
@@ -216,7 +211,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
     }
 
     // Alter Cache Listeners
-    final Set<String> newCacheListenerNames = 
regionAlterArgs.getCacheListeners();
+    Set<String> newCacheListenerNames = regionAlterArgs.getCacheListeners();
     if (newCacheListenerNames != null) {
 
       // Remove old cache listeners that aren't in the new list
@@ -232,6 +227,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
         if (newCacheListenerName.isEmpty()) {
           continue;
         }
+
         boolean nameFound = false;
         for (CacheListener oldCacheListener : oldCacheListeners) {
           if 
(oldCacheListener.getClass().getName().equals(newCacheListenerName)) {
@@ -253,7 +249,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
       }
     }
 
-    final String cacheLoader = regionAlterArgs.getCacheLoader();
+    String cacheLoader = regionAlterArgs.getCacheLoader();
     if (cacheLoader != null) {
       if (cacheLoader.isEmpty()) {
         mutator.setCacheLoader(null);
@@ -268,7 +264,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
       }
     }
 
-    final String cacheWriter = regionAlterArgs.getCacheWriter();
+    String cacheWriter = regionAlterArgs.getCacheWriter();
     if (cacheWriter != null) {
       if (cacheWriter.isEmpty()) {
         mutator.setCacheWriter(null);
@@ -293,12 +289,12 @@ public class RegionAlterFunction implements 
InternalEntity, Function {
    * @param newExpirationAttrs Attributes supplied by the command
    * @param oldExpirationAttributes Attributes currently applied to the Region.
    * 
-   * @return A new pair of expiration attributes taken from the command if it 
was given or the
-   *         current value from the Region if it was not.
+   * @return New expiration attributes taken from the command if it was given 
or the current value
+   *         from the Region if it was not.
    */
   private ExpirationAttributes parseExpirationAttributes(
-      RegionFunctionArgs.ExpirationAttrs newExpirationAttrs,
-      ExpirationAttributes oldExpirationAttributes) {
+      final RegionFunctionArgs.ExpirationAttrs newExpirationAttrs,
+      final ExpirationAttributes oldExpirationAttributes) {
 
     ExpirationAction action = oldExpirationAttributes.getAction();
     int timeout = oldExpirationAttributes.getTimeout();
@@ -306,6 +302,7 @@ public class RegionAlterFunction implements InternalEntity, 
Function {
     if (newExpirationAttrs.getTime() != null) {
       timeout = newExpirationAttrs.getTime();
     }
+
     if (newExpirationAttrs.getAction() != null) {
       action = newExpirationAttrs.getAction();
     }
@@ -313,19 +310,22 @@ public class RegionAlterFunction implements 
InternalEntity, Function {
     return new ExpirationAttributes(timeout, action);
   }
 
-  private static <K> Class<K> forName(String classToLoadName, String 
neededFor) {
+  private static <K> Class<K> forName(final String classToLoadName, final 
String neededFor) {
     Class<K> loadedClass = null;
+
     try {
       // Set Constraints
       ClassPathLoader classPathLoader = ClassPathLoader.getLatest();
       if (classToLoadName != null && !classToLoadName.isEmpty()) {
         loadedClass = (Class<K>) classPathLoader.forName(classToLoadName);
       }
+
     } catch (ClassNotFoundException e) {
       throw new RuntimeException(
           
CliStrings.format(CliStrings.ALTER_REGION__MSG__COULD_NOT_FIND_CLASS_0_SPECIFIED_FOR_1,
               classToLoadName, neededFor),
           e);
+
     } catch (ClassCastException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.ALTER_REGION__MSG__CLASS_SPECIFIED_FOR_0_SPECIFIED_FOR_1_IS_NOT_OF_EXPECTED_TYPE,
@@ -335,14 +335,17 @@ public class RegionAlterFunction implements 
InternalEntity, Function {
     return loadedClass;
   }
 
-  private static <K> K newInstance(Class<K> klass, String neededFor) {
+  private static <K> K newInstance(final Class<K> klass, final String 
neededFor) {
     K instance;
+
     try {
       instance = klass.newInstance();
+
     } catch (InstantiationException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.ALTER_REGION__MSG__COULD_NOT_INSTANTIATE_CLASS_0_SPECIFIED_FOR_1, 
klass,
           neededFor), e);
+
     } catch (IllegalAccessException e) {
       throw new RuntimeException(
           
CliStrings.format(CliStrings.ALTER_REGION__MSG__COULD_NOT_ACCESS_CLASS_0_SPECIFIED_FOR_1,

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/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 a976157..ea4f288 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
@@ -51,19 +51,12 @@ import 
org.apache.geode.management.internal.configuration.domain.XmlEntity;
 /**
  * @since GemFire 7.0
  */
-public class RegionCreateFunction implements InternalEntity, Function {
-
+public class RegionCreateFunction implements Function, InternalEntity {
   private static final long serialVersionUID = 8746830191680509335L;
-
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public boolean isHA() {
-    return false;
-  }
-
-  @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     ResultSender<Object> resultSender = context.getResultSender();
 
     Cache cache = context.getCache();
@@ -88,7 +81,7 @@ public class RegionCreateFunction implements InternalEntity, 
Function {
       XmlEntity xmlEntity = new XmlEntity(CacheXml.REGION, "name", 
createdRegion.getName());
       resultSender.lastResult(new CliFunctionResult(memberNameOrId, xmlEntity,
           
CliStrings.format(CliStrings.CREATE_REGION__MSG__REGION_0_CREATED_ON_1,
-              new Object[] {createdRegion.getFullPath(), memberNameOrId})));
+              createdRegion.getFullPath(), memberNameOrId)));
 
     } catch (IllegalStateException e) {
       String exceptionMsg = e.getMessage();
@@ -100,15 +93,16 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
                 
String.valueOf(CreateAlterDestroyRegionCommands.PERSISTENT_OVERFLOW_SHORTCUTS)});
       }
       resultSender.lastResult(handleException(memberNameOrId, exceptionMsg, 
null/* do not log */));
-    } catch (IllegalArgumentException e) {
+
+    } catch (CreateSubregionException | IllegalArgumentException e) {
       resultSender.lastResult(handleException(memberNameOrId, e.getMessage(), 
e));
+
     } catch (RegionExistsException e) {
       String exceptionMsg =
           
CliStrings.format(CliStrings.CREATE_REGION__MSG__REGION_PATH_0_ALREADY_EXISTS_ON_1,
               regionCreateArgs.getRegionPath(), memberNameOrId);
       resultSender.lastResult(handleException(memberNameOrId, exceptionMsg, 
e));
-    } catch (CreateSubregionException e) {
-      resultSender.lastResult(handleException(memberNameOrId, e.getMessage(), 
e));
+
     } catch (Exception e) {
       String exceptionMsg = e.getMessage();
       if (exceptionMsg == null) {
@@ -118,11 +112,17 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
   }
 
+  @Override
+  public boolean isHA() {
+    return false;
+  }
+
   private CliFunctionResult handleException(final String memberNameOrId, final 
String exceptionMsg,
       final Exception e) {
     if (e != null && logger.isDebugEnabled()) {
       logger.debug(e.getMessage(), e);
     }
+
     if (exceptionMsg != null) {
       return new CliFunctionResult(memberNameOrId, false, exceptionMsg);
     }
@@ -130,15 +130,17 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     return new CliFunctionResult(memberNameOrId);
   }
 
-  public static <K, V> Region<?, ?> createRegion(Cache cache, 
RegionFunctionArgs regionCreateArgs) {
-    final String regionPath = regionCreateArgs.getRegionPath();
-    final RegionShortcut regionShortcut = regionCreateArgs.getRegionShortcut();
-    final String useAttributesFrom = regionCreateArgs.getUseAttributesFrom();
+  public static <K, V> Region<?, ?> createRegion(final Cache cache,
+      final RegionFunctionArgs regionCreateArgs) {
+    String regionPath = regionCreateArgs.getRegionPath();
+    RegionShortcut regionShortcut = regionCreateArgs.getRegionShortcut();
+    String useAttributesFrom = regionCreateArgs.getUseAttributesFrom();
 
     // If a region path indicates a sub-region, check whether the parent 
region exists
     RegionPath regionPathData = new RegionPath(regionPath);
     String parentRegionPath = regionPathData.getParent();
     Region<?, ?> parentRegion = null;
+
     if (parentRegionPath != null && 
!Region.SEPARATOR.equals(parentRegionPath)) {
       parentRegion = cache.getRegion(parentRegionPath);
       if (parentRegion == null) {
@@ -161,9 +163,10 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
           
CliStrings.CREATE_REGION__MSG__ONE_OF_REGIONSHORTCUT_AND_USEATTRIBUTESFROM_IS_REQUIRED);
     }
 
-    boolean isPartitioned = false;
-    RegionFactory<K, V> factory = null;
-    RegionAttributes<K, V> regionAttributes = null;
+    boolean isPartitioned;
+    RegionFactory<K, V> factory;
+    RegionAttributes<K, V> regionAttributes;
+
     if (regionShortcut != null) {
       regionAttributes = cache.getRegionAttributes(regionShortcut.toString());
       if (logger.isDebugEnabled()) {
@@ -180,6 +183,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
             
CliStrings.CREATE_REGION__MSG__COULD_NOT_LOAD_REGION_ATTRIBUTES_FOR_SHORTCUT_0,
             regionShortcut));
       }
+
     } else {
       if (logger.isDebugEnabled()) {
         logger.debug("Using Manager's region attributes for {}", regionPath);
@@ -189,8 +193,8 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
         logger.debug("Using Attributes : {}", regionAttributes);
       }
     }
-    isPartitioned = regionAttributes.getPartitionAttributes() != null;
 
+    isPartitioned = regionAttributes.getPartitionAttributes() != null;
     factory = cache.createRegionFactory(regionAttributes);
 
     if (!isPartitioned && regionCreateArgs.hasPartitionAttributes()) {
@@ -212,8 +216,9 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
 
     // Set Constraints
-    final String keyConstraint = regionCreateArgs.getKeyConstraint();
-    final String valueConstraint = regionCreateArgs.getValueConstraint();
+    String keyConstraint = regionCreateArgs.getKeyConstraint();
+    String valueConstraint = regionCreateArgs.getValueConstraint();
+
     if (keyConstraint != null && !keyConstraint.isEmpty()) {
       Class<K> keyConstraintClass =
           CliUtil.forName(keyConstraint, 
CliStrings.CREATE_REGION__KEYCONSTRAINT);
@@ -227,32 +232,36 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
 
     // Expiration attributes
-    final RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime =
+    RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime =
         regionCreateArgs.getEntryExpirationIdleTime();
     if (entryExpirationIdleTime != null) {
       
factory.setEntryIdleTimeout(entryExpirationIdleTime.convertToExpirationAttributes());
     }
-    final RegionFunctionArgs.ExpirationAttrs entryExpirationTTL =
+
+    RegionFunctionArgs.ExpirationAttrs entryExpirationTTL =
         regionCreateArgs.getEntryExpirationTTL();
     if (entryExpirationTTL != null) {
       
factory.setEntryTimeToLive(entryExpirationTTL.convertToExpirationAttributes());
     }
-    final RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime =
+
+    RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime =
         regionCreateArgs.getRegionExpirationIdleTime();
     if (regionExpirationIdleTime != null) {
       
factory.setEntryIdleTimeout(regionExpirationIdleTime.convertToExpirationAttributes());
     }
-    final RegionFunctionArgs.ExpirationAttrs regionExpirationTTL =
+
+    RegionFunctionArgs.ExpirationAttrs regionExpirationTTL =
         regionCreateArgs.getRegionExpirationTTL();
     if (regionExpirationTTL != null) {
       
factory.setEntryTimeToLive(regionExpirationTTL.convertToExpirationAttributes());
     }
 
     // Associate a Disk Store
-    final String diskStore = regionCreateArgs.getDiskStore();
+    String diskStore = regionCreateArgs.getDiskStore();
     if (diskStore != null && !diskStore.isEmpty()) {
       factory.setDiskStoreName(diskStore);
     }
+
     if (regionCreateArgs.isSetDiskSynchronous()) {
       factory.setDiskSynchronous(regionCreateArgs.isDiskSynchronous());
     }
@@ -270,12 +279,13 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     if (regionCreateArgs.isSetEnableAsyncConflation()) {
       
factory.setEnableAsyncConflation(regionCreateArgs.isEnableAsyncConflation());
     }
+
     if (regionCreateArgs.isSetEnableSubscriptionConflation()) {
       
factory.setEnableSubscriptionConflation(regionCreateArgs.isEnableSubscriptionConflation());
     }
 
     // Gateway Sender Ids
-    final Set<String> gatewaySenderIds = 
regionCreateArgs.getGatewaySenderIds();
+    Set<String> gatewaySenderIds = regionCreateArgs.getGatewaySenderIds();
     if (gatewaySenderIds != null && !gatewaySenderIds.isEmpty()) {
       for (String gatewaySenderId : gatewaySenderIds) {
         factory.addGatewaySenderId(gatewaySenderId);
@@ -283,7 +293,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
 
     // Async Queue Ids
-    final Set<String> asyncEventQueueIds = 
regionCreateArgs.getAsyncEventQueueIds();
+    Set<String> asyncEventQueueIds = regionCreateArgs.getAsyncEventQueueIds();
     if (asyncEventQueueIds != null && !asyncEventQueueIds.isEmpty()) {
       for (String asyncEventQueueId : asyncEventQueueIds) {
         factory.addAsyncEventQueueId(asyncEventQueueId);
@@ -294,6 +304,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     if (regionCreateArgs.isSetConcurrencyChecksEnabled()) {
       
factory.setConcurrencyChecksEnabled(regionCreateArgs.isConcurrencyChecksEnabled());
     }
+
     if (regionCreateArgs.isSetConcurrencyLevel()) {
       factory.setConcurrencyLevel(regionCreateArgs.getConcurrencyLevel());
     }
@@ -309,7 +320,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
 
     // Set plugins
-    final Set<String> cacheListeners = regionCreateArgs.getCacheListeners();
+    Set<String> cacheListeners = regionCreateArgs.getCacheListeners();
     if (cacheListeners != null && !cacheListeners.isEmpty()) {
       for (String cacheListener : cacheListeners) {
         Class<CacheListener<K, V>> cacheListenerKlass =
@@ -327,7 +338,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
           CliUtil.newInstance(compressorKlass, 
CliStrings.CREATE_REGION__COMPRESSOR));
     }
 
-    final String cacheLoader = regionCreateArgs.getCacheLoader();
+    String cacheLoader = regionCreateArgs.getCacheLoader();
     if (cacheLoader != null) {
       Class<CacheLoader<K, V>> cacheLoaderKlass =
           CliUtil.forName(cacheLoader, CliStrings.CREATE_REGION__CACHELOADER);
@@ -335,7 +346,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
           CliUtil.newInstance(cacheLoaderKlass, 
CliStrings.CREATE_REGION__CACHELOADER));
     }
 
-    final String cacheWriter = regionCreateArgs.getCacheWriter();
+    String cacheWriter = regionCreateArgs.getCacheWriter();
     if (cacheWriter != null) {
       Class<CacheWriter<K, V>> cacheWriterKlass =
           CliUtil.forName(cacheWriter, CliStrings.CREATE_REGION__CACHEWRITER);
@@ -344,8 +355,7 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
 
     String regionName = regionPathData.getName();
-
-    Region<K, V> createdRegion = null;
+    Region<K, V> createdRegion;
     if (parentRegion != null) {
       createdRegion = factory.createSubregion(parentRegion, regionName);
     } else {
@@ -355,12 +365,11 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     return createdRegion;
   }
 
-  private static <K, V> PartitionAttributes<K, V> 
extractPartitionAttributes(Cache cache,
-      RegionAttributes<K, V> regionAttributes, RegionFunctionArgs 
regionCreateArgs) {
+  private static <K, V> PartitionAttributes<K, V> 
extractPartitionAttributes(final Cache cache,
+      final RegionAttributes<K, V> regionAttributes, final RegionFunctionArgs 
regionCreateArgs) {
     RegionFunctionArgs.PartitionArgs partitionArgs = 
regionCreateArgs.getPartitionArgs();
 
-    PartitionAttributesFactory<K, V> prAttrFactory = null;
-
+    PartitionAttributesFactory<K, V> prAttrFactory;
     PartitionAttributes<K, V> partitionAttributes = 
regionAttributes.getPartitionAttributes();
     if (partitionAttributes != null) {
       prAttrFactory = new PartitionAttributesFactory<K, 
V>(partitionAttributes);
@@ -382,21 +391,27 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
       }
       prAttrFactory.setColocatedWith(colocatedWith);
     }
+
     if (partitionArgs.isSetPRLocalMaxMemory()) {
       prAttrFactory.setLocalMaxMemory(partitionArgs.getPrLocalMaxMemory());
     }
+
     if (partitionArgs.isSetPRTotalMaxMemory()) {
       prAttrFactory.setTotalMaxMemory(partitionArgs.getPrTotalMaxMemory());
     }
+
     if (partitionArgs.isSetPRTotalNumBuckets()) {
       prAttrFactory.setTotalNumBuckets(partitionArgs.getPrTotalNumBuckets());
     }
+
     if (partitionArgs.isSetPRRedundantCopies()) {
       prAttrFactory.setRedundantCopies(partitionArgs.getPrRedundantCopies());
     }
+
     if (partitionArgs.isSetPRRecoveryDelay()) {
       prAttrFactory.setRecoveryDelay(partitionArgs.getPrRecoveryDelay());
     }
+
     if (partitionArgs.isSetPRStartupRecoveryDelay()) {
       
prAttrFactory.setStartupRecoveryDelay(partitionArgs.getPrStartupRecoveryDelay());
     }
@@ -408,21 +423,24 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
           .setPartitionResolver((PartitionResolver<K, V>) 
newInstance(partitionResolverClass,
               CliStrings.CREATE_REGION__PARTITION_RESOLVER));
     }
+
     return prAttrFactory.create();
   }
 
-  private static Class<PartitionResolver> forName(String className, String 
neededFor) {
+  private static Class<PartitionResolver> forName(final String className, 
final String neededFor) {
     if (StringUtils.isBlank(className)) {
-      throw new IllegalArgumentException(
-          
CliStrings.format(CliStrings.CREATE_REGION__MSG__INVALID_PARTITION_RESOLVER,
-              new Object[] {className, neededFor}));
+      throw new IllegalArgumentException(CliStrings
+          .format(CliStrings.CREATE_REGION__MSG__INVALID_PARTITION_RESOLVER, 
className, neededFor));
     }
+
     try {
       return (Class<PartitionResolver>) 
ClassPathLoader.getLatest().forName(className);
+
     } catch (ClassNotFoundException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.CREATE_REGION_PARTITION_RESOLVER__MSG__COULD_NOT_FIND_CLASS_0_SPECIFIED_FOR_1,
           className, neededFor), e);
+
     } catch (ClassCastException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.CREATE_REGION__MSG__PARTITION_RESOLVER__CLASS_0_SPECIFIED_FOR_1_IS_NOT_OF_EXPECTED_TYPE,
@@ -430,13 +448,16 @@ public class RegionCreateFunction implements 
InternalEntity, Function {
     }
   }
 
-  private static PartitionResolver newInstance(Class<PartitionResolver> klass, 
String neededFor) {
+  private static PartitionResolver newInstance(final Class<PartitionResolver> 
klass,
+      final String neededFor) {
     try {
       return klass.newInstance();
+
     } catch (InstantiationException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.CREATE_REGION__MSG__PARTITION_RESOLVER__COULD_NOT_INSTANTIATE_CLASS_0_SPECIFIED_FOR_1,
           klass, neededFor), e);
+
     } catch (IllegalAccessException e) {
       throw new RuntimeException(CliStrings.format(
           
CliStrings.CREATE_REGION__MSG__PARTITION_RESOLVER__COULD_NOT_ACCESS_CLASS_0_SPECIFIED_FOR_1,

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
index 0b69000..3a2becd 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunction.java
@@ -27,17 +27,12 @@ import 
org.apache.geode.management.internal.configuration.domain.XmlEntity;
  * @since GemFire 7.0
  */
 public class RegionDestroyFunction implements Function, InternalEntity {
-
   private static final long serialVersionUID = 9172773671865750685L;
 
   @Override
-  public boolean hasResult() {
-    return true;
-  }
-
-  @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     String regionPath = null;
+
     try {
       String functionId = context.getFunctionId();
       if (getId().equals(functionId)) {
@@ -53,6 +48,7 @@ public class RegionDestroyFunction implements Function, 
InternalEntity {
           context.getResultSender().lastResult(new CliFunctionResult("", 
xmlEntity, regionPath));
         }
       }
+
       context.getResultSender().lastResult(new CliFunctionResult("", false, 
"FAILURE"));
 
     } catch (IllegalStateException e) {
@@ -63,12 +59,17 @@ public class RegionDestroyFunction implements Function, 
InternalEntity {
           .lastResult(new CliFunctionResult("",
               new RuntimeException(CliStrings.format(
                   
CliStrings.DESTROY_REGION__MSG__ERROR_WHILE_DESTROYING_REGION_0_REASON_1,
-                  new Object[] {regionPath, ex.getMessage()})),
+                  regionPath, ex.getMessage())),
               null));
     }
   }
 
   @Override
+  public boolean hasResult() {
+    return true;
+  }
+
+  @Override
   public boolean optimizeForWrite() {
     return false;
   }

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
index 3d0ba12..96c1cf8 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgs.java
@@ -36,7 +36,6 @@ import 
org.apache.geode.management.internal.cli.i18n.CliStrings;
  * @since GemFire 7.0
  */
 public class RegionFunctionArgs implements Serializable {
-
   private static final long serialVersionUID = -5158224572470173267L;
 
   private final String regionPath;
@@ -45,55 +44,129 @@ public class RegionFunctionArgs implements Serializable {
   private final Boolean skipIfExists;
   private final String keyConstraint;
   private final String valueConstraint;
-  private Boolean statisticsEnabled;
+  private final Boolean statisticsEnabled;
   private final boolean isSetStatisticsEnabled;
   private final RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime;
   private final RegionFunctionArgs.ExpirationAttrs entryExpirationTTL;
   private final RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime;
   private final RegionFunctionArgs.ExpirationAttrs regionExpirationTTL;
   private final String diskStore;
-  private Boolean diskSynchronous;
+  private final Boolean diskSynchronous;
   private final boolean isSetDiskSynchronous;
-  private Boolean enableAsyncConflation;
+  private final Boolean enableAsyncConflation;
   private final boolean isSetEnableAsyncConflation;
-  private Boolean enableSubscriptionConflation;
+  private final Boolean enableSubscriptionConflation;
   private final boolean isSetEnableSubscriptionConflation;
   private final Set<String> cacheListeners;
   private final String cacheLoader;
   private final String cacheWriter;
   private final Set<String> asyncEventQueueIds;
   private final Set<String> gatewaySenderIds;
-  private Boolean concurrencyChecksEnabled;
+  private final Boolean concurrencyChecksEnabled;
   private final boolean isSetConcurrencyChecksEnabled;
-  private Boolean cloningEnabled;
+  private final Boolean cloningEnabled;
   private final boolean isSetCloningEnabled;
-  private Boolean mcastEnabled;
+  private final Boolean mcastEnabled;
   private final boolean isSetMcastEnabled;
-  private Integer concurrencyLevel;
+  private final Integer concurrencyLevel;
   private final boolean isSetConcurrencyLevel;
   private final PartitionArgs partitionArgs;
   private final Integer evictionMax;
-  private String compressor;
+  private final String compressor;
   private final boolean isSetCompressor;
-  private Boolean offHeap;
+  private final Boolean offHeap;
   private final boolean isSetOffHeap;
-  private RegionAttributes<?, ?> regionAttributes;
   private final boolean isPartitionResolver;
-  private String partitionResolver;
-
-  public RegionFunctionArgs(String regionPath, RegionShortcut regionShortcut,
-      String useAttributesFrom, boolean skipIfExists, String keyConstraint, 
String valueConstraint,
-      Boolean statisticsEnabled, RegionFunctionArgs.ExpirationAttrs 
entryExpirationIdleTime,
-      RegionFunctionArgs.ExpirationAttrs entryExpirationTTL,
-      RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime,
-      RegionFunctionArgs.ExpirationAttrs regionExpirationTTL, String diskStore,
-      Boolean diskSynchronous, Boolean enableAsyncConflation, Boolean 
enableSubscriptionConflation,
-      String[] cacheListeners, String cacheLoader, String cacheWriter, 
String[] asyncEventQueueIds,
-      String[] gatewaySenderIds, Boolean concurrencyChecksEnabled, Boolean 
cloningEnabled,
-      Integer concurrencyLevel, String prColocatedWith, Integer 
prLocalMaxMemory,
-      Long prRecoveryDelay, Integer prRedundantCopies, Long 
prStartupRecoveryDelay,
-      Long prTotalMaxMemory, Integer prTotalNumBuckets, Integer evictionMax, 
String compressor,
-      Boolean offHeap, Boolean mcastEnabled, final String partitionResolver) {
+  private final String partitionResolver;
+  private final RegionAttributes<?, ?> regionAttributes;
+
+  /**
+   * Constructor with RegionShortcut instead of RegionAttributes.
+   *
+   * <p>
+   * NOTE: evictionMax and compressor used to be hardcoded to null but are now 
passed in.
+   * RegionAttributes is still null.
+   */
+  public RegionFunctionArgs(final String regionPath, final RegionShortcut 
regionShortcut,
+      final String useAttributesFrom, final boolean skipIfExists, final String 
keyConstraint,
+      final String valueConstraint, final Boolean statisticsEnabled,
+      final RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime,
+      final RegionFunctionArgs.ExpirationAttrs entryExpirationTTL,
+      final RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime,
+      final RegionFunctionArgs.ExpirationAttrs regionExpirationTTL, final 
String diskStore,
+      final Boolean diskSynchronous, final Boolean enableAsyncConflation,
+      final Boolean enableSubscriptionConflation, final String[] 
cacheListeners,
+      final String cacheLoader, final String cacheWriter, final String[] 
asyncEventQueueIds,
+      final String[] gatewaySenderIds, final Boolean concurrencyChecksEnabled,
+      final Boolean cloningEnabled, final Integer concurrencyLevel, final 
String prColocatedWith,
+      final Integer prLocalMaxMemory, final Long prRecoveryDelay, final 
Integer prRedundantCopies,
+      final Long prStartupRecoveryDelay, final Long prTotalMaxMemory,
+      final Integer prTotalNumBuckets, final Integer evictionMax, final String 
compressor,
+      final Boolean offHeap, final Boolean mcastEnabled, final String 
partitionResolver) {
+
+    this(regionPath, regionShortcut, useAttributesFrom, skipIfExists, 
keyConstraint,
+        valueConstraint, statisticsEnabled, entryExpirationIdleTime, 
entryExpirationTTL,
+        regionExpirationIdleTime, regionExpirationTTL, diskStore, 
diskSynchronous,
+        enableAsyncConflation, enableSubscriptionConflation, cacheListeners, 
cacheLoader,
+        cacheWriter, asyncEventQueueIds, gatewaySenderIds, 
concurrencyChecksEnabled, cloningEnabled,
+        concurrencyLevel, prColocatedWith, prLocalMaxMemory, prRecoveryDelay, 
prRedundantCopies,
+        prStartupRecoveryDelay, prTotalMaxMemory, prTotalNumBuckets, 
evictionMax, compressor,
+        offHeap, mcastEnabled, partitionResolver, null);
+  }
+
+  /**
+   * Constructor with RegionAttributes instead of RegionShortcut.
+   *
+   * <p>
+   * Note: regionShortcut, evictionMax and compressor are hardcoded to null.
+   */
+  public RegionFunctionArgs(final String regionPath, final String 
useAttributesFrom,
+      final boolean skipIfExists, final String keyConstraint, final String 
valueConstraint,
+      final Boolean statisticsEnabled,
+      final RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime,
+      final RegionFunctionArgs.ExpirationAttrs entryExpirationTTL,
+      final RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime,
+      final RegionFunctionArgs.ExpirationAttrs regionExpirationTTL, final 
String diskStore,
+      final Boolean diskSynchronous, final Boolean enableAsyncConflation,
+      final Boolean enableSubscriptionConflation, final String[] 
cacheListeners,
+      final String cacheLoader, final String cacheWriter, final String[] 
asyncEventQueueIds,
+      final String[] gatewaySenderIds, final Boolean concurrencyChecksEnabled,
+      final Boolean cloningEnabled, final Integer concurrencyLevel, final 
String prColocatedWith,
+      final Integer prLocalMaxMemory, final Long prRecoveryDelay, final 
Integer prRedundantCopies,
+      final Long prStartupRecoveryDelay, final Long prTotalMaxMemory,
+      final Integer prTotalNumBuckets, final Boolean offHeap, final Boolean 
mcastEnabled,
+      final String partitionResolver, final RegionAttributes<?, ?> 
regionAttributes) {
+
+    this(regionPath, null, useAttributesFrom, skipIfExists, keyConstraint, 
valueConstraint,
+        statisticsEnabled, entryExpirationIdleTime, entryExpirationTTL, 
regionExpirationIdleTime,
+        regionExpirationTTL, diskStore, diskSynchronous, enableAsyncConflation,
+        enableSubscriptionConflation, cacheListeners, cacheLoader, 
cacheWriter, asyncEventQueueIds,
+        gatewaySenderIds, concurrencyChecksEnabled, cloningEnabled, 
concurrencyLevel,
+        prColocatedWith, prLocalMaxMemory, prRecoveryDelay, prRedundantCopies,
+        prStartupRecoveryDelay, prTotalMaxMemory, prTotalNumBuckets, null, 
null, offHeap,
+        mcastEnabled, partitionResolver, regionAttributes);
+  }
+
+  /**
+   * Constructor with everything.
+   */
+  RegionFunctionArgs(final String regionPath, final RegionShortcut 
regionShortcut,
+      final String useAttributesFrom, final boolean skipIfExists, final String 
keyConstraint,
+      final String valueConstraint, final Boolean statisticsEnabled,
+      final RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime,
+      final RegionFunctionArgs.ExpirationAttrs entryExpirationTTL,
+      final RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime,
+      final RegionFunctionArgs.ExpirationAttrs regionExpirationTTL, final 
String diskStore,
+      final Boolean diskSynchronous, final Boolean enableAsyncConflation,
+      final Boolean enableSubscriptionConflation, final String[] 
cacheListeners,
+      final String cacheLoader, final String cacheWriter, final String[] 
asyncEventQueueIds,
+      final String[] gatewaySenderIds, final Boolean concurrencyChecksEnabled,
+      final Boolean cloningEnabled, final Integer concurrencyLevel, final 
String prColocatedWith,
+      final Integer prLocalMaxMemory, final Long prRecoveryDelay, final 
Integer prRedundantCopies,
+      final Long prStartupRecoveryDelay, final Long prTotalMaxMemory,
+      final Integer prTotalNumBuckets, final Integer evictionMax, final String 
compressor,
+      final Boolean offHeap, final Boolean mcastEnabled, final String 
partitionResolver,
+      final RegionAttributes<?, ?> regionAttributes) {
 
     this.regionPath = regionPath;
     this.regionShortcut = regionShortcut;
@@ -102,63 +175,93 @@ public class RegionFunctionArgs implements Serializable {
     this.keyConstraint = keyConstraint;
     this.valueConstraint = valueConstraint;
     this.evictionMax = evictionMax;
+
     this.isSetStatisticsEnabled = statisticsEnabled != null;
     if (this.isSetStatisticsEnabled) {
       this.statisticsEnabled = statisticsEnabled;
+    } else {
+      this.statisticsEnabled = null;
     }
+
     this.entryExpirationIdleTime = entryExpirationIdleTime;
     this.entryExpirationTTL = entryExpirationTTL;
     this.regionExpirationIdleTime = regionExpirationIdleTime;
     this.regionExpirationTTL = regionExpirationTTL;
     this.diskStore = diskStore;
+
     this.isSetDiskSynchronous = diskSynchronous != null;
     if (this.isSetDiskSynchronous) {
       this.diskSynchronous = diskSynchronous;
+    } else {
+      this.diskSynchronous = null;
     }
+
     this.isSetEnableAsyncConflation = enableAsyncConflation != null;
     if (this.isSetEnableAsyncConflation) {
       this.enableAsyncConflation = enableAsyncConflation;
+    } else {
+      this.enableAsyncConflation = null;
     }
+
     this.isSetEnableSubscriptionConflation = enableSubscriptionConflation != 
null;
     if (this.isSetEnableSubscriptionConflation) {
       this.enableSubscriptionConflation = enableSubscriptionConflation;
+    } else {
+      this.enableSubscriptionConflation = null;
     }
+
     if (cacheListeners != null) {
       this.cacheListeners = new LinkedHashSet<>();
       this.cacheListeners.addAll(Arrays.asList(cacheListeners));
     } else {
       this.cacheListeners = null;
     }
+
     this.cacheLoader = cacheLoader;
     this.cacheWriter = cacheWriter;
+
     if (asyncEventQueueIds != null) {
       this.asyncEventQueueIds = new LinkedHashSet<>();
       this.asyncEventQueueIds.addAll(Arrays.asList(asyncEventQueueIds));
     } else {
       this.asyncEventQueueIds = null;
     }
+
     if (gatewaySenderIds != null) {
       this.gatewaySenderIds = new LinkedHashSet<>();
       this.gatewaySenderIds.addAll(Arrays.asList(gatewaySenderIds));
     } else {
       this.gatewaySenderIds = null;
     }
+
     this.isSetConcurrencyChecksEnabled = concurrencyChecksEnabled != null;
     if (this.isSetConcurrencyChecksEnabled) {
       this.concurrencyChecksEnabled = concurrencyChecksEnabled;
+    } else {
+      this.concurrencyChecksEnabled = null;
     }
+
     this.isSetCloningEnabled = cloningEnabled != null;
     if (this.isSetCloningEnabled) {
       this.cloningEnabled = cloningEnabled;
+    } else {
+      this.cloningEnabled = null;
     }
+
     this.isSetMcastEnabled = mcastEnabled != null;
     if (isSetMcastEnabled) {
       this.mcastEnabled = mcastEnabled;
+    } else {
+      this.mcastEnabled = null;
     }
+
     this.isSetConcurrencyLevel = concurrencyLevel != null;
     if (this.isSetConcurrencyLevel) {
       this.concurrencyLevel = concurrencyLevel;
+    } else {
+      this.concurrencyLevel = null;
     }
+
     this.partitionArgs =
         new PartitionArgs(prColocatedWith, prLocalMaxMemory, prRecoveryDelay, 
prRedundantCopies,
             prStartupRecoveryDelay, prTotalMaxMemory, prTotalNumBuckets, 
partitionResolver);
@@ -166,59 +269,35 @@ public class RegionFunctionArgs implements Serializable {
     this.isSetCompressor = (compressor != null);
     if (this.isSetCompressor) {
       this.compressor = compressor;
+    } else {
+      this.compressor = null;
     }
+
     this.isSetOffHeap = (offHeap != null);
     if (this.isSetOffHeap) {
       this.offHeap = offHeap;
+    } else {
+      this.offHeap = null;
     }
+
     this.isPartitionResolver = (partitionResolver != null);
     if (this.isPartitionResolver) {
       this.partitionResolver = partitionResolver;
+    } else {
+      this.partitionResolver = null;
     }
-  }
 
-  // Constructor to be used for supplied region attributes
-  public RegionFunctionArgs(String regionPath, String useAttributesFrom, 
boolean skipIfExists,
-      String keyConstraint, String valueConstraint, Boolean statisticsEnabled,
-      RegionFunctionArgs.ExpirationAttrs entryExpirationIdleTime,
-      RegionFunctionArgs.ExpirationAttrs entryExpirationTTL,
-      RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime,
-      RegionFunctionArgs.ExpirationAttrs regionExpirationTTL, String diskStore,
-      Boolean diskSynchronous, Boolean enableAsyncConflation, Boolean 
enableSubscriptionConflation,
-      String[] cacheListeners, String cacheLoader, String cacheWriter, 
String[] asyncEventQueueIds,
-      String[] gatewaySenderIds, Boolean concurrencyChecksEnabled, Boolean 
cloningEnabled,
-      Integer concurrencyLevel, String prColocatedWith, Integer 
prLocalMaxMemory,
-      Long prRecoveryDelay, Integer prRedundantCopies, Long 
prStartupRecoveryDelay,
-      Long prTotalMaxMemory, Integer prTotalNumBuckets, Boolean offHeap, 
Boolean mcastEnabled,
-      RegionAttributes<?, ?> regionAttributes, final String partitionResolver) 
{
-    this(regionPath, null, useAttributesFrom, skipIfExists, keyConstraint, 
valueConstraint,
-        statisticsEnabled, entryExpirationIdleTime, entryExpirationTTL, 
regionExpirationIdleTime,
-        regionExpirationTTL, diskStore, diskSynchronous, enableAsyncConflation,
-        enableSubscriptionConflation, cacheListeners, cacheLoader, 
cacheWriter, asyncEventQueueIds,
-        gatewaySenderIds, concurrencyChecksEnabled, cloningEnabled, 
concurrencyLevel,
-        prColocatedWith, prLocalMaxMemory, prRecoveryDelay, prRedundantCopies,
-        prStartupRecoveryDelay, prTotalMaxMemory, prTotalNumBuckets, null, 
null, offHeap,
-        mcastEnabled, partitionResolver);
     this.regionAttributes = regionAttributes;
   }
 
-  /**
-   * @return the regionPath
-   */
   public String getRegionPath() {
     return this.regionPath;
   }
 
-  /**
-   * @return the regionShortcut
-   */
   public RegionShortcut getRegionShortcut() {
     return this.regionShortcut;
   }
 
-  /**
-   * @return the useAttributesFrom
-   */
   public String getUseAttributesFrom() {
     return this.useAttributesFrom;
   }
@@ -231,86 +310,50 @@ public class RegionFunctionArgs implements Serializable {
         && this.regionAttributes != null;
   }
 
-  /**
-   * @return the skipIfExists
-   */
   public Boolean isSkipIfExists() {
     return this.skipIfExists;
   }
 
-  /**
-   * @return the keyConstraint
-   */
   public String getKeyConstraint() {
     return this.keyConstraint;
   }
 
-  /**
-   * @return the valueConstraint
-   */
   public String getValueConstraint() {
     return this.valueConstraint;
   }
 
-  /**
-   * @return the statisticsEnabled
-   */
   public Boolean isStatisticsEnabled() {
     return this.statisticsEnabled;
   }
 
-  /**
-   * @return the isSetStatisticsEnabled
-   */
   public Boolean isSetStatisticsEnabled() {
     return this.isSetStatisticsEnabled;
   }
 
-  /**
-   * @return the entryExpirationIdleTime
-   */
   public RegionFunctionArgs.ExpirationAttrs getEntryExpirationIdleTime() {
     return this.entryExpirationIdleTime;
   }
 
-  /**
-   * @return the entryExpirationTTL
-   */
   public RegionFunctionArgs.ExpirationAttrs getEntryExpirationTTL() {
     return this.entryExpirationTTL;
   }
 
-  /**
-   * @return the regionExpirationIdleTime
-   */
   public RegionFunctionArgs.ExpirationAttrs getRegionExpirationIdleTime() {
     return this.regionExpirationIdleTime;
   }
 
-  /**
-   * @return the regionExpirationTTL
-   */
   public RegionFunctionArgs.ExpirationAttrs getRegionExpirationTTL() {
     return this.regionExpirationTTL;
   }
 
-  /**
-   * @return the diskStore
-   */
   public String getDiskStore() {
     return this.diskStore;
   }
 
-  /**
-   * @return the diskSynchronous
-   */
   public Boolean isDiskSynchronous() {
     return this.diskSynchronous;
   }
 
-  /**
-   * @return the isSetDiskSynchronous
-   */
   public Boolean isSetDiskSynchronous() {
     return this.isSetDiskSynchronous;
   }
@@ -323,37 +366,22 @@ public class RegionFunctionArgs implements Serializable {
     return this.isSetOffHeap;
   }
 
-  /**
-   * @return the enableAsyncConflation
-   */
   public Boolean isEnableAsyncConflation() {
     return this.enableAsyncConflation;
   }
 
-  /**
-   * @return the isSetEnableAsyncConflation
-   */
   public Boolean isSetEnableAsyncConflation() {
     return this.isSetEnableAsyncConflation;
   }
 
-  /**
-   * @return the enableSubscriptionConflation
-   */
   public Boolean isEnableSubscriptionConflation() {
     return this.enableSubscriptionConflation;
   }
 
-  /**
-   * @return the isSetEnableSubscriptionConflation
-   */
   public Boolean isSetEnableSubscriptionConflation() {
     return this.isSetEnableSubscriptionConflation;
   }
 
-  /**
-   * @return the cacheListeners
-   */
   public Set<String> getCacheListeners() {
     if (this.cacheListeners == null) {
       return null;
@@ -361,23 +389,14 @@ public class RegionFunctionArgs implements Serializable {
     return Collections.unmodifiableSet(this.cacheListeners);
   }
 
-  /**
-   * @return the cacheLoader
-   */
   public String getCacheLoader() {
     return this.cacheLoader;
   }
 
-  /**
-   * @return the cacheWriter
-   */
   public String getCacheWriter() {
     return this.cacheWriter;
   }
 
-  /**
-   * @return the asyncEventQueueIds
-   */
   public Set<String> getAsyncEventQueueIds() {
     if (this.asyncEventQueueIds == null) {
       return null;
@@ -385,9 +404,6 @@ public class RegionFunctionArgs implements Serializable {
     return Collections.unmodifiableSet(this.asyncEventQueueIds);
   }
 
-  /**
-   * @return the gatewaySenderIds
-   */
   public Set<String> getGatewaySenderIds() {
     if (this.gatewaySenderIds == null) {
       return null;
@@ -395,72 +411,42 @@ public class RegionFunctionArgs implements Serializable {
     return Collections.unmodifiableSet(this.gatewaySenderIds);
   }
 
-  /**
-   * @return the PartitionResolver
-   */
   public String getPartitionResolver() {
     return this.partitionResolver;
   }
 
-  /**
-   * @return True if Partition Resolver is set otherwise False
-   */
   public Boolean isPartitionResolverSet() {
     return this.isPartitionResolver;
   }
 
-  /**
-   * @return the concurrencyChecksEnabled
-   */
   public Boolean isConcurrencyChecksEnabled() {
     return this.concurrencyChecksEnabled;
   }
 
-  /**
-   * @return the isSetConcurrencyChecksEnabled
-   */
   public Boolean isSetConcurrencyChecksEnabled() {
     return this.isSetConcurrencyChecksEnabled;
   }
 
-  /**
-   * @return the cloningEnabled
-   */
   public Boolean isCloningEnabled() {
     return this.cloningEnabled;
   }
 
-  /**
-   * @return the isSetCloningEnabled
-   */
   public Boolean isSetCloningEnabled() {
     return this.isSetCloningEnabled;
   }
 
-  /**
-   * @return the mcastEnabled setting
-   */
   public Boolean isMcastEnabled() {
     return this.mcastEnabled;
   }
 
-  /**
-   * @return the isSetCloningEnabled
-   */
   public Boolean isSetMcastEnabled() {
     return this.isSetMcastEnabled;
   }
 
-  /**
-   * @return the concurrencyLevel
-   */
   public Integer getConcurrencyLevel() {
     return this.concurrencyLevel;
   }
 
-  /**
-   * @return the isSetConcurrencyLevel
-   */
   public Boolean isSetConcurrencyLevel() {
     return this.isSetConcurrencyLevel;
   }
@@ -470,60 +456,43 @@ public class RegionFunctionArgs implements Serializable {
         || (this.regionShortcut != null && 
this.regionShortcut.name().startsWith("PARTITION"));
   }
 
-  /**
-   * @return the partitionArgs
-   */
   public boolean hasPartitionAttributes() {
     return this.partitionArgs != null && 
this.partitionArgs.hasPartitionAttributes();
   }
 
-  /**
-   * @return the partitionArgs
-   */
   public PartitionArgs getPartitionArgs() {
     return this.partitionArgs;
   }
 
-  /**
-   * @return the evictionMax
-   */
   public Integer getEvictionMax() {
     return this.evictionMax;
   }
 
-  /**
-   * @return the compressor.
-   */
   public String getCompressor() {
     return this.compressor;
   }
 
-  /**
-   * @return the isSetCompressor.
-   */
   public boolean isSetCompressor() {
     return this.isSetCompressor;
   }
 
-  /**
-   * @return the regionAttributes
-   */
   public <K, V> RegionAttributes<K, V> getRegionAttributes() {
     return (RegionAttributes<K, V>) this.regionAttributes;
   }
 
   public static class ExpirationAttrs implements Serializable {
-
     private static final long serialVersionUID = 1474255033398008062L;
 
-    private ExpirationFor type;
-    private Integer time;
-    private ExpirationAction action;
+    private final ExpirationFor type;
+    private final Integer time;
+    private final ExpirationAction action;
 
-    public ExpirationAttrs(ExpirationFor type, Integer time, String action) {
+    public ExpirationAttrs(final ExpirationFor type, final Integer time, final 
String action) {
       this.type = type;
       this.time = time;
-      if (action != null) {
+      if (action == null) {
+        this.action = null;
+      } else {
         this.action = getExpirationAction(action);
       }
     }
@@ -538,23 +507,14 @@ public class RegionFunctionArgs implements Serializable {
       return expirationAttr;
     }
 
-    /**
-     * @return the type
-     */
     public ExpirationFor getType() {
       return type;
     }
 
-    /**
-     * @return the time
-     */
     public Integer getTime() {
       return time;
     }
 
-    /**
-     * @return the action
-     */
     public ExpirationAction getAction() {
       return action;
     }
@@ -597,8 +557,8 @@ public class RegionFunctionArgs implements Serializable {
     }
   }
 
+  // TODO: make PartitionArgs immutable
   public static class PartitionArgs implements Serializable {
-
     private static final long serialVersionUID = 5907052187323280919L;
 
     private final String prColocatedWith;
@@ -620,9 +580,10 @@ public class RegionFunctionArgs implements Serializable {
     private boolean hasPartitionAttributes;
     private final Set<String> userSpecifiedPartitionAttributes = new 
HashSet<>();
 
-    public PartitionArgs(String prColocatedWith, Integer prLocalMaxMemory, 
Long prRecoveryDelay,
-        Integer prRedundantCopies, Long prStartupRecoveryDelay, Long 
prTotalMaxMemory,
-        Integer prTotalNumBuckets, String partitionResolver) {
+    public PartitionArgs(final String prColocatedWith, final Integer 
prLocalMaxMemory,
+        final Long prRecoveryDelay, final Integer prRedundantCopies,
+        final Long prStartupRecoveryDelay, final Long prTotalMaxMemory,
+        final Integer prTotalNumBuckets, final String partitionResolver) {
       this.prColocatedWith = prColocatedWith;
       if (this.prColocatedWith != null) {
         this.hasPartitionAttributes = true;
@@ -670,110 +631,64 @@ public class RegionFunctionArgs implements Serializable {
         this.hasPartitionAttributes = true;
         
userSpecifiedPartitionAttributes.add(CliStrings.CREATE_REGION__PARTITION_RESOLVER);
       }
-
     }
 
-    /**
-     * @return the hasPartitionAttributes
-     */
     public Boolean hasPartitionAttributes() {
       return hasPartitionAttributes;
     }
 
-    /**
-     * @return the userSpecifiedPartitionAttributes
-     */
     public String getUserSpecifiedPartitionAttributes() {
       return CliUtil.collectionToString(userSpecifiedPartitionAttributes, -1);
     }
 
-    /**
-     * @return the prColocatedWith
-     */
     public String getPrColocatedWith() {
       return prColocatedWith;
     }
 
-    /**
-     * @return the prLocalMaxMemory
-     */
     public Integer getPrLocalMaxMemory() {
       return prLocalMaxMemory;
     }
 
-    /**
-     * @return the isSetPRLocalMaxMemory
-     */
     public Boolean isSetPRLocalMaxMemory() {
       return isSetPRLocalMaxMemory;
     }
 
-    /**
-     * @return the prRecoveryDelay
-     */
     public Long getPrRecoveryDelay() {
       return prRecoveryDelay;
     }
 
-    /**
-     * @return the isSetPRRecoveryDelay
-     */
     public Boolean isSetPRRecoveryDelay() {
       return isSetPRRecoveryDelay;
     }
 
-    /**
-     * @return the prRedundantCopies
-     */
     public Integer getPrRedundantCopies() {
       return prRedundantCopies;
     }
 
-    /**
-     * @return the isSetPRRedundantCopies
-     */
     public Boolean isSetPRRedundantCopies() {
       return isSetPRRedundantCopies;
     }
 
-    /**
-     * @return the prStartupRecoveryDelay
-     */
     public Long getPrStartupRecoveryDelay() {
       return prStartupRecoveryDelay;
     }
 
-    /**
-     * @return the isSetPRStartupRecoveryDelay
-     */
     public Boolean isSetPRStartupRecoveryDelay() {
       return isSetPRStartupRecoveryDelay;
     }
 
-    /**
-     * @return the prTotalMaxMemory
-     */
     public Long getPrTotalMaxMemory() {
       return prTotalMaxMemory;
     }
 
-    /**
-     * @return the isSetPRTotalMaxMemory
-     */
     public Boolean isSetPRTotalMaxMemory() {
       return isSetPRTotalMaxMemory;
     }
 
-    /**
-     * @return the prTotalNumBuckets
-     */
     public Integer getPrTotalNumBuckets() {
       return prTotalNumBuckets;
     }
 
-    /**
-     * @return the isSetPRTotalNumBuckets
-     */
     public Boolean isSetPRTotalNumBuckets() {
       return isSetPRTotalNumBuckets;
     }

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
index 18def96..bbc5609 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShowMissingDiskStoresFunction.java
@@ -30,22 +30,22 @@ import 
org.apache.geode.internal.cache.persistence.PersistentMemberID;
 import org.apache.geode.internal.cache.persistence.PersistentMemberManager;
 import org.apache.geode.internal.cache.persistence.PersistentMemberPattern;
 
-public class ShowMissingDiskStoresFunction implements InternalEntity, Function 
{
+public class ShowMissingDiskStoresFunction implements Function, InternalEntity 
{
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     if (context == null) {
       throw new RuntimeException();
     }
 
-    final Set<PersistentMemberPattern> memberMissingIDs = new HashSet<>();
+    Set<PersistentMemberPattern> memberMissingIDs = new HashSet<>();
     Set<ColocatedRegionDetails> missingColocatedRegions = new HashSet<>();
 
     try {
-      final InternalCache cache = (InternalCache) context.getCache();
+      InternalCache cache = (InternalCache) context.getCache();
 
       if (cache != null && !cache.isClosed()) {
-        final DistributedMember member = cache.getMyId();
+        DistributedMember member = cache.getMyId();
 
         // Missing DiskStores
         PersistentMemberManager mm = cache.getPersistentMemberManager();
@@ -55,6 +55,7 @@ public class ShowMissingDiskStoresFunction implements 
InternalEntity, Function {
             memberMissingIDs.add(new PersistentMemberPattern(id));
           }
         }
+
         // Missing colocated regions
         Set<PartitionedRegion> prs = cache.getPartitionedRegions();
         for (PartitionedRegion pr : prs) {

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
index 8fcc6fe..d07c8a8 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/ShutDownFunction.java
@@ -33,16 +33,15 @@ import org.apache.geode.internal.tcp.ConnectionTable;
  * Class for Shutdown function
  */
 public class ShutDownFunction implements Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
-
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     try {
       Cache cache = context.getCache();
       String memberName = 
cache.getDistributedSystem().getDistributedMember().getId();
+
       logger.info("Received GFSH shutdown. Shutting down member " + 
memberName);
 
       disconnectInNonDaemonThread(cache.getDistributedSystem());
@@ -59,13 +58,13 @@ public class ShutDownFunction implements Function, 
InternalEntity {
    * The shutdown is performed in a separate, non-daemon thread so that the 
JVM does not shut down
    * prematurely before the full process has completed.
    */
-  private void disconnectInNonDaemonThread(final DistributedSystem ids)
+  private void disconnectInNonDaemonThread(final DistributedSystem system)
       throws InterruptedException, ExecutionException {
     ExecutorService exec = Executors.newSingleThreadExecutor();
     Future future = exec.submit(() -> {
       ConnectionTable.threadWantsSharedResources();
-      if (ids.isConnected()) {
-        ids.disconnect();
+      if (system.isConnected()) {
+        system.disconnect();
       }
     });
     try {

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
index 02ae1ac..5c54744 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/SizeExportLogsFunction.java
@@ -32,9 +32,7 @@ import 
org.apache.geode.management.internal.cli.util.LogExporter;
 import org.apache.geode.management.internal.cli.util.LogFilter;
 
 public class SizeExportLogsFunction extends ExportLogsFunction implements 
Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
-
   private static final Logger logger = LogService.getLogger();
 
   @Override
@@ -64,7 +62,7 @@ public class SizeExportLogsFunction extends 
ExportLogsFunction implements Functi
     }
   }
 
-  long getDiskAvailable(DistributionConfig config) {
+  long getDiskAvailable(final DistributionConfig config) {
     return config.getLogFile().getUsableSpace();
   }
 

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
index 6f9e0e0..c3563c7 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UndeployFunction.java
@@ -33,22 +33,20 @@ import org.apache.geode.internal.JarDeployer;
 import org.apache.geode.internal.logging.LogService;
 
 public class UndeployFunction implements Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
-
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     // Declared here so that it's available when returning a Throwable
     String memberId = "";
 
     try {
-      final Object[] args = (Object[]) context.getArguments();
-      final String[] jarFilenameList = (String[]) args[0]; // Comma separated
+      Object[] args = (Object[]) context.getArguments();
+      String[] jarFilenameList = (String[]) args[0]; // Comma separated
       Cache cache = context.getCache();
 
-      final JarDeployer jarDeployer = 
ClassPathLoader.getLatest().getJarDeployer();
+      JarDeployer jarDeployer = ClassPathLoader.getLatest().getJarDeployer();
 
       DistributedMember member = 
cache.getDistributedSystem().getDistributedMember();
 
@@ -60,8 +58,9 @@ public class UndeployFunction implements Function, 
InternalEntity {
 
       String[] undeployedJars = new String[0];
       if (ArrayUtils.isEmpty(jarFilenameList)) {
-        final List<DeployedJar> jarClassLoaders = 
jarDeployer.findDeployedJars();
+        List<DeployedJar> jarClassLoaders = jarDeployer.findDeployedJars();
         undeployedJars = new String[jarClassLoaders.size() * 2];
+
         int index = 0;
         for (DeployedJar jarClassLoader : jarClassLoaders) {
           undeployedJars[index++] = jarClassLoader.getJarName();
@@ -73,8 +72,9 @@ public class UndeployFunction implements Function, 
InternalEntity {
             undeployedJars[index++] = iaex.getMessage();
           }
         }
+
       } else {
-        List<String> undeployedList = new ArrayList<String>();
+        List<String> undeployedList = new ArrayList<>();
         for (String jarFilename : jarFilenameList) {
           try {
             undeployedList.add(jarFilename);

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
index 7471586..80c670d 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UnregisterFunction.java
@@ -23,13 +23,13 @@ import org.apache.geode.internal.InternalEntity;
  * Class for Unregister function
  */
 public class UnregisterFunction implements Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     Object[] args = (Object[]) context.getArguments();
     String functionId = (String) args[0];
+
     try {
       FunctionService.unregisterFunction(functionId);
       context.getResultSender().lastResult("Succeeded in unregistering");

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
index ad86393..e95a16f 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/UserFunctionExecution.java
@@ -35,15 +35,15 @@ import 
org.apache.geode.management.internal.cli.i18n.CliStrings;
  * @since GemFire 7.0
  */
 public class UserFunctionExecution implements Function, InternalEntity {
-
   private static final long serialVersionUID = 1L;
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(final FunctionContext context) {
     try {
       Cache cache = context.getCache();
       DistributedMember member = 
cache.getDistributedSystem().getDistributedMember();
       String[] functionArgs = null;
+
       Object[] args = (Object[]) context.getArguments();
       if (args != null) {
         String functionId = ((String) args[0]);
@@ -112,6 +112,7 @@ public class UserFunctionExecution implements Function, 
InternalEntity {
                 }
               }
               context.getResultSender().lastResult(resultMessage);
+
             } else {
               context.getResultSender()
                   .lastResult(CliStrings.format(
@@ -126,12 +127,14 @@ public class UserFunctionExecution implements Function, 
InternalEntity {
               .lastResult(CliStrings.format(
                   
CliStrings.EXECUTE_FUNCTION__MSG__RESULT_COLLECTOR_0_NOT_FOUND_ERROR_1,
                   resultCollectorName, e.getMessage()));
+
         } catch (Exception e) {
           context.getResultSender()
               .lastResult(CliStrings.format(
                   
CliStrings.EXECUTE_FUNCTION__MSG__ERROR_IN_EXECUTING_ON_MEMBER_1_DETAILS_2,
                   functionId, member.getId(), e.getMessage()));
         }
+
       } else {
         context.getResultSender()
             
.lastResult(CliStrings.EXECUTE_FUNCTION__MSG__COULD_NOT_RETRIEVE_ARGUMENTS);

http://git-wip-us.apache.org/repos/asf/geode/blob/54e628f0/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionJUnitTest.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionJUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionJUnitTest.java
index 5323258..c25ef23 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionJUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionJUnitTest.java
@@ -102,7 +102,7 @@ public class DataCommandFunctionJUnitTest {
     DataCommandFunction dataCmdFn = new DataCommandFunction();
 
     DataCommandResult result = dataCmdFn.locateEntry("{'cheese': 'key_1'}",
-        StringCheese.class.getName(), String.class.getName(), 
PARTITIONED_REGION, false);
+        StringCheese.class.getName(), PARTITIONED_REGION, false);
 
     assertNotNull(result);
     result.aggregate(null);
@@ -114,8 +114,8 @@ public class DataCommandFunctionJUnitTest {
   public void testLocateKeyIsString() throws Exception {
     DataCommandFunction dataCmdFn = new DataCommandFunction();
 
-    DataCommandResult result = dataCmdFn.locateEntry("key_2", 
String.class.getName(),
-        String.class.getName(), PARTITIONED_REGION, false);
+    DataCommandResult result =
+        dataCmdFn.locateEntry("key_2", String.class.getName(), 
PARTITIONED_REGION, false);
 
     assertNotNull(result);
     result.aggregate(null);

Reply via email to