/* * 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 com.emc.sa.service.vipr.tasks.ViPRExecutionTask; import com.emc.storageos.model.file.FileSystemExportParam; public class FindNfsExport extends ViPRExecutionTask<FileSystemExportParam> { private final URI fileSystemId; private final String nfsExportMountPoint; private final List<FileSystemExportParam> nfsExports; public FindNfsExport(String fileSystemId, String nfsExportMountPoint, List<FileSystemExportParam> nfsExports) { this(uri(fileSystemId), nfsExportMountPoint, nfsExports); } public FindNfsExport(URI fileSystemId, String nfsExportMountPoint, List<FileSystemExportParam> nfsExports) { this.fileSystemId = fileSystemId; this.nfsExportMountPoint = nfsExportMountPoint; this.nfsExports = nfsExports; provideDetailArgs(fileSystemId, nfsExportMountPoint); } @Override public FileSystemExportParam executeTask() throws Exception { for (FileSystemExportParam export : nfsExports) { if (export.getMountPoint().equals(nfsExportMountPoint)) { return export; } } throw stateException("illegalState.findNfsExport", nfsExportMountPoint, fileSystemId); } }