Commit 5007eccb26b74d19d183852d073ab542fb60602a

Authored by Volodymyr Babak
Committed by Andrew Shvayka
1 parent 2f7a8c95

Added logs for edge license check. Replaced Object class with JsonNode

@@ -15,8 +15,11 @@ @@ -15,8 +15,11 @@
15 */ 15 */
16 package org.thingsboard.server.controller; 16 package org.thingsboard.server.controller;
17 17
  18 +import com.fasterxml.jackson.databind.JsonNode;
18 import com.google.common.util.concurrent.ListenableFuture; 19 import com.google.common.util.concurrent.ListenableFuture;
  20 +import lombok.extern.slf4j.Slf4j;
19 import org.springframework.http.HttpStatus; 21 import org.springframework.http.HttpStatus;
  22 +import org.springframework.http.ResponseEntity;
20 import org.springframework.security.access.prepost.PreAuthorize; 23 import org.springframework.security.access.prepost.PreAuthorize;
21 import org.springframework.web.bind.annotation.PathVariable; 24 import org.springframework.web.bind.annotation.PathVariable;
22 import org.springframework.web.bind.annotation.RequestBody; 25 import org.springframework.web.bind.annotation.RequestBody;
@@ -59,6 +62,7 @@ import java.util.stream.Collectors; @@ -59,6 +62,7 @@ import java.util.stream.Collectors;
59 62
60 @RestController 63 @RestController
61 @TbCoreComponent 64 @TbCoreComponent
  65 +@Slf4j
62 @RequestMapping("/api") 66 @RequestMapping("/api")
63 public class EdgeController extends BaseController { 67 public class EdgeController extends BaseController {
64 68
@@ -544,27 +548,6 @@ public class EdgeController extends BaseController { @@ -544,27 +548,6 @@ public class EdgeController extends BaseController {
544 } 548 }
545 } 549 }
546 550
547 - @RequestMapping(value = "/license/checkInstance", method = RequestMethod.POST)  
548 - @ResponseBody  
549 - public Object checkInstance(@RequestBody Object request) throws ThingsboardException {  
550 - try {  
551 - return edgeService.checkInstance(request);  
552 - } catch (Exception e) {  
553 - throw new ThingsboardException(e, ThingsboardErrorCode.SUBSCRIPTION_VIOLATION);  
554 - }  
555 - }  
556 -  
557 - @RequestMapping(value = "/license/activateInstance", params = {"licenseSecret", "releaseDate"}, method = RequestMethod.POST)  
558 - @ResponseBody  
559 - public Object activateInstance(@RequestParam String licenseSecret,  
560 - @RequestParam String releaseDate) throws ThingsboardException {  
561 - try {  
562 - return edgeService.activateInstance(licenseSecret, releaseDate);  
563 - } catch (Exception e) {  
564 - throw new ThingsboardException(e, ThingsboardErrorCode.SUBSCRIPTION_VIOLATION);  
565 - }  
566 - }  
567 -  
568 @PreAuthorize("hasAuthority('TENANT_ADMIN')") 551 @PreAuthorize("hasAuthority('TENANT_ADMIN')")
569 @RequestMapping(value = "/edge/missingToRelatedRuleChains/{edgeId}", method = RequestMethod.GET) 552 @RequestMapping(value = "/edge/missingToRelatedRuleChains/{edgeId}", method = RequestMethod.GET)
570 @ResponseBody 553 @ResponseBody
@@ -583,4 +566,29 @@ public class EdgeController extends BaseController { @@ -583,4 +566,29 @@ public class EdgeController extends BaseController {
583 private void cleanUpLicenseKey(Edge edge) { 566 private void cleanUpLicenseKey(Edge edge) {
584 edge.setEdgeLicenseKey(null); 567 edge.setEdgeLicenseKey(null);
585 } 568 }
  569 +
  570 + @RequestMapping(value = "/license/checkInstance", method = RequestMethod.POST)
  571 + @ResponseBody
  572 + public ResponseEntity<JsonNode> checkInstance(@RequestBody JsonNode request) throws ThingsboardException {
  573 + log.debug("Checking instance [{}]", request);
  574 + try {
  575 + return edgeService.checkInstance(request);
  576 + } catch (Exception e) {
  577 + log.error("Error occurred: [{}]", e.getMessage(), e);
  578 + throw new ThingsboardException(e, ThingsboardErrorCode.SUBSCRIPTION_VIOLATION);
  579 + }
  580 + }
  581 +
  582 + @RequestMapping(value = "/license/activateInstance", params = {"licenseSecret", "releaseDate"}, method = RequestMethod.POST)
  583 + @ResponseBody
  584 + public ResponseEntity<JsonNode> activateInstance(@RequestParam String licenseSecret,
  585 + @RequestParam String releaseDate) throws ThingsboardException {
  586 + log.debug("Activating instance [{}], [{}]", licenseSecret, releaseDate);
  587 + try {
  588 + return edgeService.activateInstance(licenseSecret, releaseDate);
  589 + } catch (Exception e) {
  590 + log.error("Error occurred: [{}]", e.getMessage(), e);
  591 + throw new ThingsboardException(e, ThingsboardErrorCode.SUBSCRIPTION_VIOLATION);
  592 + }
  593 + }
586 } 594 }
@@ -82,6 +82,11 @@ @@ -82,6 +82,11 @@
82 <scope>provided</scope> 82 <scope>provided</scope>
83 </dependency> 83 </dependency>
84 <dependency> 84 <dependency>
  85 + <groupId>org.springframework</groupId>
  86 + <artifactId>spring-web</artifactId>
  87 + <scope>provided</scope>
  88 + </dependency>
  89 + <dependency>
