private void DiskInterface_SelectedItemChanged() { boolean isLunDisk = getDiskStorageType().getEntity() == DiskStorageType.LUN; DiskInterface diskInterface = getDiskInterface().getSelectedItem(); getIsSgIoUnfiltered().setIsAvailable(isLunDisk && DiskInterface.VirtIO_SCSI.equals(diskInterface)); getIsScsiPassthrough().setIsAvailable(isLunDisk && DiskInterface.VirtIO_SCSI.equals(diskInterface)); getIsUsingScsiReservation().setIsAvailable(isLunDisk && DiskInterface.VirtIO_SCSI.equals(diskInterface)); getIsReadOnly().setIsAvailable(diskInterface != DiskInterface.IDE && diskInterface != DiskInterface.SATA); updatePassDiscardAvailability(); updateScsiPassthroughChangeability(); updateScsiReservationChangeability(); updateReadOnlyChangeability(); updatePlugChangeability(); updatePassDiscardChangeability(); updateWipeAfterDeleteChangeability(); }
private void updatePlugChangeability() { if (getVm() == null) { // No point in updating plug to VM if there's no VM return; } DiskInterface diskInterface = getDiskInterface().getSelectedItem(); boolean isVmRunning = getVm() != null && getVm().getStatus() != VMStatus.Down; if (DiskInterface.IDE.equals(diskInterface) && isVmRunning) { getIsPlugged().setIsChangeable(false, constants.cannotHotPlugDiskWithIdeInterface()); getIsPlugged().setEntity(false); } else { if (!canDiskBePlugged(getVm())) { getIsPlugged().setIsChangeable(false, constants.cannotPlugDiskIncorrectVmStatus()); getIsPlugged().setEntity(false); } else { getIsPlugged().setIsChangeable(isEditEnabled()); getIsPlugged().setEntity(true); } } }
LunDisk lunDisk = getLunDisk(); DiskInterface diskInterface = getDiskInterface().getSelectedItem(); if (DiskInterface.VirtIO_SCSI.equals(diskInterface)) { lunDisk.setSgio(!getIsScsiPassthrough().getEntity() ? null : getIsSgIoUnfiltered().getEntity() ?