Browse Source

fixed issue with comparing different data point types

pull/13070/head
dashevchenko 1 year ago
parent
commit
ba238d61f3
  1. 7
      common/edqs/src/main/java/org/thingsboard/server/edqs/data/dp/BoolDataPoint.java
  2. 6
      common/edqs/src/main/java/org/thingsboard/server/edqs/data/dp/DoubleDataPoint.java
  3. 8
      common/edqs/src/main/java/org/thingsboard/server/edqs/data/dp/LongDataPoint.java

7
common/edqs/src/main/java/org/thingsboard/server/edqs/data/dp/BoolDataPoint.java

@ -16,6 +16,7 @@
package org.thingsboard.server.edqs.data.dp;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import org.thingsboard.server.common.data.edqs.DataPoint;
import org.thingsboard.server.common.data.kv.DataType;
@ -46,6 +47,10 @@ public class BoolDataPoint extends AbstractDataPoint {
@Override
public int compareTo(DataPoint dataPoint) {
return Boolean.compare(value, dataPoint.getBool());
if (dataPoint.getType() == DataType.BOOLEAN) {
return StringUtils.compareIgnoreCase(valueToString(), dataPoint.valueToString());
} else {
return super.compareTo(dataPoint);
}
}
}

6
common/edqs/src/main/java/org/thingsboard/server/edqs/data/dp/DoubleDataPoint.java

@ -46,6 +46,10 @@ public class DoubleDataPoint extends AbstractDataPoint {
@Override
public int compareTo(DataPoint dataPoint) {
return Double.compare(value, dataPoint.getDouble());
if (dataPoint.getType() == DataType.DOUBLE || dataPoint.getType() == DataType.LONG) {
return Double.compare(value, dataPoint.getDouble());
} else {
return super.compareTo(dataPoint);
}
}
}

8
common/edqs/src/main/java/org/thingsboard/server/edqs/data/dp/LongDataPoint.java

@ -51,6 +51,12 @@ public class LongDataPoint extends AbstractDataPoint {
@Override
public int compareTo(DataPoint dataPoint) {
return Long.compare(value, dataPoint.getLong());
if (dataPoint.getType() == DataType.DOUBLE) {
return Double.compare(getDouble(), dataPoint.getDouble());
} else if (dataPoint.getType() == DataType.LONG) {
return Long.compare(value, dataPoint.getLong());
} else {
return super.compareTo(dataPoint);
}
}
}

Loading…
Cancel
Save