85 <groupId>com.datastax.oss</groupId> 90 <groupId>com.datastax.oss</groupId>
86 <artifactId>java-driver-core</artifactId> 91 <artifactId>java-driver-core</artifactId>
87 <scope>provided</scope> 92 <scope>provided</scope>
@@ -15,16 +15,16 @@ @@ -15,16 +15,16 @@
15 */ 15 */
16 package org.thingsboard.server.dao.edge; 16 package org.thingsboard.server.dao.edge;
17 17
  18 +import com.fasterxml.jackson.databind.JsonNode;
18 import com.google.common.util.concurrent.ListenableFuture; 19 import com.google.common.util.concurrent.ListenableFuture;
  20 +import org.springframework.http.ResponseEntity;
19 import org.thingsboard.server.common.data.EntitySubtype; 21 import org.thingsboard.server.common.data.EntitySubtype;
20 import org.thingsboard.server.common.data.edge.Edge; 22 import org.thingsboard.server.common.data.edge.Edge;
21 import org.thingsboard.server.common.data.edge.EdgeInfo; 23 import org.thingsboard.server.common.data.edge.EdgeInfo;
22 import org.thingsboard.server.common.data.edge.EdgeSearchQuery; 24 import org.thingsboard.server.common.data.edge.EdgeSearchQuery;
23 import org.thingsboard.server.common.data.id.CustomerId; 25 import org.thingsboard.server.common.data.id.CustomerId;
24 -import org.thingsboard.server.common.data.id.DashboardId;  
25 import org.thingsboard.server.common.data.id.EdgeId; 26 import org.thingsboard.server.common.data.id.EdgeId;
26 import org.thingsboard.server.common.data.id.EntityId; 27 import org.thingsboard.server.common.data.id.EntityId;
27 -import org.thingsboard.server.common.data.id.RuleChainId;  
28 import org.thingsboard.server.common.data.id.TenantId; 28 import org.thingsboard.server.common.data.id.TenantId;
29 import org.thingsboard.server.common.data.page.PageData; 29 import org.thingsboard.server.common.data.page.PageData;
30 import org.thingsboard.server.common.data.page.PageLink; 30 import org.thingsboard.server.common.data.page.PageLink;
@@ -86,9 +86,9 @@ public interface EdgeService { @@ -86,9 +86,9 @@ public interface EdgeService {
86 86
87 PageData<EdgeId> findRelatedEdgeIdsByEntityId(TenantId tenantId, EntityId entityId, PageLink pageLink); 87 PageData<EdgeId> findRelatedEdgeIdsByEntityId(TenantId tenantId, EntityId entityId, PageLink pageLink);
88 88
89 - Object checkInstance(Object request); 89 + ResponseEntity<JsonNode> checkInstance(JsonNode request);
90 90
91 - Object activateInstance(String licenseSecret, String releaseDate); 91 + ResponseEntity<JsonNode> activateInstance(String licenseSecret, String releaseDate);
92 92
93 String findMissingToRelatedRuleChains(TenantId tenantId, EdgeId edgeId); 93 String findMissingToRelatedRuleChains(TenantId tenantId, EdgeId edgeId);
94 } 94 }
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
15 */ 15 */
16 package org.thingsboard.server.dao.edge; 16 package org.thingsboard.server.dao.edge;
17 17
  18 +import com.fasterxml.jackson.databind.JsonNode;
