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 new file mode 100644 index 0000000000000000000000000000000000000000..fb7fe2cc72743418099b6440b52ed581adda2af7 --- /dev/null +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/Action.java @@ -0,0 +1,70 @@ +package de.unikoblenz.fgbks.core.dmn.verification.result.actions; + +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; +import org.apache.commons.lang3.Validate; + +public class Action extends AbstractResultObject { + + private static final Name DEFAULT_ACTION_NAME = new Name("Fix"); + 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") + public ActionType getActionType() { + return actionType; + } + + @JsonbProperty("actionScope") + public ActionScope getActionScope() { + return actionScope; + } + + @JsonbProperty("actionValues") + public HashMap<String, String> getValue() { + return new HashMap<>(values); + } + + @JsonbProperty("actionName") + public Name getActionName() { + return actionName; + } + + private class Builder extends DefaultBuilder<Action> { + + public Builder withActionType(ActionType actionType) { + value.actionType = actionType; + return this; + } + + public Builder withActionScope(ActionScope actionScope) { + value.actionScope = actionScope; + return this; + } + + 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; + return this; + } + + @Override + protected void validate() { + super.validate(); + } + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..584306b8cdca43630a78635ae15aa2c7cd411c5f --- /dev/null +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionScope.java @@ -0,0 +1,8 @@ +package de.unikoblenz.fgbks.core.dmn.verification.result.actions; + +public enum ActionScope { + RULE, + 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 new file mode 100644 index 0000000000000000000000000000000000000000..6910f9b562abeee2773d96b5ad747dca79b3302e --- /dev/null +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/result/actions/ActionType.java @@ -0,0 +1,7 @@ +package de.unikoblenz.fgbks.core.dmn.verification.result.actions; + +public enum ActionType { + UPDATE, + CREATE, + DELETE +}