/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vipr.block.tasks; import java.net.URI; import java.util.Collection; import java.util.Collections; import java.util.Set; import com.emc.sa.service.vipr.tasks.WaitForTask; import com.emc.storageos.model.block.export.ExportGroupRestRep; import com.emc.storageos.model.block.export.ExportUpdateParam; import com.emc.vipr.client.Task; import com.google.common.collect.Sets; public class RemoveBlockResourcesFromExport extends WaitForTask<ExportGroupRestRep> { private URI exportId; private Set<URI> resourceIds; public RemoveBlockResourcesFromExport(URI exportId, URI volumeId) { this(exportId, Collections.singleton(volumeId)); } public RemoveBlockResourcesFromExport(URI exportId, Collection<URI> resourceIds) { super(); this.exportId = exportId; this.resourceIds = Sets.newHashSet(resourceIds); provideDetailArgs(resourceIds, exportId); } @Override protected Task<ExportGroupRestRep> doExecute() throws Exception { ExportUpdateParam export = new ExportUpdateParam(); for (URI volumeId : resourceIds) { export.removeVolume(volumeId); } return getClient().blockExports().update(exportId, export); } }