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(); + } } }