@Override
  @SuppressWarnings("deprecation")
  public void execute(FunctionContext<DestroyDiskStoreFunctionArgs> context) {
    // Declared here so that it's available when returning a Throwable
    String memberId;

    final DestroyDiskStoreFunctionArgs args = context.getArguments();

    InternalCache cache = (InternalCache) context.getCache();

    DistributedMember member = cache.getDistributedSystem().getDistributedMember();

    memberId = member.getId();
    // If they set a name use it instead
    if (!member.getName().equals("")) {
      memberId = member.getName();
    }

    DiskStore diskStore = cache.findDiskStore(args.getId());

    CliFunctionResult result;
    try {
      if (diskStore != null) {
        XmlEntity xmlEntity = new XmlEntity(CacheXml.DISK_STORE, "name", args.getId());
        diskStore.destroy();
        result = new CliFunctionResult(memberId, xmlEntity, "Success");
      } else {
        if (args.isIfExists()) {
          result = new CliFunctionResult(memberId, true,
              "Skipping: Disk store not found on this member");
        } else {
          result = new CliFunctionResult(memberId, false, "Disk store not found on this member");
        }
      }
    } catch (IllegalStateException ex) {
      result = new CliFunctionResult(memberId, false, ex.getMessage());
    }
    final ResultSender<CliFunctionResult> resultSender = context.getResultSender();
    resultSender.lastResult(result);
  }
Function used by the 'destroy disk-store' gfsh command to destroy a disk store on each member.

@since GemFire 8.0
geode-gfsh/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java