/* * Copyright (c) 2016 EMC * All Rights Reserved */ package com.emc.sa.service.vipr.file.tasks; import java.net.URI; import com.emc.sa.service.vipr.tasks.WaitForTasks; import com.emc.storageos.model.file.FileCopy; import com.emc.storageos.model.file.FileReplicationParam; import com.emc.storageos.model.file.FileShareRestRep; import com.emc.vipr.client.Tasks; public class FailbackFileSystem extends WaitForTasks<FileShareRestRep> { public static final String REMOTE_TARGET = "remote"; private URI failbackSource; private URI failbackTarget; private String type; private boolean replicationConf; public FailbackFileSystem(URI failbackSource, URI failbackTarget, String type, boolean replicationConf) { this.failbackSource = failbackSource; this.failbackTarget = failbackTarget; this.type = type; this.replicationConf = replicationConf; provideDetailArgs(failbackSource, failbackTarget, type); } @Override protected Tasks<FileShareRestRep> doExecute() throws Exception { FileCopy copy = new FileCopy(); copy.setType(type); copy.setCopyID(failbackTarget); FileReplicationParam param = new FileReplicationParam(); param.setReplicateConfiguration(replicationConf); param.getCopies().add(copy); return getClient().fileSystems().failBackContinousCopies(failbackSource, param); } }