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; }
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 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; } }
@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(); }
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(); }
static Disk getModel() { Disk model = new Disk(); model.setFormat(DiskFormat.COW); model.setSparse(true); model.setShareable(false); model.setPropagateErrors(true); model.setStorageDomains(new StorageDomains()); model.getStorageDomains().getStorageDomains().add(new StorageDomain()); model.getStorageDomains().getStorageDomains().get(0).setId(GUIDS[2].toString()); model.setProvisionedSize(1000000000L); return model; }
static Disk getModel() { Disk model = new Disk(); model.setProvisionedSize(1024 * 1024L); model.setFormat(DiskFormat.COW); model.setSparse(true); model.setShareable(false); model.setPropagateErrors(true); model.setStorageDomains(new StorageDomains()); model.getStorageDomains().getStorageDomains().add(new StorageDomain()); model.getStorageDomains().getStorageDomains().get(0).setId(GUIDS[2].toString()); return model; }
static Disk getModel() { Disk model = new Disk(); model.setProvisionedSize(1024 * 1024L); model.setFormat(DiskFormat.COW); model.setSparse(true); model.setShareable(false); model.setPropagateErrors(true); model.setStorageDomains(new StorageDomains()); model.getStorageDomains().getStorageDomains().add(new StorageDomain()); model.getStorageDomains().getStorageDomains().get(0).setId(GUIDS[2].toString()); return model; }
@Test @Override public void testList() throws Exception { UriInfo uriInfo = setUpUriExpectations(null); setUpEntityQueryExpectations(1, null); collection.setUriInfo(uriInfo); List<Disk> disks = getCollection(); for (Disk disk : disks) { assertNotNull(disk.getStorageDomains()); List<StorageDomain> storageDomains = disk.getStorageDomains().getStorageDomains(); assertEquals(1, storageDomains.size()); assertEquals(storageDomains.get(0).getId(), GUIDS[0].toString()); } verifyCollection(disks); }
getEntity(0)); Disk model = getModel(); model.getStorageDomains().getStorageDomains().get(0).setId(null); model.getStorageDomains().getStorageDomains().get(0).setName("Storage_Domain_1"); setUpCreationExpectations(ActionType.AddDisk, AddDiskParameters.class,
static void verifyModelSpecific(Disk model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertFalse(model.isSetVm()); assertTrue(model.isSparse()); assertTrue(model.isPropagateErrors()); assertEquals(model.getStorageDomains().getStorageDomains().get(0).getId(), STORAGE_DOMAIN_ID.toString()); } }
getStorageDomains().get(0)); Disk model = getModel(); model.getStorageDomains().getStorageDomains().get(0).setId(null); model.getStorageDomains().getStorageDomains().get(0).setName("Storage_Domain_1"); setUpEntityQueryExpectations(QueryType.GetAllStorageDomains, QueryParametersBase.class,
); Disk model = getModel(); model.getStorageDomains().getStorageDomains().get(0).setId(null); model.getStorageDomains().getStorageDomains().get(0).setName("Storage_Domain_1"); model.setProvisionedSize(1024 * 1024L);
diskImage.setActualSizeInBytes(disk.getInitialSize()); if (disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId()) { StorageDomain storageDomain = disk.getStorageDomains().getStorageDomains().get(0); diskImage.setStorageIds(new ArrayList<>()); diskImage.getStorageIds().add(Guid.createGuidFromStringDefaultEmpty(storageDomain.getId()));
StorageDomain storageDomain = new StorageDomain(); storageDomain.setId(GUIDS[3].toString()); model.getStorageDomains().getStorageDomains().add(storageDomain); model.setProvisionedSize(1024 * 1024L);