From 2649ab6e7cf09a265ecff3a31fa70130197a1e4d Mon Sep 17 00:00:00 2001 From: Jonas Blatt <jonasblatt@uni-koblenz.de> Date: Sat, 28 Sep 2019 14:16:21 +0200 Subject: [PATCH] Add default show actions --- .../result/VerificationResultEntry.java | 32 ++++++--- .../verification/result/actions/Action.java | 35 ++++++---- .../result/actions/ActionScope.java | 2 + .../result/actions/ActionType.java | 3 +- .../result/actions/VerificationFix.java | 70 +++++++++++++++++++ 5 files changed, 120 insertions(+), 22 deletions(-) create mode 100644 dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/VerificationResultEntry.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/VerificationResultEntry.java index 70322b5d..4c276703 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/VerificationResultEntry.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/VerificationResultEntry.java @@ -2,7 +2,11 @@ package de.unikoblenz.fgbks.core.dmn.verification.result; import de.unikoblenz.fgbks.base.builder.DefaultBuilder; import de.unikoblenz.fgbks.base.domain.Message; +import de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix; +import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import javax.json.bind.annotation.JsonbProperty; @@ -10,19 +14,19 @@ import org.apache.commons.lang3.Validate; public class VerificationResultEntry extends AbstractResultObject { - public enum VerificationClassification { - INFO, - WARNING, - ERROR, - FATAL_ERROR; - } + private List<VerificationFix> verificationFixes; private Set<VerificationResultEntryElement> verificationResultEntryElements; private Message message; private VerificationClassification verificationClassification; - protected VerificationResultEntry() { - this.verificationResultEntryElements = ConcurrentHashMap.newKeySet(); + verificationResultEntryElements = ConcurrentHashMap.newKeySet(); + verificationFixes = new ArrayList<>(); + } + + @JsonbProperty("verificationFixes") + public List<VerificationFix> getVerificationsFixes() { + return Collections.unmodifiableList(verificationFixes); } @JsonbProperty("size") @@ -45,6 +49,13 @@ public class VerificationResultEntry extends AbstractResultObject { return new Message(message); } + public enum VerificationClassification { + INFO, + WARNING, + ERROR, + FATAL_ERROR + } + private void addVerificationResultEntry( VerificationResultEntryElement verificationResultEntryElement) { this.verificationResultEntryElements.add(verificationResultEntryElement); @@ -72,6 +83,11 @@ public class VerificationResultEntry extends AbstractResultObject { return this; } + public Builder addAction(VerificationFix verificationFix) { + value.verificationFixes.add(Validate.notNull(verificationFix)); + return this; + } + @Override protected void validate() { super.validate(); diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/Action.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/Action.java index fb7fe2cc..ff11126c 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/Action.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/Action.java @@ -1,7 +1,11 @@ package de.unikoblenz.fgbks.core.dmn.verification.result.actions; +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope.INPUT_ENTRY; +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope.OUTPUT_ENTRY; +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionScope.RULE; +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.ActionType.SHOW; + import de.unikoblenz.fgbks.base.builder.DefaultBuilder; -import de.unikoblenz.fgbks.base.domain.Name; import de.unikoblenz.fgbks.core.dmn.verification.result.AbstractResultObject; import java.util.HashMap; import javax.json.bind.annotation.JsonbProperty; @@ -9,15 +13,24 @@ import org.apache.commons.lang3.Validate; public class Action extends AbstractResultObject { - private static final Name DEFAULT_ACTION_NAME = new Name("Fix"); + public static Action ACTION_SHOW_RULES; + public static Action ACTION_SHOW_INPUT_ENTRIES; + public static Action ACTION_SHOW_OUTPUT_ENTRIES; + + static { + ACTION_SHOW_RULES = getBuilder().withActionType(SHOW).withActionScope(RULE).build(); + ACTION_SHOW_INPUT_ENTRIES = + getBuilder().withActionType(SHOW).withActionScope(INPUT_ENTRY).build(); + ACTION_SHOW_OUTPUT_ENTRIES = + getBuilder().withActionType(SHOW).withActionScope(OUTPUT_ENTRY).build(); + } + private ActionType actionType; private ActionScope actionScope; private HashMap<String, String> values; - private Name actionName; private Action() { values = new HashMap<>(); - actionName = DEFAULT_ACTION_NAME; } @JsonbProperty("actionType") @@ -35,9 +48,8 @@ public class Action extends AbstractResultObject { return new HashMap<>(values); } - @JsonbProperty("actionName") - public Name getActionName() { - return actionName; + private static Builder getBuilder() { + return new Action().new Builder(); } private class Builder extends DefaultBuilder<Action> { @@ -53,18 +65,15 @@ public class Action extends AbstractResultObject { } public Builder addValue(String key, String value) { - this.value.values.put(Validate.notNull(key), value); - return this; - } - - public Builder withActionName(Name actionName) { - this.value.actionName = actionName; + this.value.values.put(Validate.notNull(key), Validate.notNull(value)); return this; } @Override protected void validate() { super.validate(); + Validate.notNull(actionScope); + Validate.notNull(actionType); } } } diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionScope.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionScope.java index 584306b8..5988bfa9 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionScope.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionScope.java @@ -2,6 +2,8 @@ package de.unikoblenz.fgbks.core.dmn.verification.result.actions; public enum ActionScope { RULE, + INPUT_ENTRY, + OUTPUT_ENTRY, INPUT_NODE, INPUT_COLUMN, OUTPUT_COLUMN diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionType.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionType.java index 6910f9b5..f363a81f 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionType.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionType.java @@ -3,5 +3,6 @@ package de.unikoblenz.fgbks.core.dmn.verification.result.actions; public enum ActionType { UPDATE, CREATE, - DELETE + DELETE, + SHOW // READ } diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java new file mode 100644 index 00000000..84dc2e68 --- /dev/null +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/VerificationFix.java @@ -0,0 +1,70 @@ +package de.unikoblenz.fgbks.core.dmn.verification.result.actions; + +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_INPUT_ENTRIES; +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_OUTPUT_ENTRIES; +import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.Action.ACTION_SHOW_RULES; + +import de.unikoblenz.fgbks.base.builder.DefaultBuilder; +import de.unikoblenz.fgbks.base.domain.Name; +import java.util.ArrayList; +import java.util.List; +import org.apache.commons.lang3.Validate; + +public class VerificationFix { + + private static final Name DEFAULT_FIX_NAME = new Name("Fix"); + private static final Name DEFAULT_SHOW_NAME = new Name("Show"); + + public static VerificationFix SHOW_RULES; + public static VerificationFix SHOW_INPUT_ENTRIES; + public static VerificationFix SHOW_OUTPUT_ENTRIES; + + static { + SHOW_RULES = + VerificationFix.getBuilder() + .withFixName(DEFAULT_SHOW_NAME) + .addAction(ACTION_SHOW_RULES) + .build(); + SHOW_INPUT_ENTRIES = + VerificationFix.getBuilder() + .withFixName(DEFAULT_SHOW_NAME) + .addAction(ACTION_SHOW_INPUT_ENTRIES) + .build(); + SHOW_OUTPUT_ENTRIES = + VerificationFix.getBuilder() + .withFixName(DEFAULT_SHOW_NAME) + .addAction(ACTION_SHOW_OUTPUT_ENTRIES) + .build(); + } + + private Name fixName; + private List<Action> actions; + + private VerificationFix() { + fixName = DEFAULT_FIX_NAME; + actions = new ArrayList<>(); + } + + private static Builder getBuilder() { + return new VerificationFix().new Builder(); + } + + private class Builder extends DefaultBuilder<VerificationFix> { + + public Builder withFixName(Name fixName) { + value.fixName = fixName; + return this; + } + + public Builder addAction(Action action) { + value.actions.add(Validate.notNull(action)); + return this; + } + + @Override + protected void validate() { + super.validate(); + Validate.notNull(fixName); + } + } +} -- GitLab