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
