/*
* Copyright (c) 2014 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.impl.block.taskcompleter;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import com.emc.storageos.db.client.DbClient;
import com.emc.storageos.db.client.model.Migration;
import com.emc.storageos.db.client.model.Operation;
import com.emc.storageos.svcs.errorhandling.model.ServiceCoded;
public class VolumeVarrayChangeTaskCompleter extends VolumeWorkflowCompleter {
List<URI> _migrationURIs = new ArrayList<URI>();
public VolumeVarrayChangeTaskCompleter(List<URI> volUris, List<URI> migrationURIs, String task) {
super(volUris, task);
_migrationURIs.addAll(migrationURIs);
}
public VolumeVarrayChangeTaskCompleter(URI volUri, URI migrationURI, String task) {
super(volUri, task);
_migrationURIs.add(migrationURI);
}
@Override
protected void complete(DbClient dbClient, Operation.Status status, ServiceCoded serviceCoded) {
switch (status) {
case error:
for (URI migrationURI : _migrationURIs) {
dbClient.error(Migration.class, migrationURI, getOpId(), serviceCoded);
}
break;
case ready:
for (URI migrationURI : _migrationURIs) {
dbClient.ready(Migration.class, migrationURI, getOpId());
}
break;
default:
}
super.complete(dbClient, status, serviceCoded);
}
}