diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcherUtils.java b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcherUtils.java index ca2781f81..6d2d2a281 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcherUtils.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcherUtils.java @@ -82,8 +82,11 @@ public class RemoteFetcherUtils { if (jarr.get(0) instanceof String) { return jarr.get(0).toString(); } else { - return ((Map)jarr.get(0)).get("content"); - + for (Object o : jarr) { + if ((o instanceof Map) && ((Map) o).containsKey("content")) { + return ((Map) o).get("content"); + } + } } } else if (value instanceof Map) { return ((Map)value).get("content"); 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 ea2b49924..6a341fed4 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 @@ -248,7 +248,7 @@ public class WordBuilder { if (field.getValue() != null && !field.getValue().toString().isEmpty()) { this.indent = indent; String format = this.formatter(field); - if(format != null){ + if(format != null && !format.isEmpty()){ if(format.charAt(0) == '['){ format = format.substring(1, format.length() - 1).replaceAll(",", ", "); } @@ -310,6 +310,9 @@ public class WordBuilder { private String formatter(Field field) throws IOException { String comboboxType = null; + if (field.getValue() == null) { + return null; + } switch (field.getViewStyle().getRenderStyle()) { case "researchers": case "projects": @@ -388,12 +391,15 @@ public class WordBuilder { case "datepicker": case "datePicker":{ Instant instant; - try { - instant = Instant.parse((String) field.getValue()); - } catch (DateTimeParseException ex) { - instant = Instant.from(DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.systemDefault()).parse((String)field.getValue())); + if (!((String)field.getValue()).isEmpty()) { + try { + instant = Instant.parse((String) field.getValue()); + } catch (DateTimeParseException ex) { + instant = Instant.from(DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.systemDefault()).parse((String) field.getValue())); + } + return field.getValue() != null ? DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.systemDefault()).format(instant) : ""; } - return field.getValue() != null ? DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.systemDefault()).format(instant) : ""; + return (String) field.getValue(); } case "freetext": case "textarea":