/* * 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.storageos.model.file.FileSystemShareParam; import com.emc.vipr.client.Task; public class CreateFileSystemShare extends WaitForTask<FileShareRestRep> { private final String shareName; private final String shareComment; private final URI fileSystemId; private final String subDirectory; public CreateFileSystemShare(String shareName, String shareComment, String fileSystemId, String subDirectory) { this(shareName, shareComment, uri(fileSystemId), subDirectory); } public CreateFileSystemShare(String shareName, String shareComment, URI fileSystemId, String subDirectory) { this.shareName = shareName; this.shareComment = shareComment; this.fileSystemId = fileSystemId; this.subDirectory = subDirectory; provideDetailArgs(fileSystemId, shareName, shareComment, subDirectory); } @Override protected Task<FileShareRestRep> doExecute() throws Exception { FileSystemShareParam fileShare = new FileSystemShareParam(); fileShare.setShareName(shareName); if (StringUtils.isNotBlank(shareComment)) { fileShare.setDescription(shareComment); } if (StringUtils.isNotBlank(subDirectory)) { fileShare.setSubDirectory(subDirectory); } return getClient().fileSystems().share(fileSystemId, fileShare); } }