diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/datasetwizard/DatasetWizardModel.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/datasetwizard/DatasetWizardModel.java index 1ad2d666f..cf4e6da80 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/datasetwizard/DatasetWizardModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/datasetwizard/DatasetWizardModel.java @@ -344,7 +344,16 @@ public class DatasetWizardModel implements DataModel method.getName().equals(methodName)).collect(Collectors.toList()).get(0); Class[] params = setterMethod.getParameterTypes(); - setterMethod.invoke(datasetWizardModel, new ObjectMapper().readValue(value, params[0])); + ObjectMapper mapper = new ObjectMapper(); + //GK: Tags Special logic + if (prefillingMapping.getTarget().equals("tags")) { + List rawTags = (List) mapper.readValue(value, params[0]); + if (rawTags.get(0) instanceof String) { + List parsedTags = rawTags.stream().map(rawTag -> new Tag((String) rawTag, (String) rawTag)).collect(Collectors.toList()); + value = mapper.writeValueAsString(parsedTags); + } + } + setterMethod.invoke(datasetWizardModel, mapper.readValue(value, params[0])); }catch (InvocationTargetException | IllegalAccessException | JsonProcessingException e) { throw e; } diff --git a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml index 770948fb9..7d055d3de 100644 --- a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml +++ b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml @@ -1033,10 +1033,17 @@ + + + + + + + + - - +