Shubhendu Tripathi has uploaded a new change for review. Change subject: gluster: BLL queries for volume snapshots list and count ......................................................................
gluster: BLL queries for volume snapshots list and count Introduced BLL queries for volume snapshots list and its total count for a given volume. Change-Id: I00cd2a52c9bd10946b8702d833d6f8f0ebb3f848 Signed-off-by: Shubhendu Tripathi <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsByVolumeIdQuery.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsCountByVolumeIdQuery.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterQueriesCommandBase.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDao.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java M packaging/dbscripts/gluster_volume_snapshot_sp.sql 7 files changed, 65 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/35674/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsByVolumeIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsByVolumeIdQuery.java new file mode 100644 index 0000000..c9ed48c --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsByVolumeIdQuery.java @@ -0,0 +1,14 @@ +package org.ovirt.engine.core.bll.gluster; + +import org.ovirt.engine.core.common.queries.IdQueryParameters; + +public class GetGlusterVolumeSnapshotsByVolumeIdQuery<P extends IdQueryParameters> extends GlusterQueriesCommandBase<P> { + public GetGlusterVolumeSnapshotsByVolumeIdQuery(P parameters) { + super(parameters); + } + + @Override + public void executeQueryCommand() { + getQueryReturnValue().setReturnValue(getGlusterVolumeSnapshotDao().getAllByVolumeId(getParameters().getId())); + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsCountByVolumeIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsCountByVolumeIdQuery.java new file mode 100644 index 0000000..f1b32b6 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeSnapshotsCountByVolumeIdQuery.java @@ -0,0 +1,14 @@ +package org.ovirt.engine.core.bll.gluster; + +import org.ovirt.engine.core.common.queries.IdQueryParameters; + +public class GetGlusterVolumeSnapshotsCountByVolumeIdQuery<P extends IdQueryParameters> extends GlusterQueriesCommandBase<P> { + public GetGlusterVolumeSnapshotsCountByVolumeIdQuery(P parameters) { + super(parameters); + } + + @Override + public void executeQueryCommand() { + getQueryReturnValue().setReturnValue(getGlusterVolumeSnapshotDao().GetGlusterVolumeSnapshotsCountByVolumeId(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 3843b97..fc5949d 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 @@ -18,6 +18,7 @@ import org.ovirt.engine.core.dao.gluster.GlusterHooksDao; import org.ovirt.engine.core.dao.gluster.GlusterServerServiceDao; import org.ovirt.engine.core.dao.gluster.GlusterVolumeDao; +import org.ovirt.engine.core.dao.gluster.GlusterVolumeSnapshotDao; public abstract class GlusterQueriesCommandBase<P extends VdcQueryParametersBase> extends QueriesCommandBase<P> { protected GlusterQueriesCommandBase(P parameters) { @@ -61,6 +62,10 @@ return DbFacade.getInstance().getGlusterGeoRepDao(); } + protected GlusterVolumeSnapshotDao getGlusterVolumeSnapshotDao() { + return DbFacade.getInstance().getGlusterVolumeSnapshotDao(); + } + protected Guid getUpServerId(Guid clusterId) { VDS vds = getClusterUtils().getUpServer(clusterId); if (vds == null) { 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 9a3ac64..547f6d1 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 @@ -337,6 +337,8 @@ GetGlusterVolumeGeoRepSessions, GetGlusterVolumeRemoveBricksStatus, GetGlusterVolumeByTaskId, + GetGlusterVolumeSnapshotsByVolumeId, + GetGlusterVolumeSnapshotsCountByVolumeId, GetDefaultConfigurationVersion(VdcQueryAuthType.User), OsRepository(VdcQueryAuthType.User), diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDao.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDao.java index e161384..aba091a 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDao.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDao.java @@ -18,6 +18,8 @@ public List<GlusterVolumeSnapshotEntity> getAllByVolumeId(Guid volumeId); + public int GetGlusterVolumeSnapshotsCountByVolumeId(Guid volumeId); + @Override public List<GlusterVolumeSnapshotEntity> getAllWithQuery(String query); diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java index 5a3d848..c9e7ef7 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterVolumeSnapshotDaoDbFacadeImpl.java @@ -61,6 +61,23 @@ return snapshots; } + private static RowMapper<Long> longMapper = new RowMapper<Long>() { + @Override + public Long mapRow(ResultSet resultSet, int i) throws SQLException { + return (Long) resultSet.getObject(1); + } + }; + + @Override + public int GetGlusterVolumeSnapshotsCountByVolumeId(Guid volumeId) { + MapSqlParameterSource parameterSource = new MapSqlParameterSource(); + int count = + getCallsHandler().executeRead("GetGlusterVolumeSnapshotsCountByVolumeId", + longMapper, + parameterSource).intValue(); + return count; + } + @Override public void remove(Guid id) { getCallsHandler().executeModification("DeleteGlusterVolumeSnapshotByGuid", createSnapshotIdParams(id)); diff --git a/packaging/dbscripts/gluster_volume_snapshot_sp.sql b/packaging/dbscripts/gluster_volume_snapshot_sp.sql index aa26201..d261a19 100644 --- a/packaging/dbscripts/gluster_volume_snapshot_sp.sql +++ b/packaging/dbscripts/gluster_volume_snapshot_sp.sql @@ -55,6 +55,17 @@ LANGUAGE plpgsql; +Create or replace FUNCTION GetGlusterVolumeSnapshotsCountByVolumeId(v_volume_id UUID) +RETURNS SETOF BIGINT STABLE + AS $procedure$ +BEGIN + RETURN QUERY SELECT count(*) + FROM gluster_volume_snapshots + WHERE volume_id = v_volume_id; +END; $procedure$ +LANGUAGE plpgsql; + + Create or replace FUNCTION DeleteGlusterVolumeSnapshotByGuid(v_snapshot_id UUID) RETURNS VOID AS $procedure$ -- To view, visit http://gerrit.ovirt.org/35674 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I00cd2a52c9bd10946b8702d833d6f8f0ebb3f848 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Shubhendu Tripathi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
