Kanagaraj M has uploaded a new change for review. Change subject: engine : Added GetGlusterHookById query ......................................................................
engine : Added GetGlusterHookById query This will query will return corresponding hook entity. The hook entity will contain the server hooks only if the flag includeServerHooks in true. Added dao method and test case for the same. Change-Id: I9b428d9cebfb9565250c57926561ffa73df7c179 Signed-off-by: Kanagaraj M <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterHookByIdQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerHook.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/gluster/GlusterHookQueryParameters.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDao.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoTest.java 7 files changed, 127 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/65/14765/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterHookByIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterHookByIdQuery.java new file mode 100644 index 0000000..282f6f1 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterHookByIdQuery.java @@ -0,0 +1,23 @@ +package org.ovirt.engine.core.bll.gluster; + +import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookEntity; +import org.ovirt.engine.core.common.queries.gluster.GlusterHookQueryParameters; + +/** + * Query to fetch a single gluster volume given the volume ID + */ +public class GetGlusterHookByIdQuery<P extends GlusterHookQueryParameters> extends GlusterQueriesCommandBase<P> { + + public GetGlusterHookByIdQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + GlusterHookEntity hookEntity = getGlusterHookDao().getById(getParameters().getHookId()); + if (hookEntity != null && getParameters().isIncludeSeverHooks()) { + hookEntity.setServerHooks(getGlusterHookDao().getGlusterServerHooks(getParameters().getHookId())); + } + getQueryReturnValue().setReturnValue(hookEntity); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerHook.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerHook.java index 19cd9ff..4c4061f 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerHook.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerHook.java @@ -2,6 +2,7 @@ import java.io.Serializable; +import org.ovirt.engine.core.common.utils.ObjectUtils; import org.ovirt.engine.core.compat.Guid; public class GlusterServerHook implements Serializable { @@ -74,4 +75,30 @@ this.checksum = checksum; } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + hookId.hashCode(); + result = prime * result + ((serverId == null) ? 0 : serverId.hashCode()); + result = prime * result + ((status == null) ? 0 : status.hashCode()); + result = prime * result + ((contentType == null) ? 0 : contentType.hashCode()); + result = prime * result + ((checksum == null) ? 0 : checksum.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof GlusterServerHook)) { + return false; + } + GlusterServerHook serverHook = (GlusterServerHook) obj; + + return ObjectUtils.objectsEqual(getHookId(), serverHook.getHookId()) + && ObjectUtils.objectsEqual(getServerId(), serverHook.getServerId()) + && ObjectUtils.objectsEqual(getStatus(), serverHook.getStatus()) + && ObjectUtils.objectsEqual(getContentType(), serverHook.getContentType()) + && ObjectUtils.objectsEqual(getChecksum(), serverHook.getChecksum()); + } + } 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 e194314..f5f8d92 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 @@ -230,6 +230,7 @@ GetGlusterVolumeAdvancedDetails, GetGlusterVolumeProfileInfo, GetGlusterHooks, + GetGlusterHookById, GetDefaultConfigurationVersion(VdcQueryAuthType.User), diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/gluster/GlusterHookQueryParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/gluster/GlusterHookQueryParameters.java new file mode 100644 index 0000000..087926a --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/gluster/GlusterHookQueryParameters.java @@ -0,0 +1,39 @@ +package org.ovirt.engine.core.common.queries.gluster; + +import org.ovirt.engine.core.compat.Guid; + +public class GlusterHookQueryParameters extends GlusterParameters { + + private static final long serialVersionUID = -7687304241216035713L; + + private Guid hookId; + + private boolean includeSeverHooks = false; + + public GlusterHookQueryParameters(Guid clusterId, Guid hookId) { + super(clusterId); + this.hookId = hookId; + } + + public GlusterHookQueryParameters(Guid clusterId, Guid hookId, boolean includeServerHooks) { + this(clusterId, hookId); + this.includeSeverHooks = includeServerHooks; + } + + public Guid getHookId() { + return hookId; + } + + public void setHookId(Guid hookId) { + this.hookId = hookId; + } + + public boolean isIncludeSeverHooks() { + return includeSeverHooks; + } + + public void setIncludeSeverHooks(boolean includeSeverHooks) { + this.includeSeverHooks = includeSeverHooks; + } + +} diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDao.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDao.java index 052fe23..d500649 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDao.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDao.java @@ -38,6 +38,8 @@ public GlusterHookEntity getGlusterHook(Guid clusterId, String glusterCommand, GlusterHookStage stage, String hookName); + public List<GlusterServerHook> getGlusterServerHooks(Guid hookId); + public GlusterServerHook getGlusterServerHook(Guid hookId, Guid serverId); public List<GlusterHookEntity> getByClusterId(Guid clusterId); diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java index 5efb7c6..fd764ba 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoDbFacadeImpl.java @@ -75,6 +75,13 @@ return glusterHook; } + @Override + public List<GlusterServerHook> getGlusterServerHooks(Guid hookId) { + List<GlusterServerHook> serverHooks = + getCallsHandler().executeReadList("GetGlusterServerHooksById", glusterServerHookRowMapper, + createIdParameterMapper(hookId)); + return serverHooks; + } @Override public GlusterServerHook getGlusterServerHook(Guid hookId, Guid serverId) { diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoTest.java index 2cf366f..28eb8b3 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterHooksDaoTest.java @@ -24,7 +24,9 @@ private static final String EXISTING_HOOK_NAME = "28cifs_config"; private static final String HOOK_NAME = "georep"; private static final Guid SERVER_ID = new Guid("2001751e-549b-4e7a-aff6-32d36856c125"); + private static final Guid SERVER_ID2 = new Guid("23f6d691-5dfb-472b-86dc-9e1d2d3c18f3"); private static final String CHECKSUM = "0127f712fc008f857e77a2f3f179c710"; + private static final String CHECKSUM_HOOK1_SERVER1 = "bf35fa420d3e0f669e27b337062bf19f510480d4"; private GlusterHooksDao dao; private GlusterHookEntity getGlusterHook() { @@ -39,6 +41,19 @@ hook.setContentType(GlusterHookContentType.TEXT); hook.setConflictValue(false, false, false); return hook; + } + + private GlusterServerHook getGlusterServerHook(Guid serverId, + GlusterHookStatus status, + GlusterHookContentType contentType, + String checksum) { + GlusterServerHook serverHook = new GlusterServerHook(); + serverHook.setHookId(FixturesTool.HOOK_ID); + serverHook.setServerId(serverId); + serverHook.setStatus(status); + serverHook.setContentType(contentType); + serverHook.setChecksum(checksum); + return serverHook; } @Override @@ -79,6 +94,19 @@ } @Test + public void testGetServerHooks() { + GlusterServerHook serverHook1 = getGlusterServerHook(SERVER_ID, + GlusterHookStatus.ENABLED, GlusterHookContentType.TEXT, CHECKSUM_HOOK1_SERVER1); + GlusterServerHook serverHook2 = getGlusterServerHook(SERVER_ID2, + GlusterHookStatus.MISSING, null, null); + List<GlusterServerHook> serverHooks = dao.getGlusterServerHooks(FixturesTool.HOOK_ID); + assertNotNull(serverHooks); + assertEquals(2, serverHooks.size()); + assertTrue(serverHooks.contains(serverHook1)); + assertTrue(serverHooks.contains(serverHook2)); + } + + @Test public void testGetByClusterId() { List<GlusterHookEntity> hooks = dao.getByClusterId(FixturesTool.CLUSTER_ID); assertNotNull(hooks); -- To view, visit http://gerrit.ovirt.org/14765 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9b428d9cebfb9565250c57926561ffa73df7c179 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Kanagaraj M <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
