/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vipr.file.tasks; import java.net.URI; import java.util.List; import org.apache.commons.lang.StringUtils; import com.emc.sa.service.vipr.tasks.ViPRExecutionTask; import com.emc.storageos.model.file.ExportRule; public class FindFileSystemExportRules extends ViPRExecutionTask<List<ExportRule>> { private final URI fileSystemId; private final Boolean allDirectory; private final String subDirectory; public FindFileSystemExportRules(String fileSystemId, Boolean allDirectory, String subDirectory) { this(uri(fileSystemId), allDirectory, subDirectory); } public FindFileSystemExportRules(URI fileSystemId, Boolean allDirectory, String subDirectory) { this.fileSystemId = fileSystemId; this.allDirectory = allDirectory; this.subDirectory = subDirectory; provideDetailArgs(fileSystemId, allDirectory, subDirectory); } public URI getFileSystemId() { return fileSystemId; } @Override public List<ExportRule> executeTask() throws Exception { // Don't pass a blank sub-directory to getExport String subDir = StringUtils.defaultIfEmpty(subDirectory, null); return getClient().fileSystems().getExport(fileSystemId, allDirectory, subDir); } }