Commit c0a8804d authored by kesnar's avatar kesnar
Browse files

fix: fix kpi range parsing for open ranges

parent f04e2962
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ import monitoring.Monitoring;
import monitoring.Monitoring.AlarmID;
import monitoring.Monitoring.KpiId;
import monitoring.Monitoring.SubscriptionID;
import org.jboss.logging.Logger;
import policy.Policy;
import policy.Policy.PolicyRuleId;
import policy.PolicyAction;
@@ -109,6 +110,8 @@ import policy.PolicyCondition;
@Singleton
public class Serializer {

    private static final Logger LOGGER = Logger.getLogger(Serializer.class);

    public DeviceId serializeDeviceId(String expectedDeviceId) {
        final var builder = DeviceId.newBuilder();
        final var uuid = serializeUuid(expectedDeviceId);
@@ -1549,11 +1552,23 @@ public class Serializer {
        final var kpiValueMin = kpiValueRange.getKpiMinValue();
        final var kpiValueMax = kpiValueRange.getKpiMaxValue();

        if (kpiValueMin== null && kpiValueMax == null) {
            throw new IllegalStateException("KPI value max and min cannot be both null");
        } else if (kpiValueMax == null) {
            final var serializedKpiValueMin = serialize(kpiValueMin);
        final var serializedKpiValueMax = serialize(kpiValueMax);

            builder.setKpiMinValue(serializedKpiValueMin);
            builder.setInRange(false);
        } else if (kpiValueMin == null) {
            final var serializedKpiValueMax = serialize(kpiValueMax);
            builder.setKpiMaxValue(serializedKpiValueMax);
            builder.setInRange(false);
        } else {
            final var serializedKpiValueMin = serialize(kpiValueMin);
            final var serializedKpiValueMax = serialize(kpiValueMax);
            builder.setKpiMaxValue(serializedKpiValueMax);
            builder.setKpiMinValue(serializedKpiValueMin);
            builder.setInRange(true);
        }

        return builder.build();
    }
@@ -1609,6 +1624,7 @@ public class Serializer {
        builder.setKpiValueRange(serializedKpiValueRange);
        builder.setTimestamp(serializedTimestamp);


        return builder.build();
    }