Ravi Nori has uploaded a new change for review. Change subject: engine : Remove dependency of IdQueryParameters from GetRoleByIdQuery ......................................................................
engine : Remove dependency of IdQueryParameters from GetRoleByIdQuery This patch uses the map in VdcQueryParametersBase to remove the dependency of IdQueryParameters from GetRoleByIdQuery. This patch ues the key VdcQueryParameter.RoleId to store and retrive the role id from the map in VdcQueryParametersBase. The api code and the test cases that call GetRoleById has been modified to use the map instead of IdQueryParameters Change-Id: I67fb4920f8107575dd26e173456a7edf99c3503f Signed-off-by: Ravi Nori <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetRoleByIdQuery.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRoleResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRoleResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRoleResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java 7 files changed, 91 insertions(+), 41 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/15/20415/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetRoleByIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetRoleByIdQuery.java index 76a8c5a..1b79d5b 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetRoleByIdQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetRoleByIdQuery.java @@ -1,9 +1,12 @@ package org.ovirt.engine.core.bll; -import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; +import org.ovirt.engine.core.common.utils.VdcParameter; +import org.ovirt.engine.core.common.utils.VdcParameterValue; +import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; -public class GetRoleByIdQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { +public class GetRoleByIdQuery<P extends VdcQueryParametersBase> extends QueriesCommandBase<P> { public GetRoleByIdQuery(P parameters) { @@ -12,6 +15,11 @@ @Override protected void executeQueryCommand() { - getQueryReturnValue().setReturnValue(DbFacade.getInstance().getRoleDao().get(getParameters().getId())); + getQueryReturnValue().setReturnValue(DbFacade.getInstance().getRoleDao().get(getRoleId())); + } + + private Guid getRoleId() { + VdcParameterValue paramValue = getParameters().getParameterValue(VdcParameter.RoleId); + return ((VdcParameterValue<Guid>) paramValue).getValue(); } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRoleResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRoleResource.java index e72ef10..5bcf531 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRoleResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRoleResource.java @@ -10,8 +10,10 @@ import org.ovirt.engine.core.common.action.RolesOperationsParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; -import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.InvalidParameterValueException; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.common.utils.VdcParameter; import org.ovirt.engine.core.compat.Guid; public class BackendRoleResource @@ -32,7 +34,7 @@ @Override public Role get() { return performGet(VdcQueryType.GetRoleById, - new IdQueryParameters(guid)); + getParameters(guid)); } @Override @@ -53,11 +55,26 @@ public Role update(Role role) { validateEnums(Role.class, role); return performUpdate(role, - new QueryIdResolver<Guid>(VdcQueryType.GetRoleById, IdQueryParameters.class), + new QueryIdResolver<Guid>(VdcQueryType.GetRoleById, VdcQueryParametersBase.class), VdcActionType.UpdateRole, new UpdateParametersProvider()); } + @Override + protected <T> VdcQueryParametersBase getQueryParams(Class<? extends VdcQueryParametersBase> queryParamsClass, T id) { + return getParameters(id); + } + + private <T> VdcQueryParametersBase getParameters(T id) { + VdcQueryParametersBase params = new VdcQueryParametersBase(); + try { + params.addParameter(VdcParameter.RoleId, id); + } catch (InvalidParameterValueException ex) { + LOG.error(ex); + } + return params; + } + public class UpdateParametersProvider implements ParametersProvider<Role, org.ovirt.engine.core.common.businessentities.Role> { @Override public VdcActionParametersBase getParameters(Role model, org.ovirt.engine.core.common.businessentities.Role entity) { diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java index f521cd8..591c90a 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java @@ -15,9 +15,11 @@ import org.ovirt.engine.core.common.action.RolesParameterBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ActionGroup; -import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.InvalidParameterValueException; import org.ovirt.engine.core.common.queries.MultilevelAdministrationsQueriesParameters; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.common.utils.VdcParameter; import org.ovirt.engine.core.compat.Guid; public class BackendRolesResource @@ -42,7 +44,18 @@ validateEnums(Role.class, role); return performCreate(VdcActionType.AddRoleWithActionGroups, new RoleWithActionGroupsParameters(map(role), mapPermits(role.getPermits().getPermits())), - new QueryIdResolver<Guid>(VdcQueryType.GetRoleById, IdQueryParameters.class)); + new QueryIdResolver<Guid>(VdcQueryType.GetRoleById, VdcQueryParametersBase.class)); + } + + @Override + protected <T> VdcQueryParametersBase getQueryParams(Class<? extends VdcQueryParametersBase> queryParamsClass, T id) { + VdcQueryParametersBase params = new VdcQueryParametersBase(); + try { + params.addParameter(VdcParameter.RoleId, id); + } catch (InvalidParameterValueException ex) { + LOG.error(ex); + } + return params; } @Override diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRoleResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRoleResourceTest.java index 496fc16..620b0ae 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRoleResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRoleResourceTest.java @@ -5,8 +5,9 @@ import org.junit.Test; import org.ovirt.engine.api.model.Role; import org.ovirt.engine.core.common.businessentities.RoleType; -import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.common.utils.VdcParameter; public abstract class AbstractBackendRoleResourceTest @@ -54,11 +55,12 @@ } protected void setUpGetEntityExpectations(boolean notFound) throws Exception { - setUpGetEntityExpectations(VdcQueryType.GetRoleById, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - notFound ? null : getEntity(0)); + setUpGetEntityExpectationsWithParamNames(VdcQueryType.GetRoleById, + VdcQueryParametersBase.class, + new String[] { "ParameterValue"}, + new Object[] { GUIDS[0] }, + new VdcParameter[] { VdcParameter.RoleId }, + notFound ? null : getEntity(0)); } @Override diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResourceTest.java index 2253699..b04386b 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResourceTest.java @@ -15,7 +15,9 @@ import org.ovirt.engine.core.common.businessentities.permissions; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.NameQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.common.utils.VdcParameter; import org.ovirt.engine.core.compat.Guid; public class BackendAssignedRolesResourceTest @@ -67,10 +69,11 @@ role = new org.ovirt.engine.core.common.businessentities.Role(); role.setId(entityId); } - setUpGetEntityExpectations(VdcQueryType.GetRoleById, - IdQueryParameters.class, - new String[] { "Id" }, + setUpGetEntityExpectationsWithParamNames(VdcQueryType.GetRoleById, + VdcQueryParametersBase.class, + new String[] { "ParameterValue"}, new Object[] { entityId }, + new VdcParameter[] { VdcParameter.RoleId }, role); } diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRoleResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRoleResourceTest.java index 0625b12..a5fcf4a 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRoleResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRoleResourceTest.java @@ -4,8 +4,9 @@ import org.ovirt.engine.api.model.Role; import org.ovirt.engine.core.common.action.RolesOperationsParameters; import org.ovirt.engine.core.common.action.VdcActionType; -import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.common.utils.VdcParameter; public class BackendRoleResourceTest extends AbstractBackendRoleResourceTest { @@ -21,14 +22,17 @@ @Test public void testUpdate() throws Exception { - setUpGetEntityExpectations(2); setUriInfo(setUpActionExpectations(VdcActionType.UpdateRole, RolesOperationsParameters.class, new String[] { "RoleId", "Role" }, new Object[] { GUIDS[0], getEntity(0) }, true, - true)); - + true, + null, + false, + CANT_DO)); + setUpGetEntityExpectations(1); + control.replay(); verifyModel(resource.update(getModel()), 0); } @@ -39,13 +43,12 @@ } protected void setUpGetEntityExpectations(int times) throws Exception { - for (int i=0; i<times; i++) { - setUpGetEntityExpectations(VdcQueryType.GetRoleById, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - getEntity(0)); - } + setUpGetEntityExpectationsWithParamNames(VdcQueryType.GetRoleById, + VdcQueryParametersBase.class, + new String[]{"ParameterValue"}, + new Object[]{GUIDS[0]}, + new VdcParameter[]{VdcParameter.RoleId}, + getEntity(0)); } } diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java index a1340f9..891b49f 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java @@ -16,9 +16,10 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.RoleType; -import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.MultilevelAdministrationsQueriesParameters; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.common.utils.VdcParameter; public class BackendRolesResourceTest extends AbstractBackendCollectionResourceTest<Role, org.ovirt.engine.core.common.businessentities.Role, BackendRolesResource> { @@ -47,10 +48,11 @@ @Test public void testRemoveNonExistant() throws Exception{ - setUpGetEntityExpectations(VdcQueryType.GetRoleById, - IdQueryParameters.class, - new String[] { "Id" }, + setUpGetEntityExpectationsWithParamNames(VdcQueryType.GetRoleById, + VdcQueryParametersBase.class, + new String[] { "ParameterValue"}, new Object[] { NON_EXISTANT_GUID }, + new VdcParameter[] { VdcParameter.RoleId }, null); control.replay(); try { @@ -63,10 +65,11 @@ } private void setUpGetEntityExpectations() throws Exception { - setUpGetEntityExpectations(VdcQueryType.GetRoleById, - IdQueryParameters.class, - new String[] { "Id" }, + setUpGetEntityExpectationsWithParamNames(VdcQueryType.GetRoleById, + VdcQueryParametersBase.class, + new String[] { "ParameterValue"}, new Object[] { GUIDS[0] }, + new VdcParameter[] { VdcParameter.RoleId }, getEntity(0)); } @@ -99,18 +102,19 @@ @Test public void testAddRole() throws Exception { setUriInfo(setUpBasicUriExpectations()); + setUpGetEntityExpectationsWithParamNames(VdcQueryType.GetRoleById, + VdcQueryParametersBase.class, + new String[] { "ParameterValue"}, + new Object[] { GUIDS[0] }, + new VdcParameter[] { VdcParameter.RoleId }, + getEntity(0)); setUpCreationExpectations(VdcActionType.AddRoleWithActionGroups, RoleWithActionGroupsParameters.class, new String[] { "Role.Id", "Role.name" }, new Object[] { GUIDS[0], NAMES[0] }, true, true, - GUIDS[0], - VdcQueryType.GetRoleById, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - getEntity(0)); + GUIDS[0], null, null); Role model = new Role(); model.setName(NAMES[0].toString()); model.setPermits(new Permits()); -- To view, visit http://gerrit.ovirt.org/20415 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I67fb4920f8107575dd26e173456a7edf99c3503f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ravi Nori <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
