diff --git a/application/src/main/java/org/thingsboard/server/controller/UsageInfoController.java b/application/src/main/java/org/thingsboard/server/controller/UsageInfoController.java index 88296993d6..a7d4250b65 100644 --- a/application/src/main/java/org/thingsboard/server/controller/UsageInfoController.java +++ b/application/src/main/java/org/thingsboard/server/controller/UsageInfoController.java @@ -37,7 +37,7 @@ public class UsageInfoController extends BaseController { private UsageInfoService usageInfoService; @PreAuthorize("hasAuthority('TENANT_ADMIN')") - @RequestMapping(value = "/tenant/usageInfo", method = RequestMethod.GET) + @RequestMapping(value = "/usage", method = RequestMethod.GET) @ResponseBody public UsageInfo getTenantUsageInfo() throws ThingsboardException { return checkNotNull(usageInfoService.getUsageInfo(getCurrentUser().getTenantId())); diff --git a/application/src/test/java/org/thingsboard/server/controller/BaseHomePageApiTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseHomePageApiTest.java index 50f165bf70..731f454a93 100644 --- a/application/src/test/java/org/thingsboard/server/controller/BaseHomePageApiTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseHomePageApiTest.java @@ -346,7 +346,7 @@ public abstract class BaseHomePageApiTest extends AbstractControllerTest { DefaultTenantProfileConfiguration configuration = (DefaultTenantProfileConfiguration) tenantProfile.getProfileData().getConfiguration(); - UsageInfo usageInfo = doGet("/api/tenant/usageInfo", UsageInfo.class); + UsageInfo usageInfo = doGet("/api/usage", UsageInfo.class); Assert.assertNotNull(usageInfo); Assert.assertEquals(0, usageInfo.getDevices()); Assert.assertEquals(configuration.getMaxDevices(), usageInfo.getMaxDevices()); @@ -385,7 +385,7 @@ public abstract class BaseHomePageApiTest extends AbstractControllerTest { devices.add(doPost("/api/device", device, Device.class)); } - usageInfo = doGet("/api/tenant/usageInfo", UsageInfo.class); + usageInfo = doGet("/api/usage", UsageInfo.class); Assert.assertEquals(devices.size(), usageInfo.getDevices()); List assets = new ArrayList<>(); @@ -395,7 +395,7 @@ public abstract class BaseHomePageApiTest extends AbstractControllerTest { assets.add(doPost("/api/asset", asset, Asset.class)); } - usageInfo = doGet("/api/tenant/usageInfo", UsageInfo.class); + usageInfo = doGet("/api/usage", UsageInfo.class); Assert.assertEquals(assets.size(), usageInfo.getAssets()); List customers = new ArrayList<>(); @@ -405,7 +405,7 @@ public abstract class BaseHomePageApiTest extends AbstractControllerTest { customers.add(doPost("/api/customer", customer, Customer.class)); } - usageInfo = doGet("/api/tenant/usageInfo", UsageInfo.class); + usageInfo = doGet("/api/usage", UsageInfo.class); Assert.assertEquals(customers.size() + 1, usageInfo.getCustomers()); List users = new ArrayList<>(); @@ -416,7 +416,7 @@ public abstract class BaseHomePageApiTest extends AbstractControllerTest { users.add(doPost("/api/user", user, User.class)); } - usageInfo = doGet("/api/tenant/usageInfo", UsageInfo.class); + usageInfo = doGet("/api/usage", UsageInfo.class); Assert.assertEquals(users.size() + 2, usageInfo.getUsers()); List dashboards = new ArrayList<>(); @@ -426,7 +426,7 @@ public abstract class BaseHomePageApiTest extends AbstractControllerTest { dashboards.add(doPost("/api/dashboard", dashboard, Dashboard.class)); } - usageInfo = doGet("/api/tenant/usageInfo", UsageInfo.class); + usageInfo = doGet("/api/usage", UsageInfo.class); Assert.assertEquals(dashboards.size(), usageInfo.getDashboards()); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/usage/BasicUsageInfoService.java b/dao/src/main/java/org/thingsboard/server/dao/usage/BasicUsageInfoService.java index dd1ff6cd50..52228d1a3e 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/usage/BasicUsageInfoService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/usage/BasicUsageInfoService.java @@ -100,10 +100,6 @@ public class BasicUsageInfoService implements UsageInfoService { private long getLongValueFromTsEntries(List entries, String key) { Optional entryOpt = entries.stream().filter(e -> e.getKey().equals(key)).findFirst(); - if (entryOpt.isPresent() && entryOpt.get().getLongValue().isPresent()) { - return entryOpt.get().getLongValue().get(); - } else { - return 0; - } + return entryOpt.map(entry -> entry.getLongValue().orElse(0L)).orElse(0L); } } diff --git a/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java b/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java index b52c64cd52..36e405964a 100644 --- a/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java +++ b/rest-client/src/main/java/org/thingsboard/rest/client/RestClient.java @@ -2470,7 +2470,7 @@ public class RestClient implements Closeable { public UsageInfo getUsageInfo() { return restTemplate.exchange( - baseURL + "/api/tenant/usageInfo", + baseURL + "/api/usage", HttpMethod.GET, HttpEntity.EMPTY, UsageInfo.class).getBody();