Hello anmolbabu, I'd like you to do a code review. Please visit
https://gerrit.ovirt.org/39397 to review the following change. Change subject: engine : Bll query to get GeoRep Sessions for volume ...................................................................... engine : Bll query to get GeoRep Sessions for volume This patch provides bll query for obtaining gluster geo rep session list for a given volume id Bug-Url: https://bugzilla.redhat.com/1138116 Change-Id: Ie4c6c372d3680dc9d13cf31ade3b640ee3c86819 Signed-off-by: Anmol Babu <anb...@redhat.com> Signed-off-by: Sahina Bose <sab...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterQueriesCommandBase.java A backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQueryTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 4 files changed, 96 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/97/39397/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQuery.java new file mode 100644 index 0000000..9f9f409 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQuery.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.core.bll.gluster; + +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao; + +public class GetGlusterVolumeGeoRepSessionsQuery<P extends IdQueryParameters> extends GlusterQueriesCommandBase<P>{ + + public GetGlusterVolumeGeoRepSessionsQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + GlusterGeoRepDao geoRepDao = getGeoRepDao(); + getQueryReturnValue().setReturnValue(geoRepDao.getGeoRepSessions(getParameters().getId())); + } + +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterQueriesCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterQueriesCommandBase.java index 94af3e8..3843b97 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterQueriesCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterQueriesCommandBase.java @@ -14,6 +14,7 @@ import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dao.gluster.GlusterBrickDao; import org.ovirt.engine.core.dao.gluster.GlusterClusterServiceDao; +import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao; import org.ovirt.engine.core.dao.gluster.GlusterHooksDao; import org.ovirt.engine.core.dao.gluster.GlusterServerServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeDao; @@ -56,6 +57,10 @@ return ClusterUtils.getInstance(); } + protected GlusterGeoRepDao getGeoRepDao() { + return DbFacade.getInstance().getGlusterGeoRepDao(); + } + protected Guid getUpServerId(Guid clusterId) { VDS vds = getClusterUtils().getUpServer(clusterId); if (vds == null) { diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQueryTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQueryTest.java new file mode 100644 index 0000000..accbc1d --- /dev/null +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepSessionsQueryTest.java @@ -0,0 +1,72 @@ +package org.ovirt.engine.core.bll.gluster; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.ovirt.engine.core.bll.AbstractQueryTest; +import org.ovirt.engine.core.common.businessentities.gluster.GeoRepSessionStatus; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterGeoRepSession; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao; + + + +public class GetGlusterVolumeGeoRepSessionsQueryTest extends AbstractQueryTest<IdQueryParameters, GetGlusterVolumeGeoRepSessionsQuery<IdQueryParameters>>{ + + private Guid masterVolumeId = Guid.newGuid(); + private Guid sessionId = Guid.newGuid(); + private Guid slaveVolumeId = Guid.newGuid(); + private Guid slaveNodeUuid = Guid.newGuid(); + + private GlusterGeoRepDao geoRepDao; + + private List<GlusterGeoRepSession> getMockGeoRepSessions() { + List<GlusterGeoRepSession> sessions = new ArrayList<GlusterGeoRepSession>(); + + GlusterGeoRepSession session = new GlusterGeoRepSession(); + session.setId(sessionId); + session.setMasterVolumeId(masterVolumeId); + session.setSessionKey(""); + session.setSlaveHostName("slave-host-1"); + session.setSlaveVolumeId(slaveVolumeId); + session.setSlaveNodeUuid(slaveNodeUuid); + session.setSlaveVolumeName(""); + session.setStatus(GeoRepSessionStatus.ACTIVE); + + sessions.add(session); + + return sessions; + } + + @Before + @Override + public void setUp() throws Exception { + super.setUp(); + setUpMock(); + } + + private void setUpMock() { + geoRepDao = mock(GlusterGeoRepDao.class); + doReturn(geoRepDao).when(getQuery()).getGeoRepDao(); + doReturn(masterVolumeId).when(getQueryParameters()).getId(); + doReturn(getMockGeoRepSessions()).when(geoRepDao).getGeoRepSessions(masterVolumeId); + } + + @Test + public void testQueryForStatus() { + getQuery().executeQueryCommand(); + + List<GlusterGeoRepSession> expected = getMockGeoRepSessions(); + + List<GlusterGeoRepSession> actual = getQuery().getQueryReturnValue().getReturnValue(); + + assertEquals(actual, expected); + } +} 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 259b876..14b6020 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 @@ -333,6 +333,7 @@ GetGlusterServerServicesByServerId, GetGlusterClusterServiceByClusterId, GetGlusterVolumeRebalanceStatus, + GetGlusterVolumeGeoRepSessions, GetGlusterVolumeRemoveBricksStatus, GetGlusterVolumeByTaskId, -- To view, visit https://gerrit.ovirt.org/39397 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie4c6c372d3680dc9d13cf31ade3b640ee3c86819 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5-gluster Gerrit-Owner: Sahina Bose <sab...@redhat.com> Gerrit-Reviewer: anmolbabu <anb...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches