Shireesh Anjal has uploaded a new change for review.

Change subject: gluster: Set additional fields in ServerServices
......................................................................

gluster: Set additional fields in ServerServices

Modified the GlusterServicesReturnForXmlRpc to accept server id in
constructor, and populate it on the received GlusterServerService
object.

Also modified it to keep a static map of service name to id,
and use it to popuate service id and type in the received object.

Change-Id: I8e322abb58ffc5a4c9dccadd6345b68805921423
Signed-off-by: Shireesh Anjal <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesListVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesReturnForXmlRpc.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
4 files changed, 42 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/14643/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesListVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesListVDSCommand.java
index 7e264ae..90cf9de 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesListVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesListVDSCommand.java
@@ -5,7 +5,9 @@
 
 /**
  * VDS command to fetch list of services with their status
- * @param <P> The parameters class to be used with this command
+ *
+ * @param <P>
+ *            The parameters class to be used with this command
  */
 public class GlusterServicesListVDSCommand<P extends 
GlusterServicesListVDSParameters> extends AbstractGlusterBrokerCommand<P> {
     private GlusterServicesReturnForXmlRpc glusterServices;
@@ -16,7 +18,9 @@
 
     @Override
     protected void ExecuteVdsBrokerCommand() {
-        glusterServices = 
getBroker().glusterServicesList(getParameters().getServiceNames().toArray(new 
String[0]));
+        glusterServices =
+                getBroker().glusterServicesList(getParameters().getVdsId(),
+                        getParameters().getServiceNames().toArray(new 
String[0]));
         ProceedProxyReturnValue();
         if (getVDSReturnValue().getSucceeded()) {
             setReturnValue(glusterServices.getServices());
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesReturnForXmlRpc.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesReturnForXmlRpc.java
index b3d3df0..50771dc 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesReturnForXmlRpc.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterServicesReturnForXmlRpc.java
@@ -1,12 +1,16 @@
 package org.ovirt.engine.core.vdsbroker.gluster;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService;
+import org.ovirt.engine.core.common.businessentities.gluster.GlusterService;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus;
 import org.ovirt.engine.core.common.constants.gluster.GlusterConstants;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.vdsbroker.irsbroker.StatusReturnForXmlRpc;
 
 /**
@@ -19,11 +23,14 @@
     private static final String STATUS = "status";
     private static final String MESSAGE = "message";
 
+    private Guid serverId;
+    private static final Map<String, GlusterService> servicesMap = 
getServicesMap();
     private List<GlusterServerService> services;
 
     @SuppressWarnings("unchecked")
-    public GlusterServicesReturnForXmlRpc(Map<String, Object> innerMap) {
+    public GlusterServicesReturnForXmlRpc(Guid serverId, Map<String, Object> 
innerMap) {
         super(innerMap);
+        this.serverId = serverId;
 
         if (mStatus.mCode != GlusterConstants.CODE_SUCCESS) {
             return;
@@ -36,13 +43,31 @@
     }
 
     private GlusterServerService getService(Map<String, Object> serviceMap) {
-        GlusterServerService service = new GlusterServerService();
-        service.setServiceName((String) serviceMap.get(NAME));
-        service.setPid(Integer.parseInt((String) serviceMap.get(PID)));
-        service.setStatus(GlusterServiceStatus.valueOf((String) 
serviceMap.get(STATUS)));
-        service.setMessage((String) serviceMap.get(MESSAGE));
+        GlusterServerService serverService = new GlusterServerService();
+        serverService.setServiceName((String) serviceMap.get(NAME));
+        serverService.setPid(Integer.parseInt((String) serviceMap.get(PID)));
+        serverService.setStatus(GlusterServiceStatus.valueOf((String) 
serviceMap.get(STATUS)));
+        serverService.setMessage((String) serviceMap.get(MESSAGE));
+        serverService.setServerId(serverId);
 
-        return service;
+        GlusterService service = 
servicesMap.get(serverService.getServiceName());
+        if (service != null) {
+            serverService.setServiceId(service.getId());
+            serverService.setServiceType(service.getServiceType());
+        }
+
+        return serverService;
+    }
+
+    private static Map<String, GlusterService> getServicesMap() {
+        Map<String, GlusterService> serviceNames = new HashMap<String, 
GlusterService>();
+
+        List<GlusterService> services = 
DbFacade.getInstance().getGlusterServiceDao().getAll();
+        for (GlusterService service : services) {
+            serviceNames.put(service.getServiceName(), service);
+        }
+
+        return serviceNames;
     }
 
     public List<GlusterServerService> getServices() {
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
index 28c7d88..cd24b45 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java
@@ -247,5 +247,5 @@
 
     OneUuidReturnForXmlRpc glusterHostUUIDGet();
 
-    GlusterServicesReturnForXmlRpc glusterServicesList(String[] serviceNames);
+    GlusterServicesReturnForXmlRpc glusterServicesList(Guid serverId, String[] 
serviceNames);
 }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
index e435adb..8cfc4f4 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java
@@ -1203,11 +1203,11 @@
     }
 
     @Override
-    public GlusterServicesReturnForXmlRpc glusterServicesList(String[] 
serviceNames) {
+    public GlusterServicesReturnForXmlRpc glusterServicesList(Guid serverId, 
String[] serviceNames) {
         try {
 
             Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterServicesGet(serviceNames);
-            GlusterServicesReturnForXmlRpc wrapper = new 
GlusterServicesReturnForXmlRpc(xmlRpcReturnValue);
+            GlusterServicesReturnForXmlRpc wrapper = new 
GlusterServicesReturnForXmlRpc(serverId, xmlRpcReturnValue);
             return wrapper;
         } catch (UndeclaredThrowableException ute) {
             throw new XmlRpcRunTimeException(ute);


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

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

Reply via email to