From 0969af4f3d8d34a82b7f8f588c47f134a93416d5 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 5 May 2023 14:57:13 +0200 Subject: [PATCH] Updated data-mapper for ProjectEdit --- .../geoportaldatamapper/Geoportal_JSON_Mapper.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gcube/application/geoportaldatamapper/Geoportal_JSON_Mapper.java b/src/main/java/org/gcube/application/geoportaldatamapper/Geoportal_JSON_Mapper.java index 75e1ff2..e98fca8 100644 --- a/src/main/java/org/gcube/application/geoportaldatamapper/Geoportal_JSON_Mapper.java +++ b/src/main/java/org/gcube/application/geoportaldatamapper/Geoportal_JSON_Mapper.java @@ -254,18 +254,18 @@ public class Geoportal_JSON_Mapper { LOG.debug("It is an Array"); List dataArray = (List) theOBJFieldValue; //printList(dataArray); - for (int j = 0; j < dataArray.size(); j++) { + int dataSize = dataArray.size(); + for (int j = 0; j < dataSize; j++) { List cloned = cloneList(Arrays.asList(metadataField)); MetadataFieldWrapper mfw = cloned.get(0); //Duplicating MetadataFieldWrapper for data list with isMultiSelection==false if(!mfw.isMultiSelection()) { mfw.setCurrentValues(dataArray.get(j)+""); - // From the second repeated field settings - // mandatory false and one instance + // In case of array, from the first to second-last one, repeated field is set to 'false' // These properties are managed properly with the - // first occurrence of the field - if (j >= 1) { + // last one field + if (j < dataSize-1) { mfw.setMandatory(false); mfw.setMaxOccurs(1); }