Moti Asayag has uploaded a new change for review.

Change subject: engine: Add GetVmsByDataCenterIdQuery
......................................................................

engine: Add GetVmsByDataCenterIdQuery

Added GetVmsByDataCenterIdQuery for retrieving all of the
VMs for a given data-center.

The query will be used within the VMs sub-tab of the Network's
main tab for presenting all of the VMs per data-center in which
the network is configured.

Change-Id: Ic3c8c50145febc9b43fc9345a5e27ff38b027139
Signed-off-by: Moti Asayag <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQuery.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQueryTest.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
3 files changed, 64 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/10340/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQuery.java
new file mode 100644
index 0000000..acf1d4d
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQuery.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+
+/**
+ * A query to retrieve all the VMs for a given data-center.
+ */
+public class GetVmsByDataCenterIdQuery<P extends IdQueryParameters> extends 
QueriesCommandBase<P> {
+
+    public GetVmsByDataCenterIdQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        
getQueryReturnValue().setReturnValue(getDbFacade().getVmDao().getAllForDataCenter(getParameters().getId()));
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQueryTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQueryTest.java
new file mode 100644
index 0000000..6ace711
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsByDataCenterIdQueryTest.java
@@ -0,0 +1,45 @@
+package org.ovirt.engine.core.bll;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Test;
+import org.ovirt.engine.core.common.businessentities.VM;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dao.VmDAO;
+
+public class GetVmsByDataCenterIdQueryTest extends 
AbstractQueryTest<IdQueryParameters, 
GetVmsByDataCenterIdQuery<IdQueryParameters>> {
+
+    @Test
+    public void testExecuteQueryCommand() {
+        DbFacade dbFacade = getDbFacadeMockInstance();
+        VmDAO vmDao = mock(VmDAO.class);
+
+        Guid dataCenterId = Guid.NewGuid();
+        VM expectedVm = new VM();
+        expectedVm.setStoragePoolId(dataCenterId);
+
+        IdQueryParameters params = getQueryParameters();
+        when(params.getId()).thenReturn(dataCenterId);
+
+        when(dbFacade.getVmDao()).thenReturn(vmDao);
+        
when(vmDao.getAllForDataCenter(dataCenterId)).thenReturn(Arrays.asList(expectedVm));
+
+        getQuery().executeQueryCommand();
+
+        @SuppressWarnings("unchecked")
+        List<VM> vms = (List<VM>) 
getQuery().getQueryReturnValue().getReturnValue();
+
+        assertNotNull(vms);
+        assertEquals("There should be exactly one VM returned", 1, vms.size());
+        assertTrue("VM should be in the return value", 
vms.contains(expectedVm));
+    }
+}
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 be6a423..dcf6ab3 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
@@ -15,6 +15,7 @@
     GetVmsByDiskGuid,
     GetVmPayload(VdcQueryAuthType.User),
     IsBalloonEnabled(VdcQueryAuthType.User),
+    GetVmsByDataCenterId,
 
     // Vds queries
     IsVdsWithSameNameExist,


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic3c8c50145febc9b43fc9345a5e27ff38b027139
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to