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

Merge branch 'feature/actions-for-missing-rules' into 'develop'

Resolve "Create Action "Add Rule" in Missing Rule Verifier"

Closes #27

See merge request jonasblatt/ma-jonasblatt-dmn-verifier!54
parents a75905bd dbbedb3d
No related branches found
No related tags found
No related merge requests found
...@@ -62,11 +62,11 @@ public class Action extends AbstractResultObject { ...@@ -62,11 +62,11 @@ public class Action extends AbstractResultObject {
return new HashMap<>(values); return new HashMap<>(values);
} }
private static Builder getBuilder() { public static Builder getBuilder() {
return new Action().new Builder(); return new Action().new Builder();
} }
private class Builder extends DefaultBuilder<Action> { public class Builder extends DefaultBuilder<Action> {
public Builder withActionType(ActionType actionType) { public Builder withActionType(ActionType actionType) {
value.actionType = actionType; value.actionType = actionType;
......
...@@ -2,6 +2,7 @@ package de.unikoblenz.fgbks.core.dmn.verification.verifier.impl; ...@@ -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 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.UniqueIdGenerator;
import de.unikoblenz.fgbks.base.utils.boundary.Boundary; import de.unikoblenz.fgbks.base.utils.boundary.Boundary;
import de.unikoblenz.fgbks.base.utils.boundary.bicreater.BoundaryBiCreaterType; import de.unikoblenz.fgbks.base.utils.boundary.bicreater.BoundaryBiCreaterType;
...@@ -21,6 +22,10 @@ import de.unikoblenz.fgbks.core.dmn.domain.vdmn.impl.VDmnRuleImpl; ...@@ -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.domain.vdmn.impl.VDmnRuleImpl.Builder;
import de.unikoblenz.fgbks.core.dmn.verification.result.VerificationResultEntry.VerificationClassification; 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.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.AbstractVerifier;
import de.unikoblenz.fgbks.core.dmn.verification.verifier.DmnVerifier; import de.unikoblenz.fgbks.core.dmn.verification.verifier.DmnVerifier;
import de.unikoblenz.fgbks.core.dmn.verification.verifier.types.MissingRuleVerification; import de.unikoblenz.fgbks.core.dmn.verification.verifier.types.MissingRuleVerification;
...@@ -33,6 +38,7 @@ import java.util.stream.Collectors; ...@@ -33,6 +38,7 @@ import java.util.stream.Collectors;
@DmnVerifier(verifierType = MissingRuleVerification.class) @DmnVerifier(verifierType = MissingRuleVerification.class)
public class MissingRuleVerifier extends AbstractVerifier { public class MissingRuleVerifier extends AbstractVerifier {
private static Name FIX_NAME = new Name("Add rule");
public static final long INITIAL_ROW_NUMER = 9999L; public static final long INITIAL_ROW_NUMER = 9999L;
@Override @Override
...@@ -57,7 +63,17 @@ public class MissingRuleVerifier extends AbstractVerifier { ...@@ -57,7 +63,17 @@ public class MissingRuleVerifier extends AbstractVerifier {
.map(s -> s.isEmpty() ? "-" : s) .map(s -> s.isEmpty() ? "-" : s)
.collect(Collectors.joining(" / "))); .collect(Collectors.joining(" / ")));
sb.append(" }"); 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.addElement(VerificationResultEntryElement.create(dmnDecisionTable));
vreFactory.addToEntry(VerificationClassification.WARNING, sb.toString()); vreFactory.addToEntry(VerificationClassification.WARNING, sb.toString());
} }
......
...@@ -21,7 +21,7 @@ function performVerificationFix(verificationEntry, fix, id) { ...@@ -21,7 +21,7 @@ function performVerificationFix(verificationEntry, fix, id) {
case 'DELETE': case 'DELETE':
// break; // break;
default: default:
alert("Action not defined!"); alert("Action not defined: " + fix);
} }
performHighlightFunction(); 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