Martin Peřina has uploaded a new change for review.

Change subject: core: restapi: Replace FenceExecutor in GetVdsFenceStatusQuery
......................................................................

core: restapi: Replace FenceExecutor in GetVdsFenceStatusQuery

Replaces FenceExecutor with HostFenceActionExecutor in
GetVdsFenceStatusQuery.

Change-Id: Icde949ea1f9507f28aab23d232e08ff93569b38d
Bug-Url: https://bugzilla.redhat.com/1182510
Signed-off-by: Martin Perina <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsFenceStatusQuery.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostResourceTest.java
3 files changed, 38 insertions(+), 30 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/68/38968/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsFenceStatusQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsFenceStatusQuery.java
index 87a0831..47179fe 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsFenceStatusQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVdsFenceStatusQuery.java
@@ -1,10 +1,10 @@
 package org.ovirt.engine.core.bll;
 
 import org.ovirt.engine.core.bll.context.EngineContext;
-import org.ovirt.engine.core.common.businessentities.FenceStatusReturnValue;
+import org.ovirt.engine.core.bll.pm.HostFenceActionExecutor;
 import org.ovirt.engine.core.common.businessentities.VDS;
+import org.ovirt.engine.core.common.businessentities.pm.FenceActionType;
 import org.ovirt.engine.core.common.queries.VdsIdParametersBase;
-import org.ovirt.engine.core.common.vdscommands.VDSFenceReturnValue;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 
 public class GetVdsFenceStatusQuery<P extends VdsIdParametersBase> extends 
