validate node only after upgrade is called
This commit is contained in:
parent
afa54ef277
commit
6d0d1c0211
@ -155,7 +155,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
if (ruleChain == null) {
|
if (ruleChain == null) {
|
||||||
return RuleChainUpdateResult.failed();
|
return RuleChainUpdateResult.failed();
|
||||||
}
|
}
|
||||||
RuleChainDataValidator.validateMetaData(ruleChainMetaData);
|
RuleChainDataValidator.validateMetaDataFieldsAndConnections(ruleChainMetaData);
|
||||||
|
|
||||||
List<RuleNode> nodes = ruleChainMetaData.getNodes();
|
List<RuleNode> nodes = ruleChainMetaData.getNodes();
|
||||||
List<RuleNode> toAddOrUpdate = new ArrayList<>();
|
List<RuleNode> toAddOrUpdate = new ArrayList<>();
|
||||||
@ -194,6 +194,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
|
|||||||
for (RuleNode node : toAddOrUpdate) {
|
for (RuleNode node : toAddOrUpdate) {
|
||||||
node.setRuleChainId(ruleChainId);
|
node.setRuleChainId(ruleChainId);
|
||||||
node = ruleNodeUpdater.apply(node);
|
node = ruleNodeUpdater.apply(node);
|
||||||
|
RuleChainDataValidator.validateRuleNode(node);
|
||||||
RuleNode savedNode = ruleNodeDao.save(tenantId, node);
|
RuleNode savedNode = ruleNodeDao.save(tenantId, node);
|
||||||
relations.add(new EntityRelation(ruleChainMetaData.getRuleChainId(), savedNode.getId(),
|
relations.add(new EntityRelation(ruleChainMetaData.getRuleChainId(), savedNode.getId(),
|
||||||
EntityRelation.CONTAINS_TYPE, RelationTypeGroup.RULE_CHAIN));
|
EntityRelation.CONTAINS_TYPE, RelationTypeGroup.RULE_CHAIN));
|
||||||
|
|||||||
@ -87,15 +87,18 @@ public class RuleChainDataValidator extends DataValidator<RuleChain> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static List<Throwable> validateMetaData(RuleChainMetaData ruleChainMetaData) {
|
public static List<Throwable> validateMetaData(RuleChainMetaData ruleChainMetaData) {
|
||||||
ConstraintValidator.validateFields(ruleChainMetaData);
|
validateMetaDataFieldsAndConnections(ruleChainMetaData);
|
||||||
List<Throwable> throwables = ruleChainMetaData.getNodes().stream()
|
return ruleChainMetaData.getNodes().stream()
|
||||||
.map(RuleChainDataValidator::validateRuleNode)
|
.map(RuleChainDataValidator::validateRuleNode)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void validateMetaDataFieldsAndConnections(RuleChainMetaData ruleChainMetaData) {
|
||||||
|
ConstraintValidator.validateFields(ruleChainMetaData);
|
||||||
if (CollectionUtils.isNotEmpty(ruleChainMetaData.getConnections())) {
|
if (CollectionUtils.isNotEmpty(ruleChainMetaData.getConnections())) {
|
||||||
validateCircles(ruleChainMetaData.getConnections());
|
validateCircles(ruleChainMetaData.getConnections());
|
||||||
}
|
}
|
||||||
return throwables;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Throwable validateRuleNode(RuleNode ruleNode) {
|
public static Throwable validateRuleNode(RuleNode ruleNode) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user