/*
* Copyright (c) 2016 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.protectionorchestrationcontroller;
import java.net.URI;
import com.emc.storageos.db.client.DbClient;
import com.emc.storageos.db.client.util.NullColumnValueGetter;
import com.emc.storageos.model.block.Copy;
import com.emc.storageos.volumecontroller.ControllerException;
import com.emc.storageos.volumecontroller.impl.Dispatcher;
public class ProtectionOrchestrationControllerImpl implements ProtectionOrchestrationController {
private Dispatcher _dispatcher;
private ProtectionOrchestrationController _controller;
private DbClient _dbClient;
// Operations
private static final String PERFORM_SRDF_PROTECTION_OPERATION = "performSRDFProtectionOperation";
private void execOrchestration(String methodName, Object... args) throws ControllerException {
_dispatcher.queue(NullColumnValueGetter.getNullURI(), PROTECTION_ORCHESTRATION_DEVICE,
getController(), methodName, args);
}
@Override
public void performSRDFProtectionOperation(URI storageSystemId, Copy copy, String op, String task) {
execOrchestration(PERFORM_SRDF_PROTECTION_OPERATION, storageSystemId, copy, op, task);
}
public Dispatcher getDispatcher() {
return _dispatcher;
}
public void setDispatcher(Dispatcher dispatcher) {
this._dispatcher = dispatcher;
}
public ProtectionOrchestrationController getController() {
return _controller;
}
public void setController(ProtectionOrchestrationController controller) {
this._controller = controller;
}
public DbClient getDbClient() {
return _dbClient;
}
public void setDbClient(DbClient dbClient) {
this._dbClient = dbClient;
}
}