/* * Copyright (c) 2016 EMC * All Rights Reserved */ package com.emc.sa.service.vipr.file.tasks; import java.net.URI; import java.util.HashSet; import java.util.Set; import com.emc.sa.service.vipr.tasks.WaitForTask; import com.emc.storageos.model.file.FileShareRestRep; import com.emc.storageos.model.file.FileSystemVirtualPoolChangeParam; import com.emc.vipr.client.Task; public class ChangeFileVirtualPool extends WaitForTask<FileShareRestRep> { private URI fileId; private URI targetVirtualPoolId; private URI targetVArray; private URI filePolicy; public ChangeFileVirtualPool(URI fileId, URI targetVirtualPoolId, URI filePolicy, URI targetVArray) { this.fileId = fileId; this.targetVirtualPoolId = targetVirtualPoolId; this.targetVArray = targetVArray; this.filePolicy = filePolicy; provideDetailArgs(fileId, targetVirtualPoolId, filePolicy, targetVArray); } @Override protected Task<FileShareRestRep> doExecute() throws Exception { FileSystemVirtualPoolChangeParam param = new FileSystemVirtualPoolChangeParam(); param.setVirtualPool(targetVirtualPoolId); param.setFilePolicy(filePolicy); Set<URI> targetArrays = new HashSet<URI>(); targetArrays.add(targetVArray); param.setTargetVArrays(targetArrays); return getClient().fileSystems().changeFileVirtualPool(fileId, param); } }