@Override public Response deactivate(Action action) { VmDiskOperationParameterBase params = new VmDiskOperationParameterBase(new DiskVmElement(guid, vmId)); return doAction(ActionType.HotUnPlugDiskFromVm, params, action); }
public VmDiskOperationParameterBase(DiskVmElement diskVmElement, Disk diskInfo) { super(diskVmElement.getVmId()); setDiskVmElement(diskVmElement); setDiskInfo(diskInfo); }
@Override public Response activate(Action action) { VmDiskOperationParameterBase params = new VmDiskOperationParameterBase(new DiskVmElement(guid, vmId)); return doAction(ActionType.HotPlugDiskToVm, params, action); }
private ArrayList<ActionParametersBase> createPlugOrUnplugParams(boolean plug) { ArrayList<ActionParametersBase> parametersList = new ArrayList<>(); VM vm = getEntity(); for (Object item : getSelectedItems()) { Disk disk = (Disk) item; disk.setPlugged(plug); parametersList.add(new VmDiskOperationParameterBase(new DiskVmElement(disk.getId(), vm.getId()))); } return parametersList; }
@Override public ActionParametersBase getParameters(Disk incoming, org.ovirt.engine.core.common.businessentities.storage.Disk entity) { DiskVmElement dveFromDb = runQuery(QueryType.GetDiskVmElementById, new VmDeviceIdQueryParameters(new VmDeviceId(entity.getId(), vmId))).getReturnValue(); DiskVmElement updatedDve = updateDiskVmElementFromDisk(incoming, dveFromDb); return new VmDiskOperationParameterBase(updatedDve, map(incoming, entity)); } }
@Override public DiskAttachment update(DiskAttachment attachment) { if (attachment.isSetActive()) { DiskAttachment attachmentFromDb = get(); if (!attachmentFromDb.isActive().equals(attachment.isActive())) { ActionType actionType = attachment.isActive() ? ActionType.HotPlugDiskToVm : ActionType.HotUnPlugDiskFromVm; VmDiskOperationParameterBase params = new VmDiskOperationParameterBase(new DiskVmElement(guid, vmId)); try { doAction(actionType, params); } catch (BackendFailureException e) { return handleError(e, false); } } } return performUpdate(attachment, new AddDiskResolver(), ActionType.UpdateVmDisk, new UpdateParametersProvider()); }
@Override public void store(IFrontendActionAsyncCallback callback) { if (getProgress() != null || !validate()) { return; } startProgress(); VmDiskOperationParameterBase parameters = new VmDiskOperationParameterBase(getDiskVmElement(), getDisk()); IFrontendActionAsyncCallback onFinished = callback != null ? callback : result -> { EditDiskModel diskModel = (EditDiskModel) result.getState(); diskModel.stopProgress(); diskModel.cancel(); }; Frontend.getInstance().runAction(ActionType.UpdateVmDisk, parameters, onFinished, this); }
@Override public ActionParametersBase getParameters(DiskAttachment incoming, org.ovirt.engine.core.common.businessentities.storage.DiskVmElement entity) { DiskVmElement dve = map(incoming, entity); dve.getId().setVmId(vmId); // Disk has to be sent along with the attachment data to the update command Disk disk = runQuery(QueryType.GetDiskByDiskId, new IdQueryParameters(Guid.createGuidFromString(diskId))).getReturnValue(); // If a <disk> was specified inside the attachment data we can update its properties too if (incoming.isSetDisk()) { disk = DiskMapper.map(incoming.getDisk(), disk); // TODO: Remove this in version 5 of the API as the setting of the read only attribute should be from DiskAttachment if (incoming.getDisk().isSetReadOnly()) { dve.setReadOnly(incoming.getDisk().isReadOnly()); } } return new VmDiskOperationParameterBase(dve, disk); } }