diff --git a/src/main/java/org/gcube/infrastructure/detachedres/detachedreslibrary/server/is/DetachedREsBuilder.java b/src/main/java/org/gcube/infrastructure/detachedres/detachedreslibrary/server/is/DetachedREsBuilder.java index 53fd0bb..22789d9 100644 --- a/src/main/java/org/gcube/infrastructure/detachedres/detachedreslibrary/server/is/DetachedREsBuilder.java +++ b/src/main/java/org/gcube/infrastructure/detachedres/detachedreslibrary/server/is/DetachedREsBuilder.java @@ -57,19 +57,25 @@ public class DetachedREsBuilder { for (GatewayJAXB gatewayJAXB : gatewaysJAXB) { Gateway gateway = new Gateway(gatewayJAXB.getScope(), gatewayJAXB.getName(), gatewayJAXB.getDescription()); - try { - String startDate = dateFormat.format(gatewayJAXB.getStartDate()); - gateway.setStartDate(startDate); - } catch (Exception e) { - logger.error("Invalid start date format for gateway: " + gatewayJAXB.getName()); + + if (gatewayJAXB.getStartDate() != null) { + + try { + String startDate = dateFormat.format(gatewayJAXB.getStartDate()); + gateway.setStartDate(startDate); + } catch (Exception e) { + logger.error("Invalid start date format for gateway: " + gatewayJAXB.getName()); + } } - try { - String endDate = dateFormat.format(gatewayJAXB.getEndDate()); - gateway.setEndDate(endDate); - } catch (Exception e) { - logger.error("Invalid end date format for gateway: " + gatewayJAXB.getName()); + if (gatewayJAXB.getEndDate() != null) { + try { + String endDate = dateFormat.format(gatewayJAXB.getEndDate()); + gateway.setEndDate(endDate); + } catch (Exception e) { + logger.error("Invalid end date format for gateway: " + gatewayJAXB.getName()); + } } gateway.setCatalogUrl(gatewayJAXB.getCatalogUrl()); @@ -120,19 +126,24 @@ public class DetachedREsBuilder { ArrayList vos = new ArrayList<>(); for (VOJAXB voJAXB : gatewayJAXB.getVos()) { VO vo = new VO(voJAXB.getScope(), voJAXB.getName(), voJAXB.getDescription()); - try { - String startDate = dateFormat.format(voJAXB.getStartDate()); - vo.setStartDate(startDate); - } catch (Exception e) { - logger.error("Invalid start date format for VO: " + voJAXB.getName()); + + if (voJAXB.getStartDate() != null) { + try { + String startDate = dateFormat.format(voJAXB.getStartDate()); + vo.setStartDate(startDate); + } catch (Exception e) { + logger.error("Invalid start date format for VO: " + voJAXB.getName()); + } } - try { - String endDate = dateFormat.format(voJAXB.getEndDate()); - vo.setEndDate(endDate); - } catch (Exception e) { - logger.error("Invalid end date format for VO: " + voJAXB.getName()); + if (voJAXB.getEndDate() != null) { + try { + String endDate = dateFormat.format(voJAXB.getEndDate()); + vo.setEndDate(endDate); + } catch (Exception e) { + logger.error("Invalid end date format for VO: " + voJAXB.getName()); + } } vo.setCatalogUrl(voJAXB.getCatalogUrl()); @@ -159,19 +170,24 @@ public class DetachedREsBuilder { ArrayList vres = new ArrayList<>(); for (VREJAXB vreJAXB : voJAXB.getVres()) { VRE vre = new VRE(vreJAXB.getScope(), vreJAXB.getName(), vreJAXB.getDescription()); - try { - String startDate = dateFormat.format(vreJAXB.getStartDate()); - vre.setStartDate(startDate); - } catch (Exception e) { - logger.error("Invalid start date format for VO: " + vreJAXB.getName()); + + if (vreJAXB.getStartDate() != null) { + try { + String startDate = dateFormat.format(vreJAXB.getStartDate()); + vre.setStartDate(startDate); + } catch (Exception e) { + logger.error("Invalid start date format for VO: " + vreJAXB.getName()); + } } - try { - String endDate = dateFormat.format(vreJAXB.getEndDate()); - vre.setEndDate(endDate); - } catch (Exception e) { - logger.error("Invalid end date format for VO: " + vreJAXB.getName()); + if (vreJAXB.getEndDate() != null) { + try { + String endDate = dateFormat.format(vreJAXB.getEndDate()); + vre.setEndDate(endDate); + } catch (Exception e) { + logger.error("Invalid end date format for VO: " + vreJAXB.getName()); + } } vre.setCatalogUrl(vreJAXB.getCatalogUrl()); vre.setManagers(vreJAXB.getManagers());