Commit 0faef1ad164a728a1b2d12417b5b0bb52bdbc34e
Committed by
Andrew Shvayka
1 parent
0227234a
rest client improvments
Showing
1 changed file
with
25 additions
and
17 deletions
@@ -45,7 +45,6 @@ import org.thingsboard.server.common.data.Tenant; | @@ -45,7 +45,6 @@ import org.thingsboard.server.common.data.Tenant; | ||
45 | import org.thingsboard.server.common.data.UpdateMessage; | 45 | import org.thingsboard.server.common.data.UpdateMessage; |
46 | import org.thingsboard.server.common.data.User; | 46 | import org.thingsboard.server.common.data.User; |
47 | import org.thingsboard.server.common.data.alarm.Alarm; | 47 | import org.thingsboard.server.common.data.alarm.Alarm; |
48 | -import org.thingsboard.server.common.data.id.AlarmId; | ||
49 | import org.thingsboard.server.common.data.alarm.AlarmInfo; | 48 | import org.thingsboard.server.common.data.alarm.AlarmInfo; |
50 | import org.thingsboard.server.common.data.alarm.AlarmSearchStatus; | 49 | import org.thingsboard.server.common.data.alarm.AlarmSearchStatus; |
51 | import org.thingsboard.server.common.data.alarm.AlarmSeverity; | 50 | import org.thingsboard.server.common.data.alarm.AlarmSeverity; |
@@ -56,6 +55,7 @@ import org.thingsboard.server.common.data.audit.ActionType; | @@ -56,6 +55,7 @@ import org.thingsboard.server.common.data.audit.ActionType; | ||
56 | import org.thingsboard.server.common.data.audit.AuditLog; | 55 | import org.thingsboard.server.common.data.audit.AuditLog; |
57 | import org.thingsboard.server.common.data.device.DeviceSearchQuery; | 56 | import org.thingsboard.server.common.data.device.DeviceSearchQuery; |
58 | import org.thingsboard.server.common.data.entityview.EntityViewSearchQuery; | 57 | import org.thingsboard.server.common.data.entityview.EntityViewSearchQuery; |
58 | +import org.thingsboard.server.common.data.id.AlarmId; | ||
59 | import org.thingsboard.server.common.data.id.AssetId; | 59 | import org.thingsboard.server.common.data.id.AssetId; |
60 | import org.thingsboard.server.common.data.id.CustomerId; | 60 | import org.thingsboard.server.common.data.id.CustomerId; |
61 | import org.thingsboard.server.common.data.id.DashboardId; | 61 | import org.thingsboard.server.common.data.id.DashboardId; |
@@ -73,6 +73,7 @@ import org.thingsboard.server.common.data.kv.AttributeKvEntry; | @@ -73,6 +73,7 @@ import org.thingsboard.server.common.data.kv.AttributeKvEntry; | ||
73 | import org.thingsboard.server.common.data.kv.TsKvEntry; | 73 | import org.thingsboard.server.common.data.kv.TsKvEntry; |
74 | import org.thingsboard.server.common.data.page.PageData; | 74 | import org.thingsboard.server.common.data.page.PageData; |
75 | import org.thingsboard.server.common.data.page.PageLink; | 75 | import org.thingsboard.server.common.data.page.PageLink; |
76 | +import org.thingsboard.server.common.data.page.SortOrder; | ||
76 | import org.thingsboard.server.common.data.page.TimePageLink; | 77 | import org.thingsboard.server.common.data.page.TimePageLink; |
77 | import org.thingsboard.server.common.data.plugin.ComponentDescriptor; | 78 | import org.thingsboard.server.common.data.plugin.ComponentDescriptor; |
78 | import org.thingsboard.server.common.data.plugin.ComponentType; | 79 | import org.thingsboard.server.common.data.plugin.ComponentType; |
@@ -890,7 +891,7 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable { | @@ -890,7 +891,7 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable { | ||
890 | }, params).getBody(); | 891 | }, params).getBody(); |
891 | } | 892 | } |
892 | 893 | ||
893 | - public PageData<DashboardInfo> getCustomerDashboards(CustomerId customerId, TimePageLink pageLink) { | 894 | + public PageData<DashboardInfo> getCustomerDashboards(CustomerId customerId, PageLink pageLink) { |
894 | Map<String, String> params = new HashMap<>(); | 895 | Map<String, String> params = new HashMap<>(); |
895 | params.put("customerId", customerId.getId().toString()); | 896 | params.put("customerId", customerId.getId().toString()); |
896 | addPageLinkToParam(params, pageLink); | 897 | addPageLinkToParam(params, pageLink); |
@@ -1634,17 +1635,35 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable { | @@ -1634,17 +1635,35 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable { | ||
1634 | } | 1635 | } |
1635 | 1636 | ||
1636 | public List<TsKvEntry> getTimeseries(EntityId entityId, List<String> keys, Long interval, Aggregation agg, TimePageLink pageLink, boolean useStrictDataTypes) { | 1637 | public List<TsKvEntry> getTimeseries(EntityId entityId, List<String> keys, Long interval, Aggregation agg, TimePageLink pageLink, boolean useStrictDataTypes) { |
1638 | + SortOrder sortOrder = pageLink.getSortOrder(); | ||
1639 | + return getTimeseries(entityId, keys, interval, agg, sortOrder != null ? sortOrder.getDirection() : null, pageLink.getStartTime(), pageLink.getEndTime(), 100, useStrictDataTypes); | ||
1640 | + } | ||
1641 | + | ||
1642 | + public List<TsKvEntry> getTimeseries(EntityId entityId, List<String> keys, Long interval, Aggregation agg, SortOrder.Direction sortOrder, Long startTime, Long endTime, Integer limit, boolean useStrictDataTypes) { | ||
1637 | Map<String, String> params = new HashMap<>(); | 1643 | Map<String, String> params = new HashMap<>(); |
1638 | params.put("entityType", entityId.getEntityType().name()); | 1644 | params.put("entityType", entityId.getEntityType().name()); |
1639 | params.put("entityId", entityId.getId().toString()); | 1645 | params.put("entityId", entityId.getId().toString()); |
1640 | params.put("keys", listToString(keys)); | 1646 | params.put("keys", listToString(keys)); |
1641 | params.put("interval", interval == null ? "0" : interval.toString()); | 1647 | params.put("interval", interval == null ? "0" : interval.toString()); |
1642 | params.put("agg", agg == null ? "NONE" : agg.name()); | 1648 | params.put("agg", agg == null ? "NONE" : agg.name()); |
1649 | + params.put("limit", limit != null ? limit.toString() : "100"); | ||
1650 | + params.put("orderBy", sortOrder != null ? sortOrder.name() : "DESC"); | ||
1643 | params.put("useStrictDataTypes", Boolean.toString(useStrictDataTypes)); | 1651 | params.put("useStrictDataTypes", Boolean.toString(useStrictDataTypes)); |
1644 | - addPageLinkToParam(params, pageLink); | 1652 | + |
1653 | + StringBuilder urlBuilder = new StringBuilder(baseURL); | ||
1654 | + urlBuilder.append("/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries?keys={keys}&interval={interval}&agg={agg}&useStrictDataTypes={useStrictDataTypes}&orderBy={orderBy}"); | ||
1655 | + | ||
1656 | + if (startTime != null) { | ||
1657 | + urlBuilder.append("&startTs={startTs}"); | ||
1658 | + params.put("startTs", String.valueOf(startTime)); | ||
1659 | + } | ||
1660 | + if (endTime != null) { | ||
1661 | + urlBuilder.append("&endTs={endTs}"); | ||
1662 | + params.put("endTs", String.valueOf(endTime)); | ||
1663 | + } | ||
1645 | 1664 | ||
1646 | Map<String, List<JsonNode>> timeseries = restTemplate.exchange( | 1665 | Map<String, List<JsonNode>> timeseries = restTemplate.exchange( |
1647 | - baseURL + "/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries?keys={keys}&interval={interval}&agg={agg}&useStrictDataTypes={useStrictDataTypes}&" + getUrlParamsTs(pageLink), | 1666 | + urlBuilder.toString(), |
1648 | HttpMethod.GET, | 1667 | HttpMethod.GET, |
1649 | HttpEntity.EMPTY, | 1668 | HttpEntity.EMPTY, |
1650 | new ParameterizedTypeReference<Map<String, List<JsonNode>>>() { | 1669 | new ParameterizedTypeReference<Map<String, List<JsonNode>>>() { |
@@ -1996,23 +2015,12 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable { | @@ -1996,23 +2015,12 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable { | ||
1996 | } | 2015 | } |
1997 | 2016 | ||
1998 | private String getTimeUrlParams(TimePageLink pageLink) { | 2017 | private String getTimeUrlParams(TimePageLink pageLink) { |
1999 | - return this.getUrlParams(pageLink); | ||
2000 | - } | ||
2001 | - private String getUrlParams(TimePageLink pageLink) { | ||
2002 | - return getUrlParams(pageLink, "startTime", "endTime"); | ||
2003 | - } | ||
2004 | - | ||
2005 | - private String getUrlParamsTs(TimePageLink pageLink) { | ||
2006 | - return getUrlParams(pageLink, "startTs", "endTs"); | ||
2007 | - } | ||
2008 | - | ||
2009 | - private String getUrlParams(TimePageLink pageLink, String startTime, String endTime) { | ||
2010 | String urlParams = "limit={limit}&ascOrder={ascOrder}"; | 2018 | String urlParams = "limit={limit}&ascOrder={ascOrder}"; |
2011 | if (pageLink.getStartTime() != null) { | 2019 | if (pageLink.getStartTime() != null) { |
2012 | - urlParams += "&" + startTime + "={startTime}"; | 2020 | + urlParams += "&startTime={startTime}"; |
2013 | } | 2021 | } |
2014 | if (pageLink.getEndTime() != null) { | 2022 | if (pageLink.getEndTime() != null) { |
2015 | - urlParams += "&" + endTime + "={endTime}"; | 2023 | + urlParams += "&endTime={endTime}"; |
2016 | } | 2024 | } |
2017 | return urlParams; | 2025 | return urlParams; |
2018 | } | 2026 | } |