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

Reply via email to