From 6065b7dfef8f618578382f9dbd873df3e6aa6197 Mon Sep 17 00:00:00 2001 From: Jonas Blatt <jonasblatt@uni-koblenz.de> Date: Wed, 16 Oct 2019 11:58:27 +0200 Subject: [PATCH] Fix VDmnFunctions, no public constructor --- .../core/dmn/domain/vdmn/utils/VDmnFunctions.java | 5 +++-- .../verifier/impl/PredefinedExistingValueVerifier.java | 6 ++++-- .../verifier/impl/PredefinedMissingValueVerifier.java | 10 +++++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java index 4319f908..447276a8 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java @@ -21,6 +21,7 @@ import org.apache.commons.lang3.Validate; */ public class VDmnFunctions { + private VDmnFunctions() {} /** * Generate a list of {@link VDmnColumn}, which are in the {@link VDmnDefinition} and has the * defined type ({@link VTypeRef}). @@ -223,7 +224,7 @@ public class VDmnFunctions { * @param column the {@link VDmnColumn} * @return a string, representing the "name" of the column */ - public String getColumnStringName(VDmnColumn column) { + public static String getColumnStringName(VDmnColumn column) { Validate.notNull(column); return column.getLabel().isPresent() ? column.getLabel().get().toString() @@ -238,7 +239,7 @@ public class VDmnFunctions { * @param column the {@link VDmnColumn} * @return a string, representing the "name" of the column + "name" */ - public String getColumnStringNameWithDoubleQuotes(VDmnColumn column) { + public static String getColumnStringNameWithDoubleQuotes(VDmnColumn column) { Validate.notNull(column); return "\"" + getColumnStringName(column) + "\""; } diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedExistingValueVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedExistingValueVerifier.java index aef754da..9389f26e 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedExistingValueVerifier.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedExistingValueVerifier.java @@ -1,5 +1,6 @@ package de.unikoblenz.fgbks.core.dmn.verification.verifier.impl; +import static de.unikoblenz.fgbks.core.dmn.domain.vdmn.utils.VDmnFunctions.getColumnStringNameWithDoubleQuotes; import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix.SHOW_INPUT_ENTRIES; import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix.SHOW_OUTPUT_ENTRIES; @@ -80,7 +81,8 @@ public class PredefinedExistingValueVerifier extends AbstractVerifier { stringValue.isInputValue() ? SHOW_INPUT_ENTRIES : SHOW_OUTPUT_ENTRIES); vreFactory.addToEntry( VerificationClassification.WARNING, - "String value \"%s\" was not found in the list of predefined values.", - missingStringValue); + "String value \"%s\" was not found in the list of predefined values of column %s.", + missingStringValue, + getColumnStringNameWithDoubleQuotes(stringValue.getDmnColumn())); } } diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedMissingValueVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedMissingValueVerifier.java index 4dc9443b..185c1a54 100644 --- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedMissingValueVerifier.java +++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedMissingValueVerifier.java @@ -1,5 +1,6 @@ package de.unikoblenz.fgbks.core.dmn.verification.verifier.impl; +import static de.unikoblenz.fgbks.core.dmn.domain.vdmn.utils.VDmnFunctions.getColumnStringNameWithDoubleQuotes; import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix.SHOW_INPUT_COLUMNS; import static de.unikoblenz.fgbks.core.dmn.verification.result.actions.VerificationFix.SHOW_OUTPUT_COLUMNS; @@ -58,8 +59,8 @@ public class PredefinedMissingValueVerifier extends AbstractVerifier { } // get all missing strings Set<String> missingStrings = new HashSet<>(); - for (String s : stringValuesInColumn) { - if (!predefinedValues.contains(s)) { + for (String s : predefinedValues) { + if (!stringValuesInColumn.contains(s)) { missingStrings.add(s); } } @@ -86,8 +87,11 @@ public class PredefinedMissingValueVerifier extends AbstractVerifier { vreFactory.addVerificationFix( stringColumn.isInputColumn() ? SHOW_INPUT_COLUMNS : SHOW_OUTPUT_COLUMNS); StringBuilder sb = new StringBuilder(); + sb.append("In column "); + sb.append(getColumnStringNameWithDoubleQuotes(stringColumn)); + sb.append(". "); sb.append(missingStringValues.size() > 1 ? "These string values are" : "This string value is"); - sb.append(" not present in the predefined values of the column: "); + sb.append(" not used: "); sb.append( missingStringValues.stream().map(v -> '"' + v + '"').collect(Collectors.joining(","))); vreFactory.addToEntry(VerificationClassification.WARNING, sb.toString()); -- GitLab