diff --git a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/ZeppelinRestController.java b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/ZeppelinRestController.java index 70987170..6263d191 100644 --- a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/ZeppelinRestController.java +++ b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/ZeppelinRestController.java @@ -19,6 +19,7 @@ public class ZeppelinRestController extends AbstractDnetController { @GetMapping("/zeppelin/templates") public List getTemplates() throws MDStoreManagerException { try { + // if (zeppelinClient.get) return zeppelinClient.listTemplates(); } catch (final Throwable e) { throw new MDStoreManagerException("Zeppelin is unreachable", e); diff --git a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/utils/ZeppelinClient.java b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/utils/ZeppelinClient.java index b3088311..bf273265 100644 --- a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/utils/ZeppelinClient.java +++ b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/utils/ZeppelinClient.java @@ -75,6 +75,8 @@ public class ZeppelinClient { public String zeppelinNote(final String note, final MDStoreWithInfo mdstore, final String currentVersionPath) throws MDStoreManagerException { + if (notConfigured()) { throw new MDStoreManagerException("A zeppelin property is empty"); } + final String newName = StringUtils.join(Arrays.asList(zeppelinNamePrefix, "notes", mdstore.getDatasourceName().replaceAll("/", "-"), mdstore.getApiId() .replaceAll("/", "-"), note.replaceAll("/", "-"), mdstore.getCurrentVersion().replaceAll("/", "-")), "/"); @@ -107,12 +109,17 @@ public class ZeppelinClient { public List listTemplates() { final String prefix = zeppelinNamePrefix + "/templates/"; - return listNotes().stream() - .map(map -> map.get("name")) - .filter(s -> s.startsWith(prefix)) - .map(s -> StringUtils.substringAfter(s, prefix)) - .sorted() - .collect(Collectors.toList()); + + if (notConfigured()) { + return new ArrayList<>(); + } else { + return listNotes().stream() + .map(map -> map.get("name")) + .filter(s -> s.startsWith(prefix)) + .map(s -> StringUtils.substringAfter(s, prefix)) + .sorted() + .collect(Collectors.toList()); + } } private List> listNotes() { @@ -149,8 +156,9 @@ public class ZeppelinClient { @Scheduled(fixedRate = 12 * 60 * 60 * 1000) // 12 hours public void cleanExpiredNotes() { - try { + if (notConfigured()) { return; } + try { // I sort the notes according to the version datestamp (more recent first) final List> notes = listNotes() .stream() @@ -302,4 +310,8 @@ public class ZeppelinClient { this.jsessionid = jsessionid; } + private boolean notConfigured() { + return StringUtils.isAnyBlank(zeppelinBaseUrl, zeppelinLogin, zeppelinPassword, zeppelinNamePrefix); + } + } diff --git a/apps/dhp-mdstore-manager/src/main/resources/templates/inspector.html b/apps/dhp-mdstore-manager/src/main/resources/templates/inspector.html index f70f156c..3a8ba655 100644 --- a/apps/dhp-mdstore-manager/src/main/resources/templates/inspector.html +++ b/apps/dhp-mdstore-manager/src/main/resources/templates/inspector.html @@ -124,8 +124,12 @@
-
{{rec.id}}
- +
+ {{rec.id}} + the record is unreadable +
+
Invalid record format
+
@@ -147,7 +151,7 @@
Original Id {{rec.originalId}}
-
+
{{rec.encoding}}
{{rec.body}}