anmolbabu has uploaded a new change for review.

Change subject: engine : Bll for GeoRep Session Status
......................................................................

engine : Bll for GeoRep Session Status

This patch provides bll for obtaining gluster volume
geo rep sessions' status per master volume.

Change-Id: Ie4c6c372d3680dc9d13cf31ade3b640ee3c86819
Signed-off-by: Anmol Babu <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepStatusQuery.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/GetGlusterVolumeGeoRepStatusQueryTest.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
4 files changed, 94 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/96/31696/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepStatusQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepStatusQuery.java
new file mode 100644
index 0000000..74d5e42
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepStatusQuery.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.core.bll.gluster;
+
+import 
org.ovirt.engine.core.common.queries.gluster.GlusterVolumeQueriesParameters;
+import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao;
+
+public class GetGlusterVolumeGeoRepStatusQuery<P extends 
GlusterVolumeQueriesParameters> extends GlusterQueriesCommandBase<P>{
+
+    public GetGlusterVolumeGeoRepStatusQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        GlusterGeoRepDao geoRepDao = getGeoRepDao();
+        
getQueryReturnValue().setReturnValue(geoRepDao.getGeoRepSessions(getParameters().getVolumeId()));
+    }
+
+}
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/GetGlusterVolumeGeoRepStatusQueryTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepStatusQueryTest.java
new file mode 100644
index 0000000..2221fae
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeGeoRepStatusQueryTest.java
@@ -0,0 +1,70 @@
+package org.ovirt.engine.core.bll.gluster;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+import java.util.ArrayList;
+import java.util.List;
+import static org.mockito.Mockito.mock;
+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.gluster.GlusterVolumeQueriesParameters;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dao.gluster.GlusterGeoRepDao;
+
+
+
+public class GetGlusterVolumeGeoRepStatusQueryTest extends 
AbstractQueryTest<GlusterVolumeQueriesParameters, 
GetGlusterVolumeGeoRepStatusQuery<GlusterVolumeQueriesParameters>>{
+
+    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()).getVolumeId();
+        
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 c540c82..3b14f41 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
@@ -325,6 +325,7 @@
     GetGlusterServerServicesByServerId,
     GetGlusterClusterServiceByClusterId,
     GetGlusterVolumeRebalanceStatus,
+    GetGlusterVolumeGeoRepStatus,
     GetGlusterVolumeRemoveBricksStatus,
     GetGlusterVolumeByTaskId,
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie4c6c372d3680dc9d13cf31ade3b640ee3c86819
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: anmolbabu <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to