diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java b/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java index 26c98b530..fcad5a7e4 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java @@ -7,6 +7,7 @@ import eu.eudat.logic.utilities.documents.types.ParagraphStyle; import eu.eudat.logic.utilities.interfaces.ApplierWithValue; import eu.eudat.models.data.components.commons.datafield.CheckBoxData; import eu.eudat.models.data.components.commons.datafield.ComboBoxData; +import eu.eudat.models.data.components.commons.datafield.WordListData; import eu.eudat.models.data.user.components.datasetprofile.Field; import eu.eudat.models.data.user.components.datasetprofile.FieldSet; import eu.eudat.models.data.user.components.datasetprofile.Section; @@ -284,7 +285,20 @@ public class WordBuilder { } return sb.toString(); } else if (comboboxType.equals("wordlist")) { - return field.getValue() != null ? field.getValue().toString() : ""; + WordListData wordListData = (WordListData) field.getData(); + if (wordListData.getOptions().isEmpty() && field.getValue() != null) { + logger.warn("World List has no values but the field has"); + return field.getValue().toString(); + } else if (field.getValue() != null){ + ComboBoxData.Option selectedOption = null; + for (ComboBoxData.Option option: wordListData.getOptions()) { + if (option.getValue().equals(field.getValue())) { + selectedOption = option; + } + } + return selectedOption != null ? selectedOption.getLabel() : field.getValue().toString(); + } + return ""; } } case "booleanDecision":