Moti Asayag has uploaded a new change for review.

Change subject: engine: Add GetVmsWithoutNetworkQuery
......................................................................

engine: Add GetVmsWithoutNetworkQuery

Added a query to retrieve all of the VMs within the same data-center
on which a network is configured, and none of the VMs has the network
attached to it.

The query will be used to show the user all the VMs that a specific
network is not attached to.

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


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/42/10342/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java
new file mode 100644
index 0000000..0a1d437
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+
+/**
+ * A query to retrieve all VMs that the given Network is not attached to 
within the data-center.
+ */
+public class GetVmsWithoutNetworkQuery<P extends IdQueryParameters> extends 
QueriesCommandBase<P> {
+
+    public GetVmsWithoutNetworkQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        
getQueryReturnValue().setReturnValue(getDbFacade().getVmDao().getAllWithoutNetwork(getParameters().getId()));
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java
new file mode 100644
index 0000000..4751926
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java
@@ -0,0 +1,46 @@
+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 GetVmsWithoutNetworkQueryTest
+        extends AbstractQueryTest<IdQueryParameters, 
GetVmsWithoutNetworkQuery<IdQueryParameters>> {
+
+    @Test
+    public void testExecuteQueryCommand() {
+        DbFacade dbFacade = getDbFacadeMockInstance();
+        VmDAO vmDao = mock(VmDAO.class);
+
+        Guid networkId = Guid.NewGuid();
+        VM expectedVm = new VM();
+        expectedVm.setStoragePoolId(networkId);
+
+        IdQueryParameters params = getQueryParameters();
+        when(params.getId()).thenReturn(networkId);
+
+        when(dbFacade.getVmDao()).thenReturn(vmDao);
+        
when(vmDao.getAllWithoutNetwork(networkId)).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 dcf6ab3..ea62737 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
@@ -16,6 +16,7 @@
     GetVmPayload(VdcQueryAuthType.User),
     IsBalloonEnabled(VdcQueryAuthType.User),
     GetVmsByDataCenterId,
+    GetVmsWithoutNetwork,
 
     // Vds queries
     IsVdsWithSameNameExist,


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0cc50f6739c96a5fa9c5e0bb1c5713b01abb2188
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