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 <[email protected]>
Signed-off-by: Sahina Bose <[email protected]>
---
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 <[email protected]>
Gerrit-Reviewer: anmolbabu <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches