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 4319f9081152ea9a2aec7ce5270f026552a02ba4..447276a854eaa6d6f48c18407307ecbf71f46e7d 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 aef754da4061b7c77d9b3b3b8cba51c7c5476ed2..9389f26e3a02eb44705ea2ddf0fdc7b0383e2db8 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 4dc9443b15073f6e7dc0b6f80e54c47266b773ee..185c1a542fa872f675680656dabce47d00159e2f 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());