/*
* Copyright (c) 2012-2015 iWave Software LLC
* All Rights Reserved
*/
package com.emc.sa.service.vipr.file;
import static com.emc.sa.service.ServiceParams.ADVISORY_LIMIT;
import static com.emc.sa.service.ServiceParams.FILESYSTEMS;
import static com.emc.sa.service.ServiceParams.GRACE_PERIOD;
import static com.emc.sa.service.ServiceParams.NAME;
import static com.emc.sa.service.ServiceParams.OPLOCK;
import static com.emc.sa.service.ServiceParams.SECURITY_STYLE;
import static com.emc.sa.service.ServiceParams.SIZE_IN_GB;
import static com.emc.sa.service.ServiceParams.SOFT_LIMIT;
import java.net.URI;
import java.util.List;
import com.emc.sa.engine.bind.Param;
import com.emc.sa.service.vipr.tasks.ViPRExecutionTask;
import com.emc.storageos.model.file.FileShareRestRep;
public class CreateFileSystemQuotaDirectoryHelper {
@Param(FILESYSTEMS)
protected List<String> fileSystemIds;
@Param(NAME)
protected String name;
@Param(OPLOCK)
protected Boolean oplock;
@Param(SECURITY_STYLE)
protected String securityStyle;
@Param(SIZE_IN_GB)
protected String size;
@Param(value = SOFT_LIMIT, required = false)
protected Double softLimit;
@Param(value = ADVISORY_LIMIT, required = false)
protected Double advisoryLimit;
@Param(value = GRACE_PERIOD, required = false)
protected Double gracePeriod;
private List<FileShareRestRep> fileSystems;
public void precheck() {
fileSystems = FileStorageUtils.getFileSystems(ViPRExecutionTask.uris(fileSystemIds));
}
public void createFileSystemQuotaDirectories() {
int tempSoftLimit = (softLimit != null) ? softLimit.intValue() : 0;
int tempAdvisoryLimit = (advisoryLimit != null) ? advisoryLimit.intValue() : 0;
int tempGracePeriod = (gracePeriod != null) ? gracePeriod.intValue() : 0;
for (FileShareRestRep fs : fileSystems) {
URI fsId = fs.getId();
FileStorageUtils.createFileSystemQuotaDirectory(fsId, name, oplock, securityStyle, size, tempSoftLimit, tempAdvisoryLimit,
tempGracePeriod);
}
}
}