protected Guid getSourceStorageDomainId(Disk disk) { if (disk.isSetStorageDomains()) { StorageDomain storageDomain = disk.getStorageDomains().getStorageDomains().get(0); if (storageDomain != null) { return asGuid(storageDomain.getId()); } } return null; }
protected Guid getSourceStorageDomainId(Disk disk) { if (disk.isSetStorageDomains()) { StorageDomain storageDomain = disk.getStorageDomains().getStorageDomains().get(0); if (storageDomain != null) { return asGuid(storageDomain.getId()); } } return null; }
protected Disk addLinks(Disk model, Class<? extends BaseResource> suggestedParent, String... subCollectionMembersToExclude) { // Currently the method that adds the links doesn't take into account that links need to be added also to // elements of lists, so whe need to add them explicitly: Disk disk = super.addLinks(model, suggestedParent, subCollectionMembersToExclude); if (disk.isSetStorageDomains()) { disk.getStorageDomains().getStorageDomains().forEach( storageDomain -> LinkHelper.addLinks(storageDomain, null, false) ); } return disk; } }
@Override protected Disk addLinks(Disk model, Class<? extends BaseResource> suggestedParent, String... subCollectionMembersToExclude) { // Currently the method that adds the links doesn't take into account that links need to be added also to // elements of lists, so whe need to add them explicitly: Disk disk = super.addLinks(model, suggestedParent, subCollectionMembersToExclude); if (disk.isSetStorageDomains()) { disk.getStorageDomains().getStorageDomains().forEach( storageDomain -> LinkHelper.addLinks(storageDomain, null, false) ); } return disk; } }
private Guid getStorageDomainId(Disk disk) { if (disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId()) { return asGuid(disk.getStorageDomains().getStorageDomains().get(0).getId()); } else if (disk.isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetName()) { Guid storageDomainId = getStorageDomainIdByName(disk.getStorageDomains().getStorageDomains().get(0).getName()); if (storageDomainId == null) { notFound(StorageDomain.class); } else { return storageDomainId; } } return null; }
private Guid getStorageDomainId(Disk disk) { if (disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId()) { return asGuid(disk.getStorageDomains().getStorageDomains().get(0).getId()); } else if (disk.isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetName()) { String storageName = disk.getStorageDomains().getStorageDomains().get(0).getName(); Guid storageDomainId = getStorageDomainIdByName(storageName); if (storageDomainId == null) { notFound(storageName); } else { return storageDomainId; } } return null; }
private Map<Guid, DiskImage> getDisksToClone(DiskAttachments diskAttachments, Guid templateId) { Map<Guid, DiskImage> disksMap = new HashMap<>(); if (diskAttachments != null && diskAttachments.isSetDiskAttachments() && diskAttachments.getDiskAttachments().size() > 0){ Map<Guid, DiskImage> templatesDisksMap = getTemplateDisks(templateId); for (DiskAttachment diskAttachment : diskAttachments.getDiskAttachments()) { Disk disk = diskAttachment.getDisk(); if (disk != null && disk.isSetId()) { DiskImage templateDisk = templatesDisksMap.get(asGuid(disk.getId())); if (templateDisk != null) { // when disk profile isn't specified, and disks are cloned to another storage // domain then the original disk, disk profile is cleared since template disk // disk profile isn't matching destination storage domain. if (!disk.isSetDiskProfile() && disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId() && !Objects.equals(disk.getStorageDomains().getStorageDomains().get(0).getId(), Objects.toString(templateDisk.getStorageIds().get(0), null))) { templateDisk.setDiskProfileId(null); } disksMap.put(templateDisk.getId(), map(disk, templateDisk)); } else { throw new WebApplicationException(Response.Status.NOT_FOUND); } } } } return disksMap; }
protected Map<Guid, Guid> getDiskToDestinationMap(Action action) { Map<Guid, Guid> diskToDestinationMap = new HashMap<>(); if (action.isSetVm() && action.getVm().isSetDiskAttachments() && action.getVm().getDiskAttachments().isSetDiskAttachments()) { for (DiskAttachment diskAttachment : action.getVm().getDiskAttachments().getDiskAttachments()) { Disk disk = diskAttachment.getDisk(); if (disk != null && disk.isSetId() && disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId()) { diskToDestinationMap.put(Guid.createGuidFromStringDefaultEmpty(disk.getId()), Guid.createGuidFromStringDefaultEmpty(disk.getStorageDomains().getStorageDomains().get(0).getId())); } } } return diskToDestinationMap; } }
public Disk get() { Disk disk; boolean unregistered = ParametersHelper.getBooleanParameter(httpHeaders, uriInfo, UNREGISTERED, true, false); if (unregistered) { QueryReturnValue result = runQuery(QueryType.GetDiskByDiskId, new IdQueryParameters(guid)); if (!result.getSucceeded() || result.getReturnValue() == null) { Guid dataCenterId = BackendDataCenterHelper.lookupByStorageDomainId(this, storageDomainId); disk = performGet( QueryType.GetUnregisteredDisk, new GetUnregisteredDiskQueryParameters(guid, storageDomainId, dataCenterId) ); } else { // The disk was found in the first get which means it is already registered. We must return nothing // since the unregistered parameter was passed. return notFound(); } } else { disk = getDelegate().get(); } if (disk.isSetStorageDomains() && !disk.getStorageDomains().getStorageDomains().isEmpty()) { for (StorageDomain sd : disk.getStorageDomains().getStorageDomains()) { if (sd.isSetId() && sd.getId().equals(storageDomainId.toString())) { return disk; } } } return notFound(); }
@Override public Disk get() { Disk disk; boolean unregistered = ParametersHelper.getBooleanParameter(httpHeaders, uriInfo, UNREGISTERED_CONSTRAINT_PARAMETER, true, false); if (unregistered) { QueryReturnValue result = runQuery(QueryType.GetDiskByDiskId, new IdQueryParameters(guid)); if (!result.getSucceeded() || result.getReturnValue() == null) { Guid dataCenterId = BackendDataCenterHelper.lookupByStorageDomainId(this, storageDomainId); disk = performGet( QueryType.GetUnregisteredDisk, new GetUnregisteredDiskQueryParameters(guid, storageDomainId, dataCenterId), LinkHelper.NO_PARENT); } else { // The disk was found in the first get which means it is already registered. We must return nothing since the unregistered // parameter was passed. return notFound(); } } else { disk = getDelegate().get(); } if (disk.isSetStorageDomains() && !disk.getStorageDomains().getStorageDomains().isEmpty()) { for (StorageDomain sd : disk.getStorageDomains().getStorageDomains()) { if (sd.isSetId() && sd.getId().equals(storageDomainId.toString())) { return disk; } } } return notFound(); }
diskImage.setActualSizeInBytes(disk.getInitialSize()); if (disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId()) { StorageDomain storageDomain = disk.getStorageDomains().getStorageDomains().get(0);
if (!model.isSetStorageDomains()) { model.setStorageDomains(new StorageDomains());
to.setStorageDomain(adaptOut(from.getStorageDomain())); if (from.isSetStorageDomains()) { to.setStorageDomains(new V3StorageDomains()); to.getStorageDomains().getStorageDomains().addAll(adaptOut(from.getStorageDomains().getStorageDomains()));