18 import com.fasterxml.jackson.databind.ObjectMapper; 19 import com.fasterxml.jackson.databind.ObjectMapper;
19 import com.fasterxml.jackson.databind.node.ArrayNode; 20 import com.fasterxml.jackson.databind.node.ArrayNode;
20 import com.fasterxml.jackson.databind.node.ObjectNode; 21 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -34,6 +35,7 @@ import org.springframework.cache.Cache; @@ -34,6 +35,7 @@ import org.springframework.cache.Cache;
34 import org.springframework.cache.CacheManager; 35 import org.springframework.cache.CacheManager;
35 import org.springframework.cache.annotation.CacheEvict; 36 import org.springframework.cache.annotation.CacheEvict;
36 import org.springframework.cache.annotation.Cacheable; 37 import org.springframework.cache.annotation.Cacheable;
  38 +import org.springframework.http.ResponseEntity;
37 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; 39 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
38 import org.springframework.http.client.SimpleClientHttpRequestFactory; 40 import org.springframework.http.client.SimpleClientHttpRequestFactory;
39 import org.springframework.stereotype.Service; 41 import org.springframework.stereotype.Service;
@@ -543,16 +545,16 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic @@ -543,16 +545,16 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic
543 } 545 }
544 546
545 @Override 547 @Override
546 - public Object checkInstance(Object request) {  
547 - return this.restTemplate.postForEntity(EDGE_LICENSE_SERVER_ENDPOINT + "/api/license/checkInstance", request, Object.class, new Object[0]); 548 + public ResponseEntity<JsonNode> checkInstance(JsonNode request) {
  549 + return this.restTemplate.postForEntity(EDGE_LICENSE_SERVER_ENDPOINT + "/api/license/checkInstance", request, JsonNode.class);
548 } 550 }
549 551
550 @Override 552 @Override
551 - public Object activateInstance(String edgeLicenseSecret, String releaseDate) { 553 + public ResponseEntity<JsonNode> activateInstance(String edgeLicenseSecret, String releaseDate) {
552 Map<String, String> params = new HashMap<>(); 554 Map<String, String> params = new HashMap<>();
553 params.put("licenseSecret", edgeLicenseSecret); 555 params.put("licenseSecret", edgeLicenseSecret);
554 params.put("releaseDate", releaseDate); 556 params.put("releaseDate", releaseDate);
555 - return this.restTemplate.postForEntity(EDGE_LICENSE_SERVER_ENDPOINT + "/api/license/activateInstance?licenseSecret={licenseSecret}&releaseDate={releaseDate}", (Object) null, Object.class, params); 557 + return this.restTemplate.postForEntity(EDGE_LICENSE_SERVER_ENDPOINT + "/api/license/activateInstance?licenseSecret={licenseSecret}&releaseDate={releaseDate}", null, JsonNode.class, params);
556 } 558 }
557 559
558 @Override 560 @Override