private static int getFirstImage(List<DiskImage> images, DiskImage curr) { for (int i = 0; i < images.size(); i++) { if (curr.getParentId().equals(images.get(i).getImageId())) { return i; } } return -1; }
private static int getNextImage(List<DiskImage> images, DiskImage curr) { for (int i = 0; i < images.size(); i++) { if (images.get(i).getParentId().equals(curr.getImageId())) { return i; } } return -1; }
private boolean isRoot(DiskImage candidate, List<DiskImage> images) { for (DiskImage image : images) { if (candidate.getParentId().equals(image.getImageId())) { // if the candidate has a parent then it is not a root return false; } } // if we did not find a parent of a candidate then it is a root return true; }
public static boolean isDownloadAllowed(List<? extends Disk> disks) { return disks != null && !disks.isEmpty() && disks.stream() .allMatch((Predicate<Disk>) disk -> disk instanceof DiskImage && disk.getImageTransferPhase() == null && ((DiskImage) disk).getImageStatus() == ImageStatus.OK && ((DiskImage) disk).getActualSizeInBytes() > 0 && ((DiskImage) disk).getParentId().equals(Guid.Empty)); } }
private void writeDiskParentRef(DiskImage image) { if (image.getParentId().equals(Guid.Empty)) { _writer.writeAttributeString(getOvfUri(), "parentRef", ""); } else { int i = 0; while (_images.get(i).getImageId().equals(image.getParentId())) { i++; } List<DiskImage> res = _images.subList(i, _images.size() - 1); if (res.size() > 0) { _writer.writeAttributeString(getOvfUri(), "parentRef", OvfParser.createImageFile(res.get(0))); } else { _writer.writeAttributeString(getOvfUri(), "parentRef", ""); } } }
private boolean isExportCommandAvailable() { List<DiskImage> disks = asImages(getSelectedItems()); if (disks == null || disks.isEmpty()) { return false; } for (Disk disk : disks) { if (disk.getDiskStorageType() != DiskStorageType.IMAGE) { return false; } DiskImage diskImage = (DiskImage) disk; if (diskImage.getImageStatus() != ImageStatus.OK || !diskImage.getParentId().equals(Guid.Empty)) { return false; } } return true; }
protected DiskModel getTemplateDiskByVmDisk(DiskModel vmdisk) { for (DiskModel disk : getAllDisks()) { if (((DiskImage) disk.getDisk()).getImageId().equals(((DiskImage) vmdisk.getDisk()).getParentId())) { return disk; } } return null; }
for (Disk disk : guidListEntry.getValue()) { DiskImage diskImage = (DiskImage) disk; if (diskImage.getParentId() != null && !Guid.Empty.equals(diskImage.getParentId())) { List<StorageDomain> storageDomains = templateDisksStorageDomains.get(diskImage.getParentId()); if (storageDomains == null) { missingTemplateDiskMap.put(guidListEntry.getKey(), guidListEntry.getValue());
protected void postInitStorageDomains() { for (DiskModel disk : getDisks()) { DiskImage diskImage = (DiskImage) disk.getDisk(); // Source storage domains List<Guid> diskStorageIds = diskImage.getStorageIds(); List<StorageDomain> sourceStorageDomains = Linq.getStorageDomainsByIds(diskStorageIds, getActiveStorageDomains()); boolean isDiskBasedOnTemplate = !diskImage.getParentId().equals(Guid.Empty); ArrayList<StorageDomain> destStorageDomains = getDestinationDomains(getActiveStorageDomains(), sourceStorageDomains, disk, isDiskBasedOnTemplate); // Add prohibition reasons if (sourceStorageDomains.isEmpty() || destStorageDomains.isEmpty()) { problematicDisks.add(disk.getAlias().getEntity()); updateChangeability(disk, isDiskBasedOnTemplate, sourceStorageDomains.isEmpty(), destStorageDomains.isEmpty()); } // Sort and add storage domains Collections.sort(destStorageDomains, new NameableComparator()); Collections.sort(sourceStorageDomains, new NameableComparator()); disk.getStorageDomain().setItems(destStorageDomains); disk.getSourceStorageDomain().setItems(sourceStorageDomains); addSourceStorageDomainName(disk, sourceStorageDomains); } sortDisks(); postCopyOrMoveInit(); }
@Override public SafeHtml getTooltip(Disk object) { if (object.getDiskStorageType() != DiskStorageType.IMAGE && object.getDiskStorageType() != DiskStorageType.CINDER && object.getDiskStorageType() != DiskStorageType.MANAGED_BLOCK_STORAGE) { return null; } VolumeType originalVolumeType = null; for (DiskImage snapshot : ((DiskImage) object).getSnapshots()) { if (snapshot.getParentId() == null || snapshot.getParentId().equals(Guid.Empty)) { originalVolumeType = snapshot.getVolumeType(); break; } } if (originalVolumeType == null) { return null; } return SafeHtmlUtils.fromString( StringFormat.format("%s: %s", //$NON-NLS-1$ AssetProvider.getConstants().originalAllocationDisk(), EnumTranslator.getInstance().translate(originalVolumeType))); } };
di.appList = diskImage.appList; di.setImageTemplateId(diskImage.getImageTemplateId()); di.setParentId(diskImage.getParentId()); di.setImageStatus(diskImage.getImageStatus()); if (diskImage.getLastModified() != null) {
private void writeDrive() { for (DiskImage image : _images) { _writer.writeStartElement("Item"); _writer.writeElement(RASD_URI, "Caption", image.getDiskAlias()); _writer.writeElement(RASD_URI, "InstanceId", image.getImageId().toString()); _writer.writeElement(RASD_URI, "ResourceType", OvfHardware.DiskImage); _writer.writeElement(RASD_URI, "HostResource", getDriveHostResource(image)); _writer.writeElement(RASD_URI, "Parent", image.getParentId().toString()); _writer.writeElement(RASD_URI, "Template", image.getImageTemplateId().toString()); _writer.writeElement(RASD_URI, "ApplicationList", image.getAppList()); if (image.getStorageIds() != null && image.getStorageIds().size() > 0) { image.getStorageIds().forEach(guid -> _writer.writeElement(RASD_URI, "StorageId", guid.toString())); } if (image.getStoragePoolId() != null) { _writer.writeElement(RASD_URI, "StoragePoolId", image.getStoragePoolId().toString()); } _writer.writeElement(RASD_URI, "CreationDate", OvfParser.localDateToUtcDateString(image.getCreationDate())); _writer.writeElement(RASD_URI, "LastModified", OvfParser.localDateToUtcDateString(image.getLastModified())); _writer.writeElement(RASD_URI, "last_modified_date", OvfParser.localDateToUtcDateString(image.getLastModifiedDate())); writeManagedDeviceInfo(vmBase, image.getId()); _writer.writeEndElement(); // item } }