From 3bfbe5ed9b97b1ceaaa99742b5bae3b7ee4999b6 Mon Sep 17 00:00:00 2001 From: "luca.frosini" Date: Tue, 11 Jul 2023 10:55:53 +0200 Subject: [PATCH] Added session in all methods --- .../CatalogueStorageHubManagement.java | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/gcube/gcat/workspace/CatalogueStorageHubManagement.java b/src/main/java/org/gcube/gcat/workspace/CatalogueStorageHubManagement.java index 8ae7ffa..3ca2f3a 100644 --- a/src/main/java/org/gcube/gcat/workspace/CatalogueStorageHubManagement.java +++ b/src/main/java/org/gcube/gcat/workspace/CatalogueStorageHubManagement.java @@ -88,18 +88,25 @@ public class CatalogueStorageHubManagement { } protected void internalAddRevisionID(String resourceID, String revisionID) throws Exception { - FileContainer fileContainer = storageHubManagement.getPersistedFile(); - if(fileContainer != null) { - Metadata metadata = fileContainer.get().getMetadata(); - Map map = metadata.getMap(); - map.put(CatalogueMetadata.CATALOGUE_RESOURCE_ID, resourceID); - map.put(CatalogueMetadata.CATALOGUE_RESOURCE_REVISION_ID, revisionID); - metadata.setMap(map); - fileContainer.setMetadata(metadata); - } else { - logger.warn( - "Unable to set revision id {} to the file of resource with id {} because the file was NOT found on storage-hub. This could be related to an item not created via gCat. Skipping it.", - revisionID, resourceID); + SecretManager secretManager = SecretManagerProvider.instance.get(); + Secret secret = Constants.getCatalogueSecret(); + try { + secretManager.startSession(secret); + FileContainer fileContainer = storageHubManagement.getPersistedFile(); + if(fileContainer != null) { + Metadata metadata = fileContainer.get().getMetadata(); + Map map = metadata.getMap(); + map.put(CatalogueMetadata.CATALOGUE_RESOURCE_ID, resourceID); + map.put(CatalogueMetadata.CATALOGUE_RESOURCE_REVISION_ID, revisionID); + metadata.setMap(map); + fileContainer.setMetadata(metadata); + } else { + logger.warn( + "Unable to set revision id {} to the file of resource with id {} because the file was NOT found on storage-hub. This could be related to an item not created via gCat. Skipping it.", + revisionID, resourceID); + } + } finally { + secretManager.endSession(); } } @@ -139,8 +146,15 @@ public class CatalogueStorageHubManagement { } } - public FileContainer getPersistedFile() { - return storageHubManagement.getPersistedFile(); + public FileContainer getPersistedFile() throws Exception { + SecretManager secretManager = SecretManagerProvider.instance.get(); + Secret secret = Constants.getCatalogueSecret(); + try { + secretManager.startSession(secret); + return storageHubManagement.getPersistedFile(); + } finally { + secretManager.endSession(); + } } }