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

#9 Add Action for Missing Input Column -> Delete Output Column

parent b180bc52
No related branches found
No related tags found
No related merge requests found
package de.unikoblenz.fgbks.core.dmn.verification.verifier.impl;
import static de.unikoblenz.fgbks.base.domain.Name.NO_NAME;
import static de.unikoblenz.fgbks.core.dmn.domain.vdmn.utils.VDmnFunctions.getDecisionStringName;
import static de.unikoblenz.fgbks.core.dmn.verification.result.VerificationResultEntry.VerificationClassification.WARNING;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_DECISION;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_INPUT_DATA;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope.INPUT_COLUMN;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope.INPUT_DATA;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope.OUTPUT_COLUMN;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionType.CREATE;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionType.DELETE;
import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix.DEFAULT_SHOW_NAME;
......@@ -105,10 +107,12 @@ public class MissingInputColumnVerifier extends AbstractVerifier {
for (VDmnOutputColumn outputColumn :
((VDmnDecision) inputDataNode).getVDmnDecisionTable().getVDmnOutputColumns()) {
if (outputColumn.getName().isPresent()) {
// add input Column
vreFactory.addVerificationFix(
VerificationFix.getBuilder()
.withFixName(
new Name("Add Input Column " + outputColumn.getName().get().getValue()))
new Name("Add Input Column \"" + outputColumn.getName().get().getValue())
+ "\"")
.addAction(
Action.getBuilder()
.withActionType(CREATE)
......@@ -119,6 +123,21 @@ public class MissingInputColumnVerifier extends AbstractVerifier {
.build())
.build());
}
vreFactory.addVerificationFix(
VerificationFix.getBuilder()
.withFixName(
new Name(
"Delete Output Column \""
+ outputColumn.getName().orElse(NO_NAME).getValue())
+ "\"")
.addAction(
Action.getBuilder()
.withActionType(DELETE)
.withActionScope(OUTPUT_COLUMN)
.addIdValue(outputColumn.getVDmnDecision().getDecisionId())
.addIdValue(outputColumn.getOutputId())
.build())
.build());
}
}
......@@ -126,7 +145,7 @@ public class MissingInputColumnVerifier extends AbstractVerifier {
WARNING,
(inputDataNode.isInputData() ? "Input data" : "Decision")
+ " node \"%s\" has no corresponding input column in decision \"%s\"",
inputDataNode.getName().orElse(Name.NO_NAME),
inputDataNode.getName().orElse(NO_NAME),
getDecisionStringName(decision));
}
}
......
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