rest client improvments
This commit is contained in:
		
							parent
							
								
									0227234a6d
								
							
						
					
					
						commit
						0faef1ad16
					
				@ -45,7 +45,6 @@ import org.thingsboard.server.common.data.Tenant;
 | 
			
		||||
import org.thingsboard.server.common.data.UpdateMessage;
 | 
			
		||||
import org.thingsboard.server.common.data.User;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.Alarm;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AlarmId;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.AlarmSearchStatus;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
 | 
			
		||||
@ -56,6 +55,7 @@ import org.thingsboard.server.common.data.audit.ActionType;
 | 
			
		||||
import org.thingsboard.server.common.data.audit.AuditLog;
 | 
			
		||||
import org.thingsboard.server.common.data.device.DeviceSearchQuery;
 | 
			
		||||
import org.thingsboard.server.common.data.entityview.EntityViewSearchQuery;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AlarmId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AssetId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.DashboardId;
 | 
			
		||||
@ -73,6 +73,7 @@ import org.thingsboard.server.common.data.kv.AttributeKvEntry;
 | 
			
		||||
import org.thingsboard.server.common.data.kv.TsKvEntry;
 | 
			
		||||
import org.thingsboard.server.common.data.page.PageData;
 | 
			
		||||
import org.thingsboard.server.common.data.page.PageLink;
 | 
			
		||||
import org.thingsboard.server.common.data.page.SortOrder;
 | 
			
		||||
import org.thingsboard.server.common.data.page.TimePageLink;
 | 
			
		||||
import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
 | 
			
		||||
import org.thingsboard.server.common.data.plugin.ComponentType;
 | 
			
		||||
@ -890,7 +891,7 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
                }, params).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public PageData<DashboardInfo> getCustomerDashboards(CustomerId customerId, TimePageLink pageLink) {
 | 
			
		||||
    public PageData<DashboardInfo> getCustomerDashboards(CustomerId customerId, PageLink pageLink) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("customerId", customerId.getId().toString());
 | 
			
		||||
        addPageLinkToParam(params, pageLink);
 | 
			
		||||
@ -1634,17 +1635,35 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public List<TsKvEntry> getTimeseries(EntityId entityId, List<String> keys, Long interval, Aggregation agg, TimePageLink pageLink, boolean useStrictDataTypes) {
 | 
			
		||||
        SortOrder sortOrder = pageLink.getSortOrder();
 | 
			
		||||
        return getTimeseries(entityId, keys, interval, agg, sortOrder != null ? sortOrder.getDirection() : null, pageLink.getStartTime(), pageLink.getEndTime(), 100, useStrictDataTypes);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public List<TsKvEntry> getTimeseries(EntityId entityId, List<String> keys, Long interval, Aggregation agg, SortOrder.Direction sortOrder, Long startTime, Long endTime, Integer limit, boolean useStrictDataTypes) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("entityType", entityId.getEntityType().name());
 | 
			
		||||
        params.put("entityId", entityId.getId().toString());
 | 
			
		||||
        params.put("keys", listToString(keys));
 | 
			
		||||
        params.put("interval", interval == null ? "0" : interval.toString());
 | 
			
		||||
        params.put("agg", agg == null ? "NONE" : agg.name());
 | 
			
		||||
        params.put("limit", limit != null ? limit.toString() : "100");
 | 
			
		||||
        params.put("orderBy", sortOrder != null ? sortOrder.name() : "DESC");
 | 
			
		||||
        params.put("useStrictDataTypes", Boolean.toString(useStrictDataTypes));
 | 
			
		||||
        addPageLinkToParam(params, pageLink);
 | 
			
		||||
 | 
			
		||||
        StringBuilder urlBuilder = new StringBuilder(baseURL);
 | 
			
		||||
        urlBuilder.append("/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries?keys={keys}&interval={interval}&agg={agg}&useStrictDataTypes={useStrictDataTypes}&orderBy={orderBy}");
 | 
			
		||||
 | 
			
		||||
        if (startTime != null) {
 | 
			
		||||
            urlBuilder.append("&startTs={startTs}");
 | 
			
		||||
            params.put("startTs", String.valueOf(startTime));
 | 
			
		||||
        }
 | 
			
		||||
        if (endTime != null) {
 | 
			
		||||
            urlBuilder.append("&endTs={endTs}");
 | 
			
		||||
            params.put("endTs", String.valueOf(endTime));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Map<String, List<JsonNode>> timeseries = restTemplate.exchange(
 | 
			
		||||
                baseURL + "/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries?keys={keys}&interval={interval}&agg={agg}&useStrictDataTypes={useStrictDataTypes}&" + getUrlParamsTs(pageLink),
 | 
			
		||||
                urlBuilder.toString(),
 | 
			
		||||
                HttpMethod.GET,
 | 
			
		||||
                HttpEntity.EMPTY,
 | 
			
		||||
                new ParameterizedTypeReference<Map<String, List<JsonNode>>>() {
 | 
			
		||||
@ -1996,23 +2015,12 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String getTimeUrlParams(TimePageLink pageLink) {
 | 
			
		||||
        return this.getUrlParams(pageLink);
 | 
			
		||||
    }
 | 
			
		||||
    private String getUrlParams(TimePageLink pageLink) {
 | 
			
		||||
        return getUrlParams(pageLink, "startTime", "endTime");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String getUrlParamsTs(TimePageLink pageLink) {
 | 
			
		||||
        return getUrlParams(pageLink, "startTs", "endTs");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String getUrlParams(TimePageLink pageLink, String startTime, String endTime) {
 | 
			
		||||
        String urlParams = "limit={limit}&ascOrder={ascOrder}";
 | 
			
		||||
        if (pageLink.getStartTime() != null) {
 | 
			
		||||
            urlParams += "&" + startTime + "={startTime}";
 | 
			
		||||
            urlParams += "&startTime={startTime}";
 | 
			
		||||
        }
 | 
			
		||||
        if (pageLink.getEndTime() != null) {
 | 
			
		||||
            urlParams += "&" + endTime + "={endTime}";
 | 
			
		||||
            urlParams += "&endTime={endTime}";
 | 
			
		||||
        }
 | 
			
		||||
        return urlParams;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user