FenceQueryBase<P> {
@@ -20,18 +20,7 @@
     @Override
     protected void executeQueryCommand() {
         VDS vds = 
DbFacade.getInstance().getVdsDao().get(getParameters().getVdsId());
-        FenceExecutor executor = new FenceExecutor(vds);
-        VDSFenceReturnValue result = executor.checkHostStatus();
-        if (result.getSucceeded()) {
-            getQueryReturnValue().setReturnValue(result);
-        } else {
-            handleError(result);
-        }
-    }
-
-    private void handleError(VDSFenceReturnValue returnValue) {
-        String msg = returnValue.getExceptionString();
-        alertPowerManagementStatusFailed(msg);
-        getQueryReturnValue().setReturnValue(new 
FenceStatusReturnValue("unknown", msg));
+        HostFenceActionExecutor executor = new HostFenceActionExecutor(vds);
+        
getQueryReturnValue().setReturnValue(executor.fence(FenceActionType.STATUS));
     }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
index 4f43425..99103af 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostResource.java
@@ -4,7 +4,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.ws.rs.Path;
 import javax.ws.rs.core.Response;
 
@@ -50,9 +49,7 @@
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.action.VdsOperationActionParameters;
-import org.ovirt.engine.core.common.businessentities.pm.FenceActionType;
 import org.ovirt.engine.core.common.businessentities.FenceAgent;
-import org.ovirt.engine.core.common.businessentities.FenceStatusReturnValue;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
 import org.ovirt.engine.core.common.businessentities.storage.StorageType;
@@ -60,6 +57,10 @@
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VDSType;
 import org.ovirt.engine.core.common.businessentities.VdsStatic;
+import org.ovirt.engine.core.common.businessentities.pm.FenceActionType;
+import org.ovirt.engine.core.common.businessentities.pm.FenceOperationResult;
+import 
org.ovirt.engine.core.common.businessentities.pm.FenceOperationResult.Status;
+import org.ovirt.engine.core.common.businessentities.pm.HostPowerStatus;
 import org.ovirt.engine.core.common.queries.DiscoverSendTargetsQueryParameters;
 import org.ovirt.engine.core.common.queries.GetPermissionsForObjectParameters;
 import 
org.ovirt.engine.core.common.queries.GetUnregisteredBlockStorageDomainsParameters;
@@ -411,14 +412,15 @@
     }
 
     private Response getFenceStatus(Action action) {
-        VDSReturnValue result = getEntity(VDSReturnValue.class, 
VdcQueryType.GetVdsFenceStatus, new VdsIdParametersBase(guid), guid.toString());
-        FenceStatusReturnValue fenceResult = (FenceStatusReturnValue) 
result.getReturnValue();
-        if (fenceResult.getIsSucceeded()) {
+        VDSReturnValue result = getEntity(
+                VDSReturnValue.class,
+                VdcQueryType.GetVdsFenceStatus,
+                new VdsIdParametersBase(guid),
+                guid.toString());
+        FenceOperationResult fenceResult = (FenceOperationResult) 
result.getReturnValue();
+        if (fenceResult.getStatus() == Status.SUCCESS) {
             PowerManagement pm = new PowerManagement();
-            pm.setStatus(fenceResult.getStatus().toLowerCase().equals("on") ? 
StatusUtils.create(PowerManagementStatus.ON)
-                    : fenceResult.getStatus().toLowerCase().equals("off") ? 
StatusUtils.create(PowerManagementStatus.OFF)
-                            : 
fenceResult.getStatus().toLowerCase().equals("unknown") ? 
StatusUtils.create(PowerManagementStatus.UNKNOWN)
-                                    : null);
+            
pm.setStatus(StatusUtils.create(convertHostPowerStatus(fenceResult.getPowerStatus())));
             action.setPowerManagement(pm);
             return actionSuccess(action);
         } else {
@@ -426,6 +428,19 @@
         }
     }
 
+    private PowerManagementStatus convertHostPowerStatus(HostPowerStatus 
status) {
+        switch (status) {
+            case ON:
+                return PowerManagementStatus.ON;
+
+            case OFF:
+                return PowerManagementStatus.OFF;
+
+            default:
+                return PowerManagementStatus.UNKNOWN;
+        }
+    }
+
     private Response handleFailure(Action action, String message) {
         action.setStatus(StatusUtils.create(CreationStatus.FAILED));
         action.setFault(new Fault());
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostResourceTest.java
index 18e35ab..34cf28e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostResourceTest.java
@@ -13,7 +13,6 @@
 import java.math.MathContext;
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
@@ -41,12 +40,13 @@
 import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskStatus;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskStatusEnum;
-import org.ovirt.engine.core.common.businessentities.pm.FenceActionType;
-import org.ovirt.engine.core.common.businessentities.FenceStatusReturnValue;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VdsStatistics;
+import org.ovirt.engine.core.common.businessentities.pm.FenceActionType;
+import org.ovirt.engine.core.common.businessentities.pm.FenceOperationResult;
+import org.ovirt.engine.core.common.businessentities.pm.HostPowerStatus;
 import org.ovirt.engine.core.common.businessentities.storage.StorageType;
 import org.ovirt.engine.core.common.queries.DiscoverSendTargetsQueryParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
@@ -559,7 +559,7 @@
     public void testFenceStatus() throws Exception {
         VDSReturnValue retVal = new VDSReturnValue();
         retVal.setSucceeded(true);
-        retVal.setReturnValue(new FenceStatusReturnValue("on", ""));
+        retVal.setReturnValue(new 
FenceOperationResult(FenceOperationResult.Status.SUCCESS, HostPowerStatus.ON));
         setUpEntityQueryExpectations(VdcQueryType.GetVdsFenceStatus,
                 VdsIdParametersBase.class,
                 new String[] { "VdsId" },
@@ -577,7 +577,11 @@
     public void testFenceStatusFailure() throws Exception {
         VDSReturnValue retVal = new VDSReturnValue();
         retVal.setSucceeded(true);
-        retVal.setReturnValue(new FenceStatusReturnValue("unknown", 
"some_error"));
+        retVal.setReturnValue(
+                new FenceOperationResult(
+                        FenceOperationResult.Status.ERROR,
+                        HostPowerStatus.UNKNOWN,
+                        "some_error"));
         setUpEntityQueryExpectations(VdcQueryType.GetVdsFenceStatus,
                 VdsIdParametersBase.class,
                 new String[] { "VdsId" },


-- 
To view, visit https://gerrit.ovirt.org/38968
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icde949ea1f9507f28aab23d232e08ff93569b38d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to