From 76f70be15a69cca43762850f6db25bd00adb7e2a Mon Sep 17 00:00:00 2001 From: Dominick Leppich Date: Fri, 11 Oct 2024 09:50:52 +0200 Subject: [PATCH] fix: broken multi-selection in process creation for vocabulary lists --- .../de/sub/goobi/forms/ProzesskopieForm.java | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/sub/goobi/forms/ProzesskopieForm.java b/src/main/java/de/sub/goobi/forms/ProzesskopieForm.java index 7bac4c2bf..b1769361e 100644 --- a/src/main/java/de/sub/goobi/forms/ProzesskopieForm.java +++ b/src/main/java/de/sub/goobi/forms/ProzesskopieForm.java @@ -459,25 +459,15 @@ private AdditionalField readAdditionalFieldConfiguration(HierarchicalConfigurati List parameterList = item.configurationsAt("select"); /* Children durchlaufen und SelectItems erzeugen */ - if (!parameterList.isEmpty()) { - if (item.getBoolean("@multiselect", true)) { // NOSONAR - fa.setMultiselect(true); - } else { - fa.setMultiselect(false); - } - fa.setSelectList(new ArrayList<>()); - } + fa.setMultiselect(item.getBoolean("@multiselect", true)); if (parameterList.size() == 1) { fa.setWert(parameterList.get(0).getString(".")); fa.setMultiselect(false); - } - - for (HierarchicalConfiguration hc : parameterList) { - String svalue = hc.getString("@label"); - - String sid = hc.getString("."); - fa.getSelectList().add(new SelectItem(sid, svalue, null)); + } else if (!parameterList.isEmpty()) { + fa.setSelectList(parameterList.stream() + .map(hc -> new SelectItem(hc.getString("@label"), hc.getString("."), null)) + .toList()); } String vocabularyTitle = item.getString("@vocabulary");