Gilad Chaplik has uploaded a new change for review.

Change subject: engine: fix api/schedulingpolicyunits/policy_unit_id
......................................................................

engine: fix api/schedulingpolicyunits/policy_unit_id

Change-Id: Ic3cf7127d437506c842b0be93dc4ed29198b7937
Bug-Url: https://bugzilla.redhat.com/1142916
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/queries/GetPolicyUnitByIdQuery.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitsResource.java
3 files changed, 12 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/35/33435/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/queries/GetPolicyUnitByIdQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/queries/GetPolicyUnitByIdQuery.java
index 8f8b97f..cb5faa8 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/queries/GetPolicyUnitByIdQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/queries/GetPolicyUnitByIdQuery.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.core.bll.scheduling.queries;
 
 import org.ovirt.engine.core.bll.QueriesCommandBase;
+import org.ovirt.engine.core.bll.scheduling.PolicyUnitImpl;
 import org.ovirt.engine.core.bll.scheduling.SchedulingManager;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 
@@ -11,8 +12,11 @@
 
     @Override
     protected void executeQueryCommand() {
-        getQueryReturnValue().setReturnValue(SchedulingManager.getInstance()
+        PolicyUnitImpl value = SchedulingManager.getInstance()
                 .getPolicyUnitsMap()
-                .get(getParameters().getId()));
+                .get(getParameters().getId());
+        if (value != null) {
+            getQueryReturnValue().setReturnValue(value.getPolicyUnit());
+        }
     }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitResource.java
index ea11988..cbbabb0 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitResource.java
@@ -2,17 +2,17 @@
 
 import org.ovirt.engine.api.model.SchedulingPolicyUnit;
 import org.ovirt.engine.api.resource.SchedulingPolicyUnitResource;
+import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.common.scheduling.PolicyUnit;
 
 public class BackendSchedulingPolicyUnitResource extends 
AbstractBackendSubResource<SchedulingPolicyUnit, PolicyUnit> implements
         SchedulingPolicyUnitResource {
 
     private static final String[] SUB_COLLECTIONS = {};
-    private final PolicyUnit policyUnit;
 
-    public BackendSchedulingPolicyUnitResource(String id, PolicyUnit 
policyUnit) {
+    public BackendSchedulingPolicyUnitResource(String id) {
         super(id, SchedulingPolicyUnit.class, PolicyUnit.class, 
SUB_COLLECTIONS);
-        this.policyUnit = policyUnit;
     }
 
     @Override
@@ -22,7 +22,7 @@
 
     @Override
     public SchedulingPolicyUnit get() {
-        return map(policyUnit);
+        return performGet(VdcQueryType.GetPolicyUnitById, new 
IdQueryParameters(guid));
     }
 
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitsResource.java
index 50144bb..1db527d 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSchedulingPolicyUnitsResource.java
@@ -2,7 +2,6 @@
 
 import java.util.List;
 
-import javax.ws.rs.PathParam;
 import javax.ws.rs.core.Response;
 
 import org.ovirt.engine.api.model.SchedulingPolicyUnit;
@@ -14,7 +13,6 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.common.scheduling.PolicyUnit;
 import 
org.ovirt.engine.core.common.scheduling.parameters.RemoveExternalPolicyUnitParameters;
-import org.ovirt.engine.core.compat.Guid;
 
 public class BackendSchedulingPolicyUnitsResource extends 
AbstractBackendCollectionResource<SchedulingPolicyUnit, PolicyUnit> implements 
SchedulingPolicyUnitsResource {
 
@@ -49,17 +47,7 @@
 
     @Override
     @SingleEntityResource
-    public SchedulingPolicyUnitResource 
getSchedulingPolicyUnitSubResource(@PathParam("id") String id) {
-        return inject(new BackendSchedulingPolicyUnitResource(id, 
getPolicyUnit(id)));
-    }
-
-    private PolicyUnit getPolicyUnit(String id) {
-        Guid guid = asGuid(id);
-        for (PolicyUnit policyUnit : getCollection()) {
-            if (policyUnit.getId().equals(guid)) {
-                return policyUnit;
-            }
-        }
-        return null;
+    public SchedulingPolicyUnitResource 
getSchedulingPolicyUnitSubResource(String id) {
+        return inject(new BackendSchedulingPolicyUnitResource(id));
     }
 }


-- 
To view, visit http://gerrit.ovirt.org/33435
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic3cf7127d437506c842b0be93dc4ed29198b7937
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to