[ 
https://issues.apache.org/jira/browse/GEODE-2920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16061383#comment-16061383
 ] 

ASF GitHub Bot commented on GEODE-2920:
---------------------------------------

Github user jaredjstewart commented on a diff in the pull request:

    https://github.com/apache/geode/pull/596#discussion_r123822645
  
    --- Diff: 
geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/FunctionCommands.java
 ---
    @@ -130,31 +125,8 @@ public Result executeFunction(
             return result;
           }
     
    -      if (onRegion != null && onMember != null && onGroups != null) {
    -        ErrorResultData errorResultData =
    -            
ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT)
    -                .addLine(CliStrings.EXECUTE_FUNCTION__MSG__OPTIONS);
    -        result = ResultBuilder.buildResult(errorResultData);
    -        return result;
    -      } else if (onRegion != null && onMember != null) {
    -        ErrorResultData errorResultData =
    -            
ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT)
    -                .addLine(CliStrings.EXECUTE_FUNCTION__MSG__OPTIONS);
    -        result = ResultBuilder.buildResult(errorResultData);
    -        return result;
    -      } else if (onMember != null && onGroups != null) {
    -        ErrorResultData errorResultData =
    -            
ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT)
    -                .addLine(CliStrings.EXECUTE_FUNCTION__MSG__OPTIONS);
    -        result = ResultBuilder.buildResult(errorResultData);
    -        return result;
    -      } else if (onRegion != null && onGroups != null) {
    -        ErrorResultData errorResultData =
    -            
ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT)
    -                .addLine(CliStrings.EXECUTE_FUNCTION__MSG__OPTIONS);
    -        result = ResultBuilder.buildResult(errorResultData);
    -        return result;
    -      } else if (onRegion != null && onMember != null && onGroups != null) 
{
    +      if (isMoreThanOneIsTrue(onRegion != null, onMember != null, onGroups 
!= null)) {
    --- End diff --
    
    I like the readability introduced by this `isMoreThanOneIsTrue` method.  It 
might make sense to take the abstraction one step further: 
    ```
    if (isMoreThanOneNonNull(onRegion, onMember, onGroup) {
    ```
    
    ```
      private boolean isMoreThanOneNonNull(Object... values) {
        return Stream.of(values).filter(Objects::nonNull).count() > 1;
      }
    ```
    



> secure disk-store as a resource
> -------------------------------
>
>                 Key: GEODE-2920
>                 URL: https://issues.apache.org/jira/browse/GEODE-2920
>             Project: Geode
>          Issue Type: Sub-task
>          Components: security
>            Reporter: Swapnil Bawaskar
>
> Treat DISK as a CLUSTER resource so that administrators can control the 
> ability to manage diskstores/create regions that will write to disk stores.
> Only a user with CLUSTER:MANAGE:DISK should be able to run the following gfsh 
> commands:
> {noformat}
> create disk-store
> alter disk-store
> compact disk-store
> destroy disk-store
> revoke missing-disk-store
> {noformat}
> And the following JMX bean methods:
> {noformat}
> DiskStoreMXBean.forceCompaction
> DiskStoreMXBean.flush
> DiskStoreMXBean.forceRoll
> DiskStoreMXBean.setDiskUsageCriticalPercentage
> DiskStoreMXBean.setDiskUsageWarningPercentage
> DistributedSystemMXBean.revokeMissingDiskStores
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to