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
