Rule chain refactoring
This commit is contained in:
parent
1a084a80f8
commit
31a1e310f1
@ -135,15 +135,15 @@ public class DashboardInfo extends SearchTextBased<DashboardId> implements HasNa
|
|||||||
if (this.assignedEdges == null) {
|
if (this.assignedEdges == null) {
|
||||||
this.assignedEdges = new HashSet<>();
|
this.assignedEdges = new HashSet<>();
|
||||||
}
|
}
|
||||||
return EdgeUtils.addAssignedEdge(this.assignedEdges, edge);
|
return EdgeUtils.addAssignedEdge(this.assignedEdges, edge.toShortEdgeInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateAssignedEdge(Edge edge) {
|
public boolean updateAssignedEdge(Edge edge) {
|
||||||
return EdgeUtils.updateAssignedEdge(this.assignedEdges, edge);
|
return EdgeUtils.updateAssignedEdge(this.assignedEdges, edge.toShortEdgeInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean removeAssignedEdge(Edge edge) {
|
public boolean removeAssignedEdge(Edge edge) {
|
||||||
return EdgeUtils.removeAssignedEdge(this.assignedEdges, edge);
|
return EdgeUtils.removeAssignedEdge(this.assignedEdges, edge.toShortEdgeInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
package org.thingsboard.server.common.data;
|
package org.thingsboard.server.common.data;
|
||||||
|
|
||||||
import org.thingsboard.server.common.data.edge.Edge;
|
|
||||||
import org.thingsboard.server.common.data.id.EdgeId;
|
import org.thingsboard.server.common.data.id.EdgeId;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public final class EdgeUtils {
|
public final class EdgeUtils {
|
||||||
|
|
||||||
private EdgeUtils() {}
|
private EdgeUtils() {
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isAssignedToEdge(Set<ShortEdgeInfo> assignedEdges, EdgeId edgeId) {
|
public static boolean isAssignedToEdge(Set<ShortEdgeInfo> assignedEdges, EdgeId edgeId) {
|
||||||
return assignedEdges != null && assignedEdges.contains(new ShortEdgeInfo(edgeId, null, null));
|
return assignedEdges != null && assignedEdges.contains(new ShortEdgeInfo(edgeId, null, null));
|
||||||
@ -24,8 +24,7 @@ public final class EdgeUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean addAssignedEdge(Set<ShortEdgeInfo> assignedEdges, Edge edge) {
|
public static boolean addAssignedEdge(Set<ShortEdgeInfo> assignedEdges, ShortEdgeInfo edgeInfo) {
|
||||||
ShortEdgeInfo edgeInfo = edge.toShortEdgeInfo();
|
|
||||||
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
@ -38,8 +37,7 @@ public final class EdgeUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean updateAssignedEdge(Set<ShortEdgeInfo> assignedEdges, Edge edge) {
|
public static boolean updateAssignedEdge(Set<ShortEdgeInfo> assignedEdges, ShortEdgeInfo edgeInfo) {
|
||||||
ShortEdgeInfo edgeInfo = edge.toShortEdgeInfo();
|
|
||||||
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
||||||
assignedEdges.remove(edgeInfo);
|
assignedEdges.remove(edgeInfo);
|
||||||
assignedEdges.add(edgeInfo);
|
assignedEdges.add(edgeInfo);
|
||||||
@ -49,8 +47,7 @@ public final class EdgeUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean removeAssignedEdge(Set<ShortEdgeInfo> assignedEdges, Edge edge) {
|
public static boolean removeAssignedEdge(Set<ShortEdgeInfo> assignedEdges, ShortEdgeInfo edgeInfo) {
|
||||||
ShortEdgeInfo edgeInfo = edge.toShortEdgeInfo();
|
|
||||||
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
||||||
assignedEdges.remove(edgeInfo);
|
assignedEdges.remove(edgeInfo);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -104,14 +104,14 @@ public class RuleChain extends SearchTextBasedWithAdditionalInfo<RuleChainId> im
|
|||||||
if (this.assignedEdges == null) {
|
if (this.assignedEdges == null) {
|
||||||
this.assignedEdges = new HashSet<>();
|
this.assignedEdges = new HashSet<>();
|
||||||
}
|
}
|
||||||
return EdgeUtils.addAssignedEdge(this.assignedEdges, edge);
|
return EdgeUtils.addAssignedEdge(this.assignedEdges, edge.toShortEdgeInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateAssignedEdge(Edge edge) {
|
public boolean updateAssignedEdge(Edge edge) {
|
||||||
return EdgeUtils.updateAssignedEdge(this.assignedEdges, edge);
|
return EdgeUtils.updateAssignedEdge(this.assignedEdges, edge.toShortEdgeInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean removeAssignedEdge(Edge edge) {
|
public boolean removeAssignedEdge(Edge edge) {
|
||||||
return EdgeUtils.removeAssignedEdge(this.assignedEdges, edge);
|
return EdgeUtils.removeAssignedEdge(this.assignedEdges, edge.toShortEdgeInfo());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,6 +46,7 @@ import org.thingsboard.server.common.data.rule.RuleChainMetaData;
|
|||||||
import org.thingsboard.server.common.data.rule.RuleChainType;
|
import org.thingsboard.server.common.data.rule.RuleChainType;
|
||||||
import org.thingsboard.server.common.data.rule.RuleNode;
|
import org.thingsboard.server.common.data.rule.RuleNode;
|
||||||
import org.thingsboard.server.dao.edge.EdgeDao;
|
import org.thingsboard.server.dao.edge.EdgeDao;
|
||||||
|
import org.thingsboard.server.dao.edge.EdgeService;
|
||||||
import org.thingsboard.server.dao.entity.AbstractEntityService;
|
import org.thingsboard.server.dao.entity.AbstractEntityService;
|
||||||
import org.thingsboard.server.dao.exception.DataValidationException;
|
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||||
import org.thingsboard.server.dao.service.DataValidator;
|
import org.thingsboard.server.dao.service.DataValidator;
|
||||||
@ -78,7 +79,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
private TenantDao tenantDao;
|
private TenantDao tenantDao;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private EdgeDao edgeDao;
|
private EdgeService edgeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RuleChain saveRuleChain(RuleChain ruleChain) {
|
public RuleChain saveRuleChain(RuleChain ruleChain) {
|
||||||
@ -395,7 +396,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
@Override
|
@Override
|
||||||
public RuleChain assignRuleChainToEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId) {
|
public RuleChain assignRuleChainToEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId) {
|
||||||
RuleChain ruleChain = findRuleChainById(tenantId, ruleChainId);
|
RuleChain ruleChain = findRuleChainById(tenantId, ruleChainId);
|
||||||
Edge edge = edgeDao.findById(tenantId, edgeId.getId());
|
Edge edge = edgeService.findEdgeById(tenantId, edgeId);
|
||||||
if (edge == null) {
|
if (edge == null) {
|
||||||
throw new DataValidationException("Can't assign ruleChain to non-existent edge!");
|
throw new DataValidationException("Can't assign ruleChain to non-existent edge!");
|
||||||
}
|
}
|
||||||
@ -417,7 +418,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
@Override
|
@Override
|
||||||
public RuleChain unassignRuleChainFromEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId, boolean remove) {
|
public RuleChain unassignRuleChainFromEdge(TenantId tenantId, RuleChainId ruleChainId, EdgeId edgeId, boolean remove) {
|
||||||
RuleChain ruleChain = findRuleChainById(tenantId, ruleChainId);
|
RuleChain ruleChain = findRuleChainById(tenantId, ruleChainId);
|
||||||
Edge edge = edgeDao.findById(tenantId, edgeId.getId());
|
Edge edge = edgeService.findEdgeById(tenantId, edgeId);
|
||||||
if (edge == null) {
|
if (edge == null) {
|
||||||
throw new DataValidationException("Can't unassign rule chain from non-existent edge!");
|
throw new DataValidationException("Can't unassign rule chain from non-existent edge!");
|
||||||
}
|
}
|
||||||
@ -441,7 +442,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
public void unassignEdgeRuleChains(TenantId tenantId, EdgeId edgeId) {
|
public void unassignEdgeRuleChains(TenantId tenantId, EdgeId edgeId) {
|
||||||
log.trace("Executing unassignEdgeRuleChains, edgeId [{}]", edgeId);
|
log.trace("Executing unassignEdgeRuleChains, edgeId [{}]", edgeId);
|
||||||
Validator.validateId(edgeId, "Incorrect edgeId " + edgeId);
|
Validator.validateId(edgeId, "Incorrect edgeId " + edgeId);
|
||||||
Edge edge = edgeDao.findById(tenantId, edgeId.getId());
|
Edge edge = edgeService.findEdgeById(tenantId, edgeId);
|
||||||
if (edge == null) {
|
if (edge == null) {
|
||||||
throw new DataValidationException("Can't unassign ruleChains from non-existent edge!");
|
throw new DataValidationException("Can't unassign ruleChains from non-existent edge!");
|
||||||
}
|
}
|
||||||
@ -452,7 +453,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
public void updateEdgeRuleChains(TenantId tenantId, EdgeId edgeId) {
|
public void updateEdgeRuleChains(TenantId tenantId, EdgeId edgeId) {
|
||||||
log.trace("Executing updateEdgeRuleChains, edgeId [{}]", edgeId);
|
log.trace("Executing updateEdgeRuleChains, edgeId [{}]", edgeId);
|
||||||
Validator.validateId(edgeId, "Incorrect edgeId " + edgeId);
|
Validator.validateId(edgeId, "Incorrect edgeId " + edgeId);
|
||||||
Edge edge = edgeDao.findById(tenantId, edgeId.getId());
|
Edge edge = edgeService.findEdgeById(tenantId, edgeId);
|
||||||
if (edge == null) {
|
if (edge == null) {
|
||||||
throw new DataValidationException("Can't update ruleChains for non-existent edge!");
|
throw new DataValidationException("Can't update ruleChains for non-existent edge!");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user