Search in sources :

Example 6 with GetUnregisteredDiskQueryParameters

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();
}
Also used : QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) StorageDomain(org.ovirt.engine.api.model.StorageDomain) IdQueryParameters(org.ovirt.engine.core.common.queries.IdQueryParameters) Guid(org.ovirt.engine.core.compat.Guid) GetUnregisteredDiskQueryParameters(org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters) Disk(org.ovirt.engine.api.model.Disk)

Example 7 with GetUnregisteredDiskQueryParameters

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);
    }
}
Also used : Guid(org.ovirt.engine.core.compat.Guid) AddDiskParameters(org.ovirt.engine.core.common.action.AddDiskParameters) RegisterDiskParameters(org.ovirt.engine.core.common.action.RegisterDiskParameters) GetUnregisteredDiskQueryParameters(org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Disk(org.ovirt.engine.api.model.Disk)

Aggregations

GetUnregisteredDiskQueryParameters (org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters)7 QueryReturnValue (org.ovirt.engine.core.common.queries.QueryReturnValue)5 Guid (org.ovirt.engine.core.compat.Guid)5 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)4 Disk (org.ovirt.engine.api.model.Disk)3 IdQueryParameters (org.ovirt.engine.core.common.queries.IdQueryParameters)3 StorageDomain (org.ovirt.engine.api.model.StorageDomain)2 RegisterDiskParameters (org.ovirt.engine.core.common.action.RegisterDiskParameters)2 VDSReturnValue (org.ovirt.engine.core.common.vdscommands.VDSReturnValue)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 AddDiskParameters (org.ovirt.engine.core.common.action.AddDiskParameters)1 StorageDomain (org.ovirt.engine.core.common.businessentities.StorageDomain)1 Disk (org.ovirt.engine.core.common.businessentities.storage.Disk)1 GetImagesListVDSCommandParameters (org.ovirt.engine.core.common.vdscommands.GetImagesListVDSCommandParameters)1