/*
* 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.lang3.StringUtils;
import com.emc.sa.service.vipr.tasks.WaitForTask;
import com.emc.storageos.model.file.FileSnapshotRestRep;
import com.emc.vipr.client.Task;
public class DeactivateFileSnapshotExportRule extends WaitForTask<FileSnapshotRestRep> {
private final URI fileSnapshotId;
private final Boolean allDirectory;
private final String subDirectory;
public DeactivateFileSnapshotExportRule(String fileSnapshotId, Boolean allDirectory, String subDirectory) {
this(uri(fileSnapshotId), allDirectory, subDirectory);
}
public DeactivateFileSnapshotExportRule(URI fileSnapshotId, Boolean allDirectory, String subDirectory) {
this.fileSnapshotId = fileSnapshotId;
this.allDirectory = allDirectory;
this.subDirectory = subDirectory;
provideDetailArgs(fileSnapshotId, allDirectory, subDirectory);
}
public URI getfileSnapshotId() {
return fileSnapshotId;
}
@Override
protected Task<FileSnapshotRestRep> doExecute() throws Exception {
if (StringUtils.isBlank(subDirectory)) {
return getClient().fileSnapshots().deleteAllExport(fileSnapshotId, allDirectory);
}
return getClient().fileSnapshots().deleteExport(fileSnapshotId, allDirectory, subDirectory);
}
}