Skip to content
Snippets Groups Projects
Commit f5fa21f3 authored by Jonas Blatt's avatar Jonas Blatt :ant:
Browse files

Merge branch 'develop' into 'feature/vdmnlanguage'

# Conflicts:
#   dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/IdenticalRuleVerifier.java
#   dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java
parents fa0ee86b 310ec04b
No related branches found
No related tags found
No related merge requests found
...@@ -45,9 +45,7 @@ public class IdenticalRuleVerifier extends AbstractVerifier { ...@@ -45,9 +45,7 @@ public class IdenticalRuleVerifier extends AbstractVerifier {
List<VDmnRule> currentRules) { List<VDmnRule> currentRules) {
if (i == inputs.size()) { if (i == inputs.size()) {
currentRules.forEach( currentRules.forEach(
rule -> rule -> vreFactory.addElement(VerificationResultEntryElement.create(rule)));
vreFactory.addElement(
VerificationResultEntryElement.create(rule)));
vreFactory.addVerificationFix(SHOW_RULES); vreFactory.addVerificationFix(SHOW_RULES);
vreFactory.addToEntry( vreFactory.addToEntry(
VerificationClassification.WARNING, VerificationClassification.WARNING,
......
...@@ -49,35 +49,37 @@ public class MissingRuleVerifier extends AbstractVerifier { ...@@ -49,35 +49,37 @@ public class MissingRuleVerifier extends AbstractVerifier {
} }
private void findMissingRules(VDmnDecisionTable dmnDecisionTable) { private void findMissingRules(VDmnDecisionTable dmnDecisionTable) {
List<VDmnInputColumn> inputs = dmnDecisionTable.getVDmnInputColumns(); List<VDmnInputColumn> inputs = dmnDecisionTable.getInputColumns();
List<VDmnRuleChangeableImpl> missingRules = if (inputs.size() > 0) {
checkForMissingRules(inputs, dmnDecisionTable.getVDmnRules()); List<VDmnRuleChangeableImpl> missingRules =
// add errors for missing intervals checkForMissingRules(inputs, dmnDecisionTable.getRules());
for (VDmnRule missingRule : missingRules) { // add errors for missing intervals
StringBuilder sb = new StringBuilder(); for (VDmnRule missingRule : missingRules) {
sb.append(templateDecision(dmnDecisionTable.getVDmnDecision())); StringBuilder sb = new StringBuilder();
sb.append("The following rule is not defined: { "); sb.append(templateDecision(dmnDecisionTable.getDmnDecision()));
sb.append( sb.append("The following rule is not defined: { ");
missingRule.getVDmnInputValues().stream() sb.append(
.map(v -> v.getBoundary().getParsedText()) missingRule.getDmnInputValues().stream()
.map(s -> s.isEmpty() ? "-" : s) .map(v -> v.getBoundary().getParsedText())
.collect(Collectors.joining(" / "))); .map(s -> s.isEmpty() ? "-" : s)
sb.append(" }"); .collect(Collectors.joining(" / ")));
Action.Builder fixActionBuilder = sb.append(" }");
Action.getBuilder().withActionScope(ActionScope.RULE).withActionType(ActionType.CREATE); Action.Builder fixActionBuilder =
for (VDmnInputValue v : missingRule.getVDmnInputValues()) { Action.getBuilder().withActionScope(ActionScope.RULE).withActionType(ActionType.CREATE);
fixActionBuilder.addValue( for (VDmnInputValue v : missingRule.getDmnInputValues()) {
v.getVDmnInputColumn().getInputId().getValue(), v.getBoundary().getParsedText()); fixActionBuilder.addValue(
v.getDmnInputColumn().getInputId().getValue(), v.getBoundary().getParsedText());
}
vreFactory
.addVerificationFix(VerificationFix.SHOW_DECISION)
.addVerificationFix(
VerificationFix.getBuilder()
.withFixName(FIX_NAME)
.addAction(fixActionBuilder.build())
.build())
.addElement(VerificationResultEntryElement.create(dmnDecisionTable))
.addToEntry(VerificationClassification.WARNING, sb.toString());
} }
vreFactory
.addVerificationFix(VerificationFix.SHOW_DECISION)
.addVerificationFix(
VerificationFix.getBuilder()
.withFixName(FIX_NAME)
.addAction(fixActionBuilder.build())
.build())
.addElement(VerificationResultEntryElement.create(dmnDecisionTable))
.addToEntry(VerificationClassification.WARNING, sb.toString());
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment