Showing
6 changed files
with
15 additions
and
20 deletions
@@ -441,7 +441,7 @@ public class RuleChainController extends BaseController { | @@ -441,7 +441,7 @@ public class RuleChainController extends BaseController { | ||
441 | public void importRuleChains(@RequestBody RuleChainData ruleChainData, @RequestParam(required = false, defaultValue = "false") boolean overwrite) throws ThingsboardException { | 441 | public void importRuleChains(@RequestBody RuleChainData ruleChainData, @RequestParam(required = false, defaultValue = "false") boolean overwrite) throws ThingsboardException { |
442 | try { | 442 | try { |
443 | TenantId tenantId = getCurrentUser().getTenantId(); | 443 | TenantId tenantId = getCurrentUser().getTenantId(); |
444 | - List<RuleChainImportResult> importResults = ruleChainService.importTenantRuleChains(tenantId, ruleChainData, overwrite); | 444 | + List<RuleChainImportResult> importResults = ruleChainService.importTenantRuleChains(tenantId, ruleChainData, RuleChainType.CORE, overwrite); |
445 | if (!CollectionUtils.isEmpty(importResults)) { | 445 | if (!CollectionUtils.isEmpty(importResults)) { |
446 | for (RuleChainImportResult importResult : importResults) { | 446 | for (RuleChainImportResult importResult : importResults) { |
447 | tbClusterService.onEntityStateChange(importResult.getTenantId(), importResult.getRuleChainId(), importResult.getLifecycleEvent()); | 447 | tbClusterService.onEntityStateChange(importResult.getTenantId(), importResult.getRuleChainId(), importResult.getLifecycleEvent()); |
@@ -537,15 +537,13 @@ public class RuleChainController extends BaseController { | @@ -537,15 +537,13 @@ public class RuleChainController extends BaseController { | ||
537 | @RequestParam int page, | 537 | @RequestParam int page, |
538 | @RequestParam(required = false) String textSearch, | 538 | @RequestParam(required = false) String textSearch, |
539 | @RequestParam(required = false) String sortProperty, | 539 | @RequestParam(required = false) String sortProperty, |
540 | - @RequestParam(required = false) String sortOrder, | ||
541 | - @RequestParam(required = false) Long startTime, | ||
542 | - @RequestParam(required = false) Long endTime) throws ThingsboardException { | 540 | + @RequestParam(required = false) String sortOrder) throws ThingsboardException { |
543 | checkParameter("edgeId", strEdgeId); | 541 | checkParameter("edgeId", strEdgeId); |
544 | try { | 542 | try { |
545 | TenantId tenantId = getCurrentUser().getTenantId(); | 543 | TenantId tenantId = getCurrentUser().getTenantId(); |
546 | EdgeId edgeId = new EdgeId(toUUID(strEdgeId)); | 544 | EdgeId edgeId = new EdgeId(toUUID(strEdgeId)); |
547 | checkEdgeId(edgeId, Operation.READ); | 545 | checkEdgeId(edgeId, Operation.READ); |
548 | - TimePageLink pageLink = createTimePageLink(pageSize, page, textSearch, sortProperty, sortOrder, startTime, endTime); | 546 | + PageLink pageLink = createPageLink(pageSize, page, textSearch, sortProperty, sortOrder); |
549 | return checkNotNull(ruleChainService.findRuleChainsByTenantIdAndEdgeId(tenantId, edgeId, pageLink)); | 547 | return checkNotNull(ruleChainService.findRuleChainsByTenantIdAndEdgeId(tenantId, edgeId, pageLink)); |
550 | } catch (Exception e) { | 548 | } catch (Exception e) { |
551 | throw handleException(e); | 549 | throw handleException(e); |
@@ -267,6 +267,7 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService | @@ -267,6 +267,7 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService | ||
267 | case "2.5.5": | 267 | case "2.5.5": |
268 | try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { | 268 | try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { |
269 | log.info("Updating schema ..."); | 269 | log.info("Updating schema ..."); |
270 | + // TODO: voba - should be 2.6.0 | ||
270 | schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "2.5.0", SCHEMA_UPDATE_SQL); | 271 | schemaUpdateFile = Paths.get(installScripts.getDataDir(), "upgrade", "2.5.0", SCHEMA_UPDATE_SQL); |
271 | loadSql(schemaUpdateFile, conn); | 272 | loadSql(schemaUpdateFile, conn); |
272 | 273 |
@@ -71,13 +71,13 @@ public interface RuleChainService { | @@ -71,13 +71,13 @@ public interface RuleChainService { | ||
71 | 71 | ||
72 | RuleChainData exportTenantRuleChains(TenantId tenantId, PageLink pageLink) throws ThingsboardException; | 72 | RuleChainData exportTenantRuleChains(TenantId tenantId, PageLink pageLink) throws ThingsboardException; |
73 | 73 | ||
74 | - List<RuleChainImportResult> importTenantRuleChains(TenantId tenantId, RuleChainData ruleChainData, boolean overwrite); | 74 | + List<RuleChainImportResult> importTenantRuleChains(TenantId tenantId, RuleChainData ruleChainData, RuleChainType type, boolean overwrite); |
75 | 75 | ||
76 | RuleChain assignRuleChainToEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId); | 76 | RuleChain assignRuleChainToEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId); |
77 | 77 | ||
78 | RuleChain unassignRuleChainFromEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId, boolean remove); | 78 | RuleChain unassignRuleChainFromEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId, boolean remove); |
79 | 79 | ||
80 | - PageData<RuleChain> findRuleChainsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink); | 80 | + PageData<RuleChain> findRuleChainsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, PageLink pageLink); |
81 | 81 | ||
82 | RuleChain getDefaultRootEdgeRuleChain(TenantId tenantId); | 82 | RuleChain getDefaultRootEdgeRuleChain(TenantId tenantId); |
83 | 83 |
@@ -37,7 +37,6 @@ import org.thingsboard.server.common.data.id.RuleNodeId; | @@ -37,7 +37,6 @@ import org.thingsboard.server.common.data.id.RuleNodeId; | ||
37 | import org.thingsboard.server.common.data.id.TenantId; | 37 | import org.thingsboard.server.common.data.id.TenantId; |
38 | import org.thingsboard.server.common.data.page.PageData; | 38 | import org.thingsboard.server.common.data.page.PageData; |
39 | import org.thingsboard.server.common.data.page.PageLink; | 39 | import org.thingsboard.server.common.data.page.PageLink; |
40 | -import org.thingsboard.server.common.data.page.TimePageLink; | ||
41 | import org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent; | 40 | import org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent; |
42 | import org.thingsboard.server.common.data.relation.EntityRelation; | 41 | import org.thingsboard.server.common.data.relation.EntityRelation; |
43 | import org.thingsboard.server.common.data.relation.RelationTypeGroup; | 42 | import org.thingsboard.server.common.data.relation.RelationTypeGroup; |
@@ -458,13 +457,13 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC | @@ -458,13 +457,13 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC | ||
458 | } | 457 | } |
459 | 458 | ||
460 | @Override | 459 | @Override |
461 | - public List<RuleChainImportResult> importTenantRuleChains(TenantId tenantId, RuleChainData ruleChainData, boolean overwrite) { | 460 | + public List<RuleChainImportResult> importTenantRuleChains(TenantId tenantId, RuleChainData ruleChainData, RuleChainType type, boolean overwrite) { |
462 | List<RuleChainImportResult> importResults = new ArrayList<>(); | 461 | List<RuleChainImportResult> importResults = new ArrayList<>(); |
463 | setRandomRuleChainIds(ruleChainData); | 462 | setRandomRuleChainIds(ruleChainData); |
464 | resetRuleNodeIds(ruleChainData.getMetadata()); | 463 | resetRuleNodeIds(ruleChainData.getMetadata()); |
465 | resetRuleChainMetadataTenantIds(tenantId, ruleChainData.getMetadata()); | 464 | resetRuleChainMetadataTenantIds(tenantId, ruleChainData.getMetadata()); |
466 | if (overwrite) { | 465 | if (overwrite) { |
467 | - List<RuleChain> persistentRuleChains = findAllTenantRuleChains(tenantId); | 466 | + List<RuleChain> persistentRuleChains = findAllTenantRuleChains(tenantId, type); |
468 | for (RuleChain ruleChain : ruleChainData.getRuleChains()) { | 467 | for (RuleChain ruleChain : ruleChainData.getRuleChains()) { |
469 | ComponentLifecycleEvent lifecycleEvent; | 468 | ComponentLifecycleEvent lifecycleEvent; |
470 | Optional<RuleChain> persistentRuleChainOpt = persistentRuleChains.stream().filter(rc -> rc.getName().equals(ruleChain.getName())).findFirst(); | 469 | Optional<RuleChain> persistentRuleChainOpt = persistentRuleChains.stream().filter(rc -> rc.getName().equals(ruleChain.getName())).findFirst(); |
@@ -544,19 +543,19 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC | @@ -544,19 +543,19 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC | ||
544 | } | 543 | } |
545 | } | 544 | } |
546 | 545 | ||
547 | - private List<RuleChain> findAllTenantRuleChains(TenantId tenantId) { | 546 | + private List<RuleChain> findAllTenantRuleChains(TenantId tenantId, RuleChainType type) { |
548 | PageLink pageLink = new PageLink(DEFAULT_PAGE_SIZE); | 547 | PageLink pageLink = new PageLink(DEFAULT_PAGE_SIZE); |
549 | - return findAllTenantRuleChainsRecursive(tenantId, new ArrayList<>(), pageLink); | 548 | + return findAllTenantRuleChainsRecursive(tenantId, new ArrayList<>(), type, pageLink); |
550 | } | 549 | } |
551 | 550 | ||
552 | - private List<RuleChain> findAllTenantRuleChainsRecursive(TenantId tenantId, List<RuleChain> accumulator, PageLink pageLink) { | ||
553 | - PageData<RuleChain> persistentRuleChainData = findTenantRuleChainsByType(tenantId, RuleChainType.CORE, pageLink); | 551 | + private List<RuleChain> findAllTenantRuleChainsRecursive(TenantId tenantId, List<RuleChain> accumulator, RuleChainType type, PageLink pageLink) { |
552 | + PageData<RuleChain> persistentRuleChainData = findTenantRuleChainsByType(tenantId, type, pageLink); | ||
554 | List<RuleChain> ruleChains = persistentRuleChainData.getData(); | 553 | List<RuleChain> ruleChains = persistentRuleChainData.getData(); |
555 | if (!CollectionUtils.isEmpty(ruleChains)) { | 554 | if (!CollectionUtils.isEmpty(ruleChains)) { |
556 | accumulator.addAll(ruleChains); | 555 | accumulator.addAll(ruleChains); |
557 | } | 556 | } |
558 | if (persistentRuleChainData.hasNext()) { | 557 | if (persistentRuleChainData.hasNext()) { |
559 | - return findAllTenantRuleChainsRecursive(tenantId, accumulator, pageLink.nextPageLink()); | 558 | + return findAllTenantRuleChainsRecursive(tenantId, accumulator, type, pageLink.nextPageLink()); |
560 | } | 559 | } |
561 | return accumulator; | 560 | return accumulator; |
562 | } | 561 | } |
@@ -616,7 +615,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC | @@ -616,7 +615,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC | ||
616 | } | 615 | } |
617 | 616 | ||
618 | @Override | 617 | @Override |
619 | - public PageData<RuleChain> findRuleChainsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink) { | 618 | + public PageData<RuleChain> findRuleChainsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, PageLink pageLink) { |
620 | log.trace("Executing findRuleChainsByTenantIdAndEdgeId, tenantId [{}], edgeId [{}], pageLink [{}]", tenantId, edgeId, pageLink); | 619 | log.trace("Executing findRuleChainsByTenantIdAndEdgeId, tenantId [{}], edgeId [{}], pageLink [{}]", tenantId, edgeId, pageLink); |
621 | Validator.validateId(tenantId, "Incorrect tenantId " + tenantId); | 620 | Validator.validateId(tenantId, "Incorrect tenantId " + tenantId); |
622 | Validator.validateId(edgeId, "Incorrect edgeId " + edgeId); | 621 | Validator.validateId(edgeId, "Incorrect edgeId " + edgeId); |
@@ -48,8 +48,6 @@ public class TbMsgAttributesNode implements TbNode { | @@ -48,8 +48,6 @@ public class TbMsgAttributesNode implements TbNode { | ||
48 | 48 | ||
49 | private TbMsgAttributesNodeConfiguration config; | 49 | private TbMsgAttributesNodeConfiguration config; |
50 | 50 | ||
51 | - private static final String SCOPE = "scope"; | ||
52 | - | ||
53 | @Override | 51 | @Override |
54 | public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException { | 52 | public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException { |
55 | this.config = TbNodeUtils.convert(configuration, TbMsgAttributesNodeConfiguration.class); | 53 | this.config = TbNodeUtils.convert(configuration, TbMsgAttributesNodeConfiguration.class); |
@@ -66,7 +64,6 @@ public class TbMsgAttributesNode implements TbNode { | @@ -66,7 +64,6 @@ public class TbMsgAttributesNode implements TbNode { | ||
66 | } | 64 | } |
67 | String src = msg.getData(); | 65 | String src = msg.getData(); |
68 | Set<AttributeKvEntry> attributes = JsonConverter.convertToAttributes(new JsonParser().parse(src)); | 66 | Set<AttributeKvEntry> attributes = JsonConverter.convertToAttributes(new JsonParser().parse(src)); |
69 | - msg.getMetaData().putValue(SCOPE, config.getScope()); | ||
70 | String notifyDeviceStr = msg.getMetaData().getValue("notifyDevice"); | 67 | String notifyDeviceStr = msg.getMetaData().getValue("notifyDevice"); |
71 | ctx.getTelemetryService().saveAndNotify( | 68 | ctx.getTelemetryService().saveAndNotify( |
72 | ctx.getTenantId(), | 69 | ctx.getTenantId(), |