From 1e1beaaeac53284994781e85867cc6288413661c Mon Sep 17 00:00:00 2001 From: viktorbasanets Date: Tue, 11 Sep 2018 15:13:45 +0300 Subject: [PATCH] Was modified findLatest(...) method & BaseTimeseriesService(...) constructor for set limit and order by values --- .../thingsboard/server/common/data/kv/BaseReadTsKvQuery.java | 4 ++++ .../server/dao/timeseries/BaseTimeseriesService.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/BaseReadTsKvQuery.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/BaseReadTsKvQuery.java index 3c48adfc18..739586e3e0 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/BaseReadTsKvQuery.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/BaseReadTsKvQuery.java @@ -42,4 +42,8 @@ public class BaseReadTsKvQuery extends BaseTsKvQuery implements ReadTsKvQuery { this(key, startTs, endTs, endTs - startTs, 1, Aggregation.AVG, "DESC"); } + public BaseReadTsKvQuery(String key, long startTs, long endTs, int limit, String orderBy) { + this(key, startTs, endTs, endTs - startTs, limit, Aggregation.AVG, orderBy); + } + } diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java index 605c9410f6..3829df6904 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/BaseTimeseriesService.java @@ -75,7 +75,10 @@ public class BaseTimeseriesService implements TimeseriesService { EntityView entityView = entityViewService.findEntityViewById((EntityViewId) entityId); Collection matchingKeys = chooseKeysForEntityView(entityView, keys); List queries = new ArrayList<>(); - matchingKeys.forEach(key -> queries.add(new BaseReadTsKvQuery(key, entityView.getStartTs(), entityView.getEndTs()))); + + matchingKeys.forEach(key -> queries.add( + new BaseReadTsKvQuery(key, entityView.getStartTs(), entityView.getEndTs(), 1, "ASC"))); + return timeseriesDao.findAllAsync(entityView.getEntityId(), updateQueriesForEntityView(entityView, queries)); } keys.forEach(key -> futures.add(timeseriesDao.findLatest(entityId, key)));