/*
* 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.FileSnapshotRestRep;
import com.emc.storageos.model.file.SnapshotExportUpdateParams;
import com.emc.vipr.client.Task;
public class UpdateFileSnapshotExport extends WaitForTask<FileSnapshotRestRep> {
private final URI fileSystemId;
private final String subDirectory;
private final SnapshotExportUpdateParams input;
public UpdateFileSnapshotExport(String fileSystemId, String subDirectory, SnapshotExportUpdateParams input) {
this(uri(fileSystemId), subDirectory, input);
}
public UpdateFileSnapshotExport(URI fileSystemId, String subDirectory, SnapshotExportUpdateParams input) {
this.fileSystemId = fileSystemId;
this.subDirectory = subDirectory;
this.input = input;
provideDetailArgs(fileSystemId, subDirectory, input);
}
@Override
protected Task<FileSnapshotRestRep> doExecute() throws Exception {
// Don't pass a blank sub-directory to getExport
String subDir = StringUtils.defaultIfEmpty(subDirectory, null);
return getClient().fileSnapshots().updateExport(fileSystemId, subDir, input);
}
}