Browse Source

Fix of the rule node sorting in the rule chain metadata

pull/6641/head
Andrii Shvaika 4 years ago
parent
commit
03869ee528
  1. 2
      dao/src/main/java/org/thingsboard/server/dao/model/BaseSqlEntity.java
  2. 3
      dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleChainService.java

2
dao/src/main/java/org/thingsboard/server/dao/model/BaseSqlEntity.java

@ -33,7 +33,7 @@ public abstract class BaseSqlEntity<D> implements BaseEntity<D> {
@Column(name = ModelConstants.ID_PROPERTY, columnDefinition = "uuid")
protected UUID id;
@Column(name = ModelConstants.CREATED_TIME_PROPERTY)
@Column(name = ModelConstants.CREATED_TIME_PROPERTY, updatable = false)
protected long createdTime;
@Override

3
dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleChainService.java

@ -58,6 +58,8 @@ import org.thingsboard.server.dao.service.Validator;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@ -272,6 +274,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
RuleChainMetaData ruleChainMetaData = new RuleChainMetaData();
ruleChainMetaData.setRuleChainId(ruleChainId);
List<RuleNode> ruleNodes = getRuleChainNodes(tenantId, ruleChainId);
Collections.sort(ruleNodes, Comparator.comparingLong(RuleNode::getCreatedTime).thenComparing(RuleNode::getId, Comparator.comparing(RuleNodeId::getId)));
Map<RuleNodeId, Integer> ruleNodeIndexMap = new HashMap<>();
for (RuleNode node : ruleNodes) {
ruleNodeIndexMap.put(node.getId(), ruleNodes.indexOf(node));

Loading…
Cancel
Save