From a8255353702fccc428a01b9eff887eab91ca96f2 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Tue, 4 Sep 2018 10:48:57 +0000 Subject: [PATCH] ref 11724: SAI - Update to StorageHUB https://support.d4science.org/issues/11724 Updated to StorageHub git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@171310 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../server/storage/FilesStorage.java | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/FilesStorage.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/FilesStorage.java index 2fe729b..92ff416 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/FilesStorage.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/FilesStorage.java @@ -182,8 +182,6 @@ public class FilesStorage { } /** - * TODO - * * * @param user * user @@ -195,23 +193,30 @@ public class FilesStorage { * exception */ public void deleteFolder(String user, String parentId, String folderName) throws StatAlgoImporterServiceException { - Workspace ws; try { logger.info("Delete folder: [user=" + user + ", parentId=" + parentId + ", folderName=" + folderName + "]"); - ws = HomeLibrary.getUserWorkspace(user); + StorageHubClient shc = new StorageHubClient(); + OpenResolver openParentResolver = shc.open(parentId); - WorkspaceItem workSpaceItem = ws.getItem(parentId); - if (!workSpaceItem.isFolder()) { - throw new StatAlgoImporterServiceException("No valid project folder!"); + FolderContainer parentFolderContainer = openParentResolver.asFolder(); + ListResolver listResolver = parentFolderContainer.findByName(folderName); + List items = listResolver.getItems(); + if (items == null || items.isEmpty()) { + logger.debug("No folder found"); + return; + } else { + Item item = items.get(0); + logger.debug("Item: " + item); + if (item != null) { + OpenResolver openResolver = shc.open(item.getId()); + FolderContainer folderContainer = openResolver.asFolder(); + folderContainer.delete(); + return; + } else { + logger.debug("No folder found"); + return; + } } - - WorkspaceItem target = ws.find(folderName, parentId); - - if (target != null) { - ws.removeItems(target.getId()); - } - - return; } catch (Throwable e) { logger.error("Delete folder on workspace: " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());