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

Reply via email to