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

Add actions for missing rules

parent 9baadd76
No related branches found
No related tags found
Loading
......@@ -62,11 +62,11 @@ public class Action extends AbstractResultObject {
return new HashMap<>(values);
}
private static Builder getBuilder() {
public static Builder getBuilder() {
return new Action().new Builder();
}
private class Builder extends DefaultBuilder<Action> {
public class Builder extends DefaultBuilder<Action> {
public Builder withActionType(ActionType actionType) {
value.actionType = actionType;
......
......@@ -2,6 +2,7 @@ package de.unikoblenz.fgbks.core.dmn.verification.verifier.impl;
import static de.unikoblenz.fgbks.core.dmn.domain.vdmn.utils.VDmnFunctions.templateDecision;
import de.unikoblenz.fgbks.base.domain.Name;
import de.unikoblenz.fgbks.base.utils.UniqueIdGenerator;
import de.unikoblenz.fgbks.base.utils.boundary.Boundary;
import de.unikoblenz.fgbks.base.utils.boundary.bicreater.BoundaryBiCreaterType;
......@@ -21,6 +22,10 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.impl.VDmnRuleImpl;
import de.unikoblenz.fgbks.core.dmn.domain.vdmn.impl.VDmnRuleImpl.Builder;
import de.unikoblenz.fgbks.core.dmn.verification.result.VerificationResultEntry.VerificationClassification;
import de.unikoblenz.fgbks.core.dmn.verification.result.VerificationResultEntryElement;
import de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action;
import de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope;
import de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionType;
import de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix;
import de.unikoblenz.fgbks.core.dmn.verification.verifier.AbstractVerifier;
import de.unikoblenz.fgbks.core.dmn.verification.verifier.DmnVerifier;
import de.unikoblenz.fgbks.core.dmn.verification.verifier.types.MissingRuleVerification;
......@@ -33,6 +38,7 @@ import java.util.stream.Collectors;
@DmnVerifier(verifierType = MissingRuleVerification.class)
public class MissingRuleVerifier extends AbstractVerifier {
private static Name FIX_NAME = new Name("Add rule");
public static final long INITIAL_ROW_NUMER = 9999L;
@Override
......@@ -57,7 +63,17 @@ public class MissingRuleVerifier extends AbstractVerifier {
.map(s -> s.isEmpty() ? "-" : s)
.collect(Collectors.joining(" / ")));
sb.append(" }");
Action.Builder fixActionBuilder =
Action.getBuilder().withActionScope(ActionScope.RULE).withActionType(ActionType.CREATE);
for (VDmnInputValue v : missingRule.getDmnInputValues()) {
fixActionBuilder.addValue("inputColumnId", v.getDmnInputColumn().getInputId().getValue());
fixActionBuilder.addValue("value", v.getBoundary().getParsedText());
}
vreFactory.addVerificationFix(
VerificationFix.getBuilder()
.withFixName(FIX_NAME)
.addAction(fixActionBuilder.build())
.build());
vreFactory.addElement(VerificationResultEntryElement.create(dmnDecisionTable));
vreFactory.addToEntry(VerificationClassification.WARNING, sb.toString());
}
......
......@@ -21,7 +21,7 @@ function performVerificationFix(verificationEntry, fix, id) {
case 'DELETE':
// break;
default:
alert("Action not defined!");
alert("Action not defined: " + fix);
}
performHighlightFunction();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment