package org.ovirt.engine.core.vdsbroker.vdsbroker; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildInterfaceStatisticsData; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildVMStatisticsData; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildVmBalloonInfo; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildVmDiskStatistics; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildVmGuestAgentInterfacesData; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildVmJobsData; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.buildVmLunDisksData; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.getVdsmCallTimestamp; import static org.ovirt.engine.core.vdsbroker.vdsbroker.VdsBrokerObjectsBuilder.getVmDevicesHash; import java.util.Map; import org.ovirt.engine.core.common.businessentities.VmDynamic; import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.vdsbroker.monitoring.VdsmVm; public abstract class VmStatsVdsBrokerCommand<P extends VdsIdVDSCommandParametersBase> extends VdsBrokerCommand<P> { protected VMInfoListReturn vmListReturn; protected VmStatsVdsBrokerCommand(P parameters) { super(parameters); } @Override protected Status getReturnStatus() { return vmListReturn.status; } @Override protected Object getReturnValueFromBroker() { return vmListReturn; } protected VdsmVm createVdsmVm(Map<String, Object> struct) { VmDynamic vmDynamic = new VmDynamic(); VdsBrokerObjectsBuilder.updateVMDynamicData(vmDynamic, struct, getVds()); Guid vmId = vmDynamic.getId(); return new VdsmVm(getVdsmCallTimestamp(struct)) .setVmDynamic(vmDynamic) .setDevicesHash(getVmDevicesHash(struct)) .setVmStatistics(buildVMStatisticsData(struct)) .setVmJobs(buildVmJobsData(struct)) .setInterfaceStatistics(buildInterfaceStatisticsData(struct)) .setVmBalloonInfo(buildVmBalloonInfo(struct)) .setVmGuestAgentInterfaces(buildVmGuestAgentInterfacesData(vmId, struct)) .setLunsMap(buildVmLunDisksData(struct)) .setDiskStatistics(buildVmDiskStatistics(struct)); } @Override protected boolean shouldLogToAudit() { return false; } }