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

Reply via email to