Daniel Erez has uploaded a new change for review. Change subject: core: GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery ......................................................................
core: GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery Adding a query for fetching a specific unregistered Cinder disk by Id and storage domain Id (needed for register command and rest-api). Change-Id: Idc4774771fa77866db85bb0cbffecc702237ce6f Bug-Url: https://bugzilla.redhat.com/1185826 Signed-off-by: Daniel Erez <de...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/GetCinderEntityByStorageDomainIdParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 3 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/39651/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery.java new file mode 100644 index 0000000..2980410 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery.java @@ -0,0 +1,34 @@ +package org.ovirt.engine.core.bll.storage; + +import org.ovirt.engine.core.bll.context.EngineContext; +import org.ovirt.engine.core.common.action.GetCinderEntityByStorageDomainIdParameters; +import org.ovirt.engine.core.common.businessentities.storage.CinderDisk; +import org.ovirt.engine.core.common.businessentities.storage.Disk; +import org.ovirt.engine.core.compat.Guid; + +import com.woorea.openstack.cinder.model.Volume; + +public class GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery<P extends GetCinderEntityByStorageDomainIdParameters> + extends CinderQueryBase<P> { + + public GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery(P parameters) { + this(parameters, null); + } + + public GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery(P parameters, EngineContext context) { + super(parameters, context); + } + + @Override + protected void executeQueryCommand() { + Disk diskFromDao = getDbFacade().getDiskDao().get(getParameters().getEntityId()); + if (diskFromDao != null) { + getQueryReturnValue().setReturnValue(null); + return; + } + Volume Volume = getVolumeProviderProxy().getVolumeById(getParameters().getEntityId().toString()); + Guid storageDomainId = getParameters().getId(); + CinderDisk unregisteredDisk = CinderBroker.volumeToCinderDisk(Volume, storageDomainId); + getQueryReturnValue().setReturnValue(unregisteredDisk); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/GetCinderEntityByStorageDomainIdParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/GetCinderEntityByStorageDomainIdParameters.java new file mode 100644 index 0000000..f20c11b --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/GetCinderEntityByStorageDomainIdParameters.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.core.common.action; + +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.compat.Guid; + +public class GetCinderEntityByStorageDomainIdParameters extends IdQueryParameters { + + private Guid entityId; + + public GetCinderEntityByStorageDomainIdParameters() { + } + + public GetCinderEntityByStorageDomainIdParameters(Guid entityId, Guid storageDomainId) { + super(storageDomainId); + this.entityId = entityId; + } + + public Guid getEntityId() { + return entityId; + } + + public void setEntityId(Guid value) { + entityId = value; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java index c62e072..8d2e308 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java @@ -303,6 +303,7 @@ // Cinder GetCinderVolumeTypesByStorageDomainId(VdcQueryAuthType.User), GetUnregisteredCinderDisksByStorageDomainId, + GetUnregisteredCinderDiskByIdAndStorageDomainId, // Event Notification GetEventSubscribersBySubscriberIdGrouped, -- To view, visit https://gerrit.ovirt.org/39651 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idc4774771fa77866db85bb0cbffecc702237ce6f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <de...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches