public DiskVmElement getDiskAttachment(Guid id) { return parent.getDiskMap().get(id).getDiskVmElementForVm(parent.vm.getId()); } }
public static Map<VmDeviceId, DiskVmElement> extractDiskVmElements(VM vm) { Map<VmDeviceId, DiskVmElement> result = new HashMap<>(); for(Disk disk : vm.getDiskMap().values()) { DiskVmElement element = disk.getDiskVmElementForVm(vm.getId()); if (element != null) { result.put(element.getId(), element); } } return result; }
private Disk findBoot(List<Disk> disks, VM vm) { for (Disk disk : disks) { DiskVmElement dve = disk.getDiskVmElementForVm(vm.getId()); if (dve != null && dve.isBoot()) { return disk; } } return null; }
private boolean isDisksContainBootableDisk(List<Disk> disks) { for (Disk disk : disks) { if (disk.getDiskVmElementForVm(vm.getId()).isBoot()) { return true; } } return false; }
@Override public DiskAttachments list() { DiskAttachments attachments = new DiskAttachments(); attachments.getDiskAttachments().addAll(parent.getDiskMap().values().stream() .map(d -> map(d.getDiskVmElementForVm(parent.vm.getId()))).collect(Collectors.toList())); for (DiskAttachment diskAttachment : attachments.getDiskAttachments()) { addHref(diskAttachment); } return attachments; }
@Override public void updateCanSetBoot(List<Disk> vmDisks) { boolean bootDiskFound = false; for (Disk disk : vmDisks) { if (disk.getDiskVmElementForVm(getVmId()).isBoot()) { bootDiskFound = true; break; } } if (bootDiskFound) { getIsBootable().setIsChangeable(false); } else { addBootChangeListener(); } }
public void setDefaultInterface() { Guid vmId = getVmId(); if (Guid.isNullOrEmpty(vmId) || getDisk() == null) { boolean virtioScsiEnabled = Boolean.TRUE.equals(getIsVirtioScsiEnabled().getEntity()); getDiskInterface().setSelectedItem(virtioScsiEnabled ? DiskInterface.VirtIO_SCSI : DiskInterface.VirtIO); } else { getDiskInterface().setSelectedItem(getDisk().getDiskVmElementForVm(vmId).getDiskInterface()); } }
public boolean isPlugAvailableByDisks(boolean plug) { List<Disk> disks = getSelectedItems() != null ? getSelectedItems() : new ArrayList<Disk>(); for (Disk disk : disks) { boolean isLocked = disk.getDiskStorageType() == DiskStorageType.IMAGE && ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED; boolean isDiskHotpluggableInterface = false; if (getEntity() != null && disk.getDiskVmElementForVm(getEntity().getId()) != null) { isDiskHotpluggableInterface = AsyncDataProvider.getInstance().getDiskHotpluggableInterfaces( getEntity().getOs(), getEntity().getCompatibilityVersion()).contains(disk.getDiskVmElementForVm(getEntity().getId()).getDiskInterface()); } if (disk.getPlugged() == plug || isLocked || (!isDiskHotpluggableInterface && !isVmDown())) { return false; } } return true; }
@Override protected void addItemText(Object item) { DiskModel diskModel = (DiskModel) item; Disk disk = diskModel.getDisk(); boolean isInVm = diskModel.getVm() != null; notes.clear(); addItemLabel(getItemTextFormatted(disk.getDiskAlias())); if (disk.isShareable()) { notes.add(constants.shareable()); } if (isInVm && disk.getDiskVmElementForVm(diskModel.getVm().getId()) != null && disk.getDiskVmElementForVm(diskModel.getVm().getId()).isBoot()) { notes.add(constants.bootable()); } if (isInVm && disk.getNumberOfVms() > 1) { notes.add(messages.diskAttachedToOtherVMs(disk.getNumberOfVms() - 1, disk.getVmNames().get(0))); } else if (!isInVm && disk.getNumberOfVms() > 0) { notes.add(messages.diskAttachedToVMs(disk.getNumberOfVms())); } if (disk.getContentType() == DiskContentType.MEMORY_METADATA_VOLUME || disk.getContentType() == DiskContentType.MEMORY_DUMP_VOLUME) { notes.add(constants.memoryDisk()); notes.add(constants.otherMemoryDiskWillbeRemoved()); } if (!notes.isEmpty()) { String notes = constants.htmlTab() + messages.diskNote() + getFormattedNote(); addItemLabel(SafeHtmlUtils.fromSafeConstant("<b>" + notes + "</b>")); //$NON-NLS-1$ //$NON-NLS-2$ } addItemLabel(SafeHtmlUtils.fromSafeConstant(constants.lineBreak())); }
public void updateCanSetBoot(List<Disk> vmDisks) { getIsBootable().setIsChangeable(true); if (getDisk() == null || !getDisk().isDiskSnapshot()) { for (Disk disk : vmDisks) { if (disk.getDiskVmElementForVm(getVmId()).isBoot() && !disk.equals(getDisk())) { getIsBootable().setEntity(false); if (!disk.isDiskSnapshot()) { getIsBootable().setIsChangeable(false, constants.onlyOneBootableDisk()); break; } } } } }
private InstanceImageLineModel findBecomeNonBoot(Disk bootDisk) { for (InstanceImageLineModel model : getItems()) { if (model.isGhost()) { // this is not an actual item continue; } Disk disk = model.getDiskModel().getEntity().getDisk(); if (disk.getId() == null) { // does not yet exist on the server so no need to edit it continue; } if (disk.getId().equals(bootDisk.getId())) { if (disk.getDiskVmElementForVm(getVm().getId()).isBoot()) { return null; } else { // removed boot flag, this command has to be executed first so if other disk is marked as boot, // it will not fail with the message that you can have only one boot return model; } } } return null; }
super.initialize(); setDiskVmElement(getDisk().getDiskVmElementForVm(getVm().getId()));