Feature/rest client (#2428)
* refactored and improvement Rest Client * refactored Rest Client, made old methods deprecated
This commit is contained in:
		
							parent
							
								
									a670b77251
								
							
						
					
					
						commit
						e7dfe75e41
					
				@ -145,6 +145,10 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
        return response;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public RestTemplate getRestTemplate() {
 | 
			
		||||
        return restTemplate;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getToken() {
 | 
			
		||||
        return token;
 | 
			
		||||
    }
 | 
			
		||||
@ -174,170 +178,6 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
        restTemplate.getInterceptors().add(this);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Device> findDevice(String name) {
 | 
			
		||||
        Map<String, String> params = new HashMap<String, String>();
 | 
			
		||||
        params.put("deviceName", name);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Device> deviceEntity = restTemplate.getForEntity(baseURL + "/api/tenant/devices?deviceName={deviceName}", Device.class, params);
 | 
			
		||||
            return Optional.of(deviceEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Customer> findCustomer(String title) {
 | 
			
		||||
        Map<String, String> params = new HashMap<String, String>();
 | 
			
		||||
        params.put("customerTitle", title);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Customer> customerEntity = restTemplate.getForEntity(baseURL + "/api/tenant/customers?customerTitle={customerTitle}", Customer.class, params);
 | 
			
		||||
            return Optional.of(customerEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Asset> findAsset(String name) {
 | 
			
		||||
        Map<String, String> params = new HashMap<String, String>();
 | 
			
		||||
        params.put("assetName", name);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Asset> assetEntity = restTemplate.getForEntity(baseURL + "/api/tenant/assets?assetName={assetName}", Asset.class, params);
 | 
			
		||||
            return Optional.of(assetEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<JsonNode> getAttributes(String accessToken, String clientKeys, String sharedKeys) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("accessToken", accessToken);
 | 
			
		||||
        params.put("clientKeys", clientKeys);
 | 
			
		||||
        params.put("sharedKeys", sharedKeys);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<JsonNode> telemetryEntity = restTemplate.getForEntity(baseURL + "/api/v1/{accessToken}/attributes?clientKeys={clientKeys}&sharedKeys={sharedKeys}", JsonNode.class, params);
 | 
			
		||||
            return Optional.of(telemetryEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Customer createCustomer(Customer customer) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer", customer, Customer.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Customer createCustomer(String title) {
 | 
			
		||||
        Customer customer = new Customer();
 | 
			
		||||
        customer.setTitle(title);
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer", customer, Customer.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public DeviceCredentials updateDeviceCredentials(DeviceId deviceId, String token) {
 | 
			
		||||
        DeviceCredentials deviceCredentials = getCredentials(deviceId);
 | 
			
		||||
        deviceCredentials.setCredentialsType(DeviceCredentialsType.ACCESS_TOKEN);
 | 
			
		||||
        deviceCredentials.setCredentialsId(token);
 | 
			
		||||
        return saveDeviceCredentials(deviceCredentials);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Device createDevice(String name, String type) {
 | 
			
		||||
        Device device = new Device();
 | 
			
		||||
        device.setName(name);
 | 
			
		||||
        device.setType(type);
 | 
			
		||||
        return doCreateDevice(device, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Device createDevice(Device device) {
 | 
			
		||||
        return doCreateDevice(device, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Device createDevice(Device device, String accessToken) {
 | 
			
		||||
        return doCreateDevice(device, accessToken);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private Device doCreateDevice(Device device, String accessToken) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        String deviceCreationUrl = "/api/device";
 | 
			
		||||
        if (!StringUtils.isEmpty(accessToken)) {
 | 
			
		||||
            deviceCreationUrl = deviceCreationUrl + "?accessToken={accessToken}";
 | 
			
		||||
            params.put("accessToken", accessToken);
 | 
			
		||||
        }
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + deviceCreationUrl, device, Device.class, params).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Asset createAsset(Asset asset) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/asset", asset, Asset.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Asset createAsset(String name, String type) {
 | 
			
		||||
        Asset asset = new Asset();
 | 
			
		||||
        asset.setName(name);
 | 
			
		||||
        asset.setType(type);
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/asset", asset, Asset.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Alarm createAlarm(Alarm alarm) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/alarm", alarm, Alarm.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Device assignDevice(CustomerId customerId, DeviceId deviceId) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer/{customerId}/device/{deviceId}", null, Device.class,
 | 
			
		||||
                customerId.toString(), deviceId.toString()).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Asset assignAsset(CustomerId customerId, AssetId assetId) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer/{customerId}/asset/{assetId}", HttpEntity.EMPTY, Asset.class,
 | 
			
		||||
                customerId.toString(), assetId.toString()).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public EntityRelation makeRelation(String relationType, EntityId idFrom, EntityId idTo) {
 | 
			
		||||
        EntityRelation relation = new EntityRelation();
 | 
			
		||||
        relation.setFrom(idFrom);
 | 
			
		||||
        relation.setTo(idTo);
 | 
			
		||||
        relation.setType(relationType);
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/relation", relation, EntityRelation.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Dashboard createDashboard(Dashboard dashboard) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/dashboard", dashboard, Dashboard.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public List<DashboardInfo> findTenantDashboards() {
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<TextPageData<DashboardInfo>> dashboards =
 | 
			
		||||
                    restTemplate.exchange(baseURL + "/api/tenant/dashboards?limit=100000", HttpMethod.GET, null, new ParameterizedTypeReference<TextPageData<DashboardInfo>>() {
 | 
			
		||||
                    });
 | 
			
		||||
            return dashboards.getBody().getData();
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Collections.emptyList();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public DeviceCredentials getCredentials(DeviceId id) {
 | 
			
		||||
        return restTemplate.getForEntity(baseURL + "/api/device/" + id.getId().toString() + "/credentials", DeviceCredentials.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public RestTemplate getRestTemplate() {
 | 
			
		||||
        return restTemplate;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<AdminSettings> getAdminSettings(String key) {
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<AdminSettings> adminSettings = restTemplate.getForEntity(baseURL + "/api/admin/settings/{key}", AdminSettings.class, key);
 | 
			
		||||
@ -467,6 +307,11 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Alarm createAlarm(Alarm alarm) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/alarm", alarm, Alarm.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Asset> getAssetById(AssetId assetId) {
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Asset> asset = restTemplate.getForEntity(baseURL + "/api/asset/{assetId}", Asset.class, assetId.getId());
 | 
			
		||||
@ -603,6 +448,41 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
                }).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Optional<Asset> findAsset(String name) {
 | 
			
		||||
        Map<String, String> params = new HashMap<String, String>();
 | 
			
		||||
        params.put("assetName", name);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Asset> assetEntity = restTemplate.getForEntity(baseURL + "/api/tenant/assets?assetName={assetName}", Asset.class, params);
 | 
			
		||||
            return Optional.of(assetEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Asset createAsset(Asset asset) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/asset", asset, Asset.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Asset createAsset(String name, String type) {
 | 
			
		||||
        Asset asset = new Asset();
 | 
			
		||||
        asset.setName(name);
 | 
			
		||||
        asset.setType(type);
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/asset", asset, Asset.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Asset assignAsset(CustomerId customerId, AssetId assetId) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer/{customerId}/asset/{assetId}", HttpEntity.EMPTY, Asset.class,
 | 
			
		||||
                customerId.toString(), assetId.toString()).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public TimePageData<AuditLog> getAuditLogsByCustomerId(CustomerId customerId, TimePageLink pageLink, List<ActionType> actionTypes) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("customerId", customerId.getId().toString());
 | 
			
		||||
@ -826,6 +706,34 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Optional<Customer> findCustomer(String title) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("customerTitle", title);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Customer> customerEntity = restTemplate.getForEntity(baseURL + "/api/tenant/customers?customerTitle={customerTitle}", Customer.class, params);
 | 
			
		||||
            return Optional.of(customerEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Customer createCustomer(Customer customer) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer", customer, Customer.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Customer createCustomer(String title) {
 | 
			
		||||
        Customer customer = new Customer();
 | 
			
		||||
        customer.setTitle(title);
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer", customer, Customer.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Long getServerTime() {
 | 
			
		||||
        return restTemplate.getForObject(baseURL + "/api/dashboard/serverTime", Long.class);
 | 
			
		||||
    }
 | 
			
		||||
@ -994,6 +902,27 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
                }, params).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Dashboard createDashboard(Dashboard dashboard) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/dashboard", dashboard, Dashboard.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public List<DashboardInfo> findTenantDashboards() {
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<TextPageData<DashboardInfo>> dashboards =
 | 
			
		||||
                    restTemplate.exchange(baseURL + "/api/tenant/dashboards?limit=100000", HttpMethod.GET, null, new ParameterizedTypeReference<TextPageData<DashboardInfo>>() {
 | 
			
		||||
                    });
 | 
			
		||||
            return dashboards.getBody().getData();
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Collections.emptyList();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Device> getDeviceById(DeviceId deviceId) {
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Device> device = restTemplate.getForEntity(baseURL + "/api/device/{deviceId}", Device.class, deviceId.getId());
 | 
			
		||||
@ -1145,6 +1074,70 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
        restTemplate.delete(baseURL + "/api/customer/device/{deviceName}/claim", deviceName);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Device createDevice(String name, String type) {
 | 
			
		||||
        Device device = new Device();
 | 
			
		||||
        device.setName(name);
 | 
			
		||||
        device.setType(type);
 | 
			
		||||
        return doCreateDevice(device, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Device createDevice(Device device) {
 | 
			
		||||
        return doCreateDevice(device, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Device createDevice(Device device, String accessToken) {
 | 
			
		||||
        return doCreateDevice(device, accessToken);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    private Device doCreateDevice(Device device, String accessToken) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        String deviceCreationUrl = "/api/device";
 | 
			
		||||
        if (!StringUtils.isEmpty(accessToken)) {
 | 
			
		||||
            deviceCreationUrl = deviceCreationUrl + "?accessToken={accessToken}";
 | 
			
		||||
            params.put("accessToken", accessToken);
 | 
			
		||||
        }
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + deviceCreationUrl, device, Device.class, params).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public DeviceCredentials getCredentials(DeviceId id) {
 | 
			
		||||
        return restTemplate.getForEntity(baseURL + "/api/device/" + id.getId().toString() + "/credentials", DeviceCredentials.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Optional<Device> findDevice(String name) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("deviceName", name);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Device> deviceEntity = restTemplate.getForEntity(baseURL + "/api/tenant/devices?deviceName={deviceName}", Device.class, params);
 | 
			
		||||
            return Optional.of(deviceEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public DeviceCredentials updateDeviceCredentials(DeviceId deviceId, String token) {
 | 
			
		||||
        DeviceCredentials deviceCredentials = getCredentials(deviceId);
 | 
			
		||||
        deviceCredentials.setCredentialsType(DeviceCredentialsType.ACCESS_TOKEN);
 | 
			
		||||
        deviceCredentials.setCredentialsId(token);
 | 
			
		||||
        return saveDeviceCredentials(deviceCredentials);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Device assignDevice(CustomerId customerId, DeviceId deviceId) {
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/customer/{customerId}/device/{deviceId}", null, Device.class,
 | 
			
		||||
                customerId.toString(), deviceId.toString()).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void saveRelation(EntityRelation relation) {
 | 
			
		||||
        restTemplate.postForLocation(baseURL + "/api/relation", null);
 | 
			
		||||
    }
 | 
			
		||||
@ -1298,6 +1291,15 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
                }).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public EntityRelation makeRelation(String relationType, EntityId idFrom, EntityId idTo) {
 | 
			
		||||
        EntityRelation relation = new EntityRelation();
 | 
			
		||||
        relation.setFrom(idFrom);
 | 
			
		||||
        relation.setTo(idTo);
 | 
			
		||||
        relation.setType(relationType);
 | 
			
		||||
        return restTemplate.postForEntity(baseURL + "/api/relation", relation, EntityRelation.class).getBody();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<EntityView> getEntityViewById(EntityViewId entityViewId) {
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<EntityView> entityView = restTemplate.getForEntity(baseURL + "/api/entityView/{entityViewId}", EntityView.class, entityViewId.getId());
 | 
			
		||||
@ -1967,6 +1969,24 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Deprecated
 | 
			
		||||
    public Optional<JsonNode> getAttributes(String accessToken, String clientKeys, String sharedKeys) {
 | 
			
		||||
        Map<String, String> params = new HashMap<>();
 | 
			
		||||
        params.put("accessToken", accessToken);
 | 
			
		||||
        params.put("clientKeys", clientKeys);
 | 
			
		||||
        params.put("sharedKeys", sharedKeys);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<JsonNode> telemetryEntity = restTemplate.getForEntity(baseURL + "/api/v1/{accessToken}/attributes?clientKeys={clientKeys}&sharedKeys={sharedKeys}", JsonNode.class, params);
 | 
			
		||||
            return Optional.of(telemetryEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String getUrlParams(TimePageLink pageLink) {
 | 
			
		||||
        String urlParams = "limit={limit}&ascOrder={ascOrder}";
 | 
			
		||||
        if (pageLink.getStartTime() != null) {
 | 
			
		||||
@ -2042,4 +2062,5 @@ public class RestClient implements ClientHttpRequestInterceptor, Closeable {
 | 
			
		||||
            service.shutdown();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user