Federico Simoncelli has uploaded a new change for review.

Change subject: restapi: generalize getStoragePoolIdForDomain
......................................................................

restapi: generalize getStoragePoolIdForDomain

Change-Id: I176c8508de20e729d7c8b851aa3733cc0aa596cb
Signed-off-by: Federico Simoncelli <fsimo...@redhat.com>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDiskResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/StorageDomainHelper.java
4 files changed, 31 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/18438/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
index 0c11c4a..52cb391 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java
@@ -110,7 +110,7 @@
         return clz.cast(result.getReturnValue());
     }
 
-    protected <T> List<T> getBackendCollection(Class<T> clz, VdcQueryType 
query, VdcQueryParametersBase queryParams) {
+    public <T> List<T> getBackendCollection(Class<T> clz, VdcQueryType query, 
VdcQueryParametersBase queryParams) {
         try {
             VdcQueryReturnValue result = runQuery(query, queryParams);
             if (!result.getSucceeded()) {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDiskResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDiskResource.java
index 5485662..9eb1f41 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDiskResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDiskResource.java
@@ -3,6 +3,7 @@
 import org.ovirt.engine.api.common.util.QueryHelper;
 import org.ovirt.engine.api.model.Disk;
 import org.ovirt.engine.api.model.StorageDomain;
+import org.ovirt.engine.api.restapi.util.StorageDomainHelper;
 import org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
@@ -30,7 +31,9 @@
             VdcQueryReturnValue result = 
runQuery(VdcQueryType.GetDiskByDiskId, new IdQueryParameters(guid));
             if (!result.getSucceeded() || result.getReturnValue() == null) {
                 Guid storageDomainGuid = asGuid(storageDomainId);
-                disk = super.performGet(VdcQueryType.GetUnregisteredDisk, new 
GetUnregisteredDiskQueryParameters(guid, storageDomainGuid, 
parent.getStoragePoolIdForDomain(storageDomainGuid)));
+                disk = super.performGet(VdcQueryType.GetUnregisteredDisk,
+                        new GetUnregisteredDiskQueryParameters(guid, 
storageDomainGuid,
+                                
StorageDomainHelper.getStoragePoolIdForDomain(this, storageDomainGuid)));
             } 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.
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java
index 6d9c34d..4db25a0 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java
@@ -1,7 +1,5 @@
 package org.ovirt.engine.api.restapi.resource;
 
-import java.util.List;
-
 import javax.ws.rs.core.Response;
 
 import org.ovirt.engine.api.common.util.QueryHelper;
@@ -9,12 +7,12 @@
 import org.ovirt.engine.api.model.Disks;
 import org.ovirt.engine.api.model.StorageDomain;
 import org.ovirt.engine.api.resource.DiskResource;
+import org.ovirt.engine.api.restapi.util.StorageDomainHelper;
 import org.ovirt.engine.core.common.action.AddDiskParameters;
 import org.ovirt.engine.core.common.action.RegisterDiskParameters;
 import org.ovirt.engine.core.common.action.RemoveDiskParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
-import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters;
 import 
org.ovirt.engine.core.common.queries.GetUnregisteredDisksQueryParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
@@ -39,7 +37,8 @@
     public Disks list() {
         if (QueryHelper.hasMatrixParam(getUriInfo(), 
UNREGISTERED_CONSTRAINT_PARAMETER)) {
             return 
mapCollection(getBackendCollection(VdcQueryType.GetUnregisteredDisks,
-                    new GetUnregisteredDisksQueryParameters(storageDomainId, 
getStoragePoolIdForDomain(storageDomainId))));
+                    new GetUnregisteredDisksQueryParameters(storageDomainId,
+                            
StorageDomainHelper.getStoragePoolIdForDomain(this, storageDomainId))));
 
         } else {
             return 
mapCollection(getBackendCollection(VdcQueryType.GetAllDisksByStorageDomainId,
@@ -54,7 +53,8 @@
             // 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.
             GetUnregisteredDiskQueryParameters getDiskParams = new 
GetUnregisteredDiskQueryParameters(
-                    asGuid(disk.getId()), storageDomainId, 
getStoragePoolIdForDomain(storageDomainId));
+                    asGuid(disk.getId()), storageDomainId,
+                    StorageDomainHelper.getStoragePoolIdForDomain(this, 
storageDomainId));
             DiskImage unregisteredDisk =
                     getEntity(DiskImage.class, 
VdcQueryType.GetUnregisteredDisk, getDiskParams, disk.getId());
             unregisteredDisk =
@@ -99,17 +99,4 @@
         return storageDomainId;
     }
 
-    protected Guid getStoragePoolIdForDomain(Guid storageDomainId) {
-        // Retrieve the storage pools for the storage domain.
-        IdQueryParameters params = new IdQueryParameters(storageDomainId);
-        List<StoragePool> storagePools = 
getBackendCollection(StoragePool.class, 
VdcQueryType.GetStoragePoolsByStorageDomainId, params);
-
-        if (storagePools != null && !storagePools.isEmpty()) {
-            // Take the first storage pool. We should only be running on NFS 
domains and thus should only have a single
-            // storage pool to deal with.
-            return storagePools.get(0).getId();
-        } else {
-            return Guid.Empty;
-        }
-    }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/StorageDomainHelper.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/StorageDomainHelper.java
index 66d5aea..21d838e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/StorageDomainHelper.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/StorageDomainHelper.java
@@ -1,7 +1,14 @@
 package org.ovirt.engine.api.restapi.util;
 
+import org.ovirt.engine.api.restapi.resource.BackendResource;
+import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
+import org.ovirt.engine.core.compat.Guid;
+
+import java.util.List;
 
 public class StorageDomainHelper {
 
@@ -16,4 +23,18 @@
                     port==null ? null : Integer.toString(port),
                     "0");//TODO: when VSDM and Backend will support this, we 
will need to externalize portal to the user
     }
+
+    public static Guid getStoragePoolIdForDomain(BackendResource 
backendResource, Guid storageDomainId) {
+        IdQueryParameters params = new IdQueryParameters(storageDomainId);
+
+        List<StoragePool> storagePools = backendResource.getBackendCollection(
+                StoragePool.class, 
VdcQueryType.GetStoragePoolsByStorageDomainId, params);
+
+        if (storagePools != null && !storagePools.isEmpty()) {
+            return storagePools.get(0).getId();
+        } else {
+            return Guid.Empty;
+        }
+    }
+
 }


-- 
To view, visit http://gerrit.ovirt.org/18438
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I176c8508de20e729d7c8b851aa3733cc0aa596cb
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to