package betsy.bpel.virtual.host.virtualbox;
import java.nio.file.Path;
import betsy.bpel.virtual.host.VirtualBox;
import betsy.bpel.virtual.host.VirtualBoxMachine;
import betsy.bpel.virtual.host.exceptions.vm.VirtualMachineNotFoundException;
public class VirtualBoxImpl implements VirtualBox {
private final VBoxController controller = new VBoxController();
@Override
public VirtualBoxMachine getVirtualMachineByName(String name) throws VirtualMachineNotFoundException {
return controller.getVirtualMachine(name);
}
@Override
public VirtualBoxMachine importVirtualMachine(String vmName, String engineName, Path downloadPath)
throws VirtualMachineNotFoundException {
try {
return getVirtualMachineByName(vmName);
} catch (Exception ignore) {
// not imported - proceed
}
VirtualMachineImporter importer = new VirtualMachineImporter(vmName, engineName, downloadPath, controller);
importer.makeVMAvailable();
return getVirtualMachineByName(vmName);
}
}