package org.ovirt.engine.api.restapi.utils; import java.math.BigDecimal; import java.math.MathContext; import java.util.UUID; import org.ovirt.engine.api.model.Statistic; import org.ovirt.engine.api.model.StatisticKind; import org.ovirt.engine.api.model.StatisticUnit; import org.ovirt.engine.api.model.Value; import org.ovirt.engine.api.model.ValueType; import org.ovirt.engine.api.model.Values; public class StatisticResourceUtils { public static Statistic create(String name, String description, StatisticKind kind, StatisticUnit unit, ValueType valueType) { Statistic statistic = new Statistic(); statistic.setId(asId(name)); statistic.setName(name); statistic.setDescription(description); statistic.setKind(kind); statistic.setUnit(unit); statistic.setValues(new Values()); statistic.setType(valueType); return statistic; } private static String asId(String name) { return UUID.nameUUIDFromBytes(name.getBytes()).toString(); } public static Statistic setDatum(Statistic statistic, BigDecimal datum) { if (datum != null) { Value value = new Value(); value.setDatum(datum); statistic.getValues().getValues().add(value); } return statistic; } public static Statistic setDatum(Statistic statistic, String datum) { if (datum != null) { Value value = new Value(); value.setDetail(datum); statistic.getValues().getValues().add(value); } return statistic; } public static Statistic setDatum(Statistic statistic, Long datum) { if (datum != null) { return setDatum(statistic, new BigDecimal(datum)); } return statistic; } public static Statistic setDatum(Statistic statistic, Double datum) { if (datum != null) { return setDatum(statistic, new BigDecimal(datum, new MathContext(2))); } return statistic; } public static Statistic setDatum(Statistic statistic, long datum) { return setDatum(statistic, new BigDecimal(datum)); } public static Statistic setDatum(Statistic statistic, double datum) { return setDatum(statistic, new BigDecimal(datum, new MathContext(2))); } }