Eli Mesika has uploaded a new change for review. Change subject: [WIP] API: Adding Job-Id and Step-Id to URI ......................................................................
[WIP] API: Adding Job-Id and Step-Id to URI API: Adding Job-Id and Step-Id to URI parameters Change-Id: Ifb162c0a04c371631a6725e764917960326989ce Signed-off-by: Eli Mesika <[email protected]> Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=872719 --- M backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/QueryHelper.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java 2 files changed, 36 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/65/16165/1 diff --git a/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/QueryHelper.java b/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/QueryHelper.java index 2322846..c17b482 100644 --- a/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/QueryHelper.java +++ b/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/QueryHelper.java @@ -137,6 +137,27 @@ null; } + + public static boolean isExistsQueryParam(UriInfo uriInfo, String paramName) { + return uriInfo.getQueryParameters().containsKey(paramName); + } + + /** + * ... assumes only one value per key. + * @param uriInfo + * @param paramName + * @return + */ + + public static String getQueryParam(UriInfo uriInfo, String paramName) { + MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters(); + if (queryParameters.containsKey(paramName)) { + return queryParameters.getFirst(paramName); + } else { + return null; + } + } + public static boolean hasConstraint(MultivaluedMap<String, String> queries, String constraint) { return queries != null && queries.containsKey(constraint) ? true : false; } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java index fae5449..04df841 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendResource.java @@ -30,6 +30,7 @@ import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.common.users.VdcUser; +import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.utils.log.Log; import org.ovirt.engine.core.utils.log.LogFactory; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; @@ -47,7 +48,8 @@ private static final String NON_BLOCKING_EXPECTATION = "202-accepted"; protected static final Log LOG = LogFactory.getLog(BackendResource.class); public static final String POPULATE = "All-Content"; - + private static final String JOB_ID = "Job-Id"; + private static final String STEP_ID = "Step-Id"; protected <T> T getEntity(Class<T> clz, SearchType searchType, String constraint) { try { VdcQueryReturnValue result = runQuery(VdcQueryType.Search, @@ -223,6 +225,7 @@ protected VdcReturnValueBase doAction(VdcActionType task, VdcActionParametersBase params) throws BackendFailureException { + setJobOrStepId(params); setCorrelationId(params); VdcReturnValueBase result = backend.RunAction(task, sessionize(params)); if (result != null && !result.getCanDoAction()) { @@ -255,6 +258,17 @@ }); } + private void setJobOrStepId(VdcActionParametersBase params) { + if (QueryHelper.isExistsQueryParam(uriInfo, JOB_ID)) { + String value = QueryHelper.getQueryParam(uriInfo, JOB_ID); + params.setJobId(new Guid(value)); + } + + if (QueryHelper.isExistsQueryParam(uriInfo, STEP_ID)) { + String value = QueryHelper.getQueryParam(uriInfo, STEP_ID); + params.setJobId(new Guid(value)); + } + } private void setCorrelationId(VdcActionParametersBase params) { List<String> correlationIds = httpHeaders.getRequestHeader(CORRELATION_ID); if (correlationIds != null && correlationIds.size() > 0) { -- To view, visit http://gerrit.ovirt.org/16165 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb162c0a04c371631a6725e764917960326989ce Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Eli Mesika <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
