diff --git a/src/main/java/org/gcube/data/access/storagehub/services/WorkspaceManager.java b/src/main/java/org/gcube/data/access/storagehub/services/WorkspaceManager.java index 2efb41b..518c67f 100644 --- a/src/main/java/org/gcube/data/access/storagehub/services/WorkspaceManager.java +++ b/src/main/java/org/gcube/data/access/storagehub/services/WorkspaceManager.java @@ -207,14 +207,18 @@ public class WorkspaceManager { public ItemWrapper getTrashRootFolder(){ InnerMethodName.instance.set("getTrashRootFolder"); Session ses = null; - + String user = AuthorizationProvider.instance.get().getClient().getId(); org.gcube.common.storagehub.model.Path trashPath = Paths.append(Utils.getWorkspacePath(), Constants.TRASH_ROOT_FOLDER_NAME); Item item = null; try{ long start = System.currentTimeMillis(); ses = repository.getRepository().login(CredentialHandler.getAdminCredentials(context)); log.info("time to connect to repo {}",(System.currentTimeMillis()-start)); - + + if (!ses.nodeExists(trashPath.toPath())) { + Utils.createFolderInternally(ses, ses.getNode(Utils.getWorkspacePath().toPath()) , Constants.TRASH_ROOT_FOLDER_NAME, "trash of "+user, false, user, null); + } + Node folder = ses.getNode(trashPath.toPath()); item = node2Item.getItem(folder, excludes); }catch(RepositoryException re ){