/*
* Copyright (c) 2012-2015 iWave Software LLC
* All Rights Reserved
*/
package com.emc.sa.service.vipr.file.tasks;
import java.net.URI;
import org.apache.commons.lang.StringUtils;
import com.emc.sa.service.vipr.tasks.WaitForTask;
import com.emc.storageos.model.file.FileShareRestRep;
import com.emc.vipr.client.Task;
public class DeactivateFileSystemExportRule extends WaitForTask<FileShareRestRep> {
private final URI fileSystemId;
private final Boolean allDirectory;
private final String subDirectory;
private final Boolean unmountExport;
public DeactivateFileSystemExportRule(String fileSystemId, Boolean allDirectory, String subDirectory, Boolean unmountExport) {
this(uri(fileSystemId), allDirectory, subDirectory, unmountExport);
}
public DeactivateFileSystemExportRule(URI fileSystemId, Boolean allDirectory, String subDirectory, Boolean unmountExport) {
this.fileSystemId = fileSystemId;
this.allDirectory = allDirectory;
this.subDirectory = subDirectory;
this.unmountExport = unmountExport;
provideDetailArgs(fileSystemId, allDirectory, subDirectory);
}
public URI getFileSystemId() {
return fileSystemId;
}
@Override
protected Task<FileShareRestRep> doExecute() throws Exception {
if (StringUtils.isBlank(subDirectory)) {
return getClient().fileSystems().deleteAllExport(fileSystemId, allDirectory, unmountExport);
}
return getClient().fileSystems().deleteExport(fileSystemId, allDirectory, subDirectory, unmountExport);
}
}