From 46a626ef4f384e4a95988e2c9932fbba5e88e255 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 1 Apr 2020 19:37:40 +0200 Subject: [PATCH] ref 18964: Create a Generic Resource to record Dismissed VREs https://support.d4science.org/issues/18964 Create a library to support the resource access --- .../server/is/DetachedREsBuilder.java | 76 +++++++++++-------- 1 file changed, 46 insertions(+), 30 deletions(-) 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());