From a8b14a911bc0634c88f0b2a19fb1478168ddd416 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 28 Apr 2023 16:05:58 +0200 Subject: [PATCH] Fixing deleteFileSetRoutine --- .../engine/mongo/ProfiledMongoManager.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java index 9b83a17..768d48d 100644 --- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java +++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/mongo/ProfiledMongoManager.java @@ -1243,8 +1243,8 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI< JSONPathWrapper wrapper = new JSONPathWrapper(doc.getTheDocument().toJson()); List matchingPaths = wrapper.getMatchingPaths(path); - log.info("matchingPaths is: "+matchingPaths); - + log.info("matchingPaths is: " + matchingPaths); + String error = null; if (matchingPaths.isEmpty()) { error = "No Registered FileSet found at " + path; @@ -1263,8 +1263,22 @@ public class ProfiledMongoManager extends MongoManager implements MongoManagerI< return doc; } - RegisteredFileSet fs = Serialization.convert(wrapper.getByPath(path).get(0), RegisteredFileSet.class); - log.debug("Going to delete {}", fs); + // Updated by Francesco + RegisteredFileSet fs = null; + try { + List deleteList = wrapper.getByPath(path); + if (deleteList == null || deleteList.isEmpty()) { + log.info("List of object going to delete is null or empty, retuning input doc"); + return doc; + } + + Object toFileSet = deleteList.get(0); // expected one + fs = Serialization.convert(toFileSet, RegisteredFileSet.class); + log.info("Going to delete {}", fs); + } catch (Exception e) { + log.warn("Error on getting the RegisteredFileSet for path {}", path); + log.debug("Error is: ", e); + } // Updated by Francesco. See #24902 doc = triggerEvent(doc, EventExecutionRequest.Events.ON_DELETE_FILESET,