use of org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters in project ovirt-engine by oVirt.
the class AbstractBackendStorageDomainDiskResource method get.
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 {
// 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();
}
use of org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters in project ovirt-engine by oVirt.
the class AbstractBackendStorageDomainDisksResource method add.
public Response add(Disk disk) {
// Unregistering a disk using this method was deprecated in version 4.2
// unregistered support for add disk has moved to BackendAttachedStorageDomainDiskResource..
boolean unregistered = ParametersHelper.getBooleanParameter(httpHeaders, uriInfo, UNREGISTERED, true, false);
if (unregistered) {
// First we need to query the backend to fill in all the information about the disk from the VDSM.
// We don't just use the information from the Disk object because it's missing a few things like creation
// date and last modified date.
Guid dataCenterId = BackendDataCenterHelper.lookupByStorageDomainId(this, storageDomainId);
GetUnregisteredDiskQueryParameters getDiskParams = new GetUnregisteredDiskQueryParameters(asGuid(disk.getId()), storageDomainId, dataCenterId);
DiskImage unregisteredDisk = getEntity(DiskImage.class, QueryType.GetUnregisteredDisk, getDiskParams, disk.getId());
unregisteredDisk = (DiskImage) getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.storage.Disk.class).map(disk, unregisteredDisk);
RegisterDiskParameters registerDiskParams = new RegisterDiskParameters(unregisteredDisk, storageDomainId);
return performCreate(ActionType.RegisterDisk, registerDiskParams, ID_RESOLVER);
} else {
validateDiskForCreation(disk);
AddDiskParameters params = new AddDiskParameters();
params.setDiskInfo(getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.storage.Disk.class).map(disk, null));
params.setStorageDomainId(this.storageDomainId);
return performCreate(ActionType.AddDisk, params, ID_RESOLVER);
}
}
Aggregations