From 8c677df64e580b135b1083d7d6fb36d73dc0b442 Mon Sep 17 00:00:00 2001 From: "lucio.lelii" Date: Tue, 16 Mar 2021 10:01:07 +0100 Subject: [PATCH] NodeAdmin resource added --- src/main/java/org/gcube/data/access/storagehub/StorageHub.java | 2 ++ src/main/java/org/gcube/data/access/storagehub/Utils.java | 1 + .../org/gcube/data/access/storagehub/services/GroupManager.java | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gcube/data/access/storagehub/StorageHub.java b/src/main/java/org/gcube/data/access/storagehub/StorageHub.java index ba3499d..1dd8db2 100644 --- a/src/main/java/org/gcube/data/access/storagehub/StorageHub.java +++ b/src/main/java/org/gcube/data/access/storagehub/StorageHub.java @@ -15,6 +15,7 @@ import org.gcube.data.access.storagehub.services.ItemsManager; import org.gcube.data.access.storagehub.services.UserManager; import org.gcube.data.access.storagehub.services.WorkspaceManager; import org.gcube.data.access.storagehub.services.admin.ItemManagerAdmin; +import org.gcube.data.access.storagehub.services.admin.NodeManagerAdmin; import org.glassfish.jersey.media.multipart.MultiPartFeature; @Path("workspace") @@ -33,6 +34,7 @@ public class StorageHub extends Application { classes.add(UserManager.class); classes.add(GroupManager.class); classes.add(ItemManagerAdmin.class); + classes.add(NodeManagerAdmin.class); classes.add(SerializableErrorEntityTextWriter.class); classes.add(MyApplicationListener.class); return classes; diff --git a/src/main/java/org/gcube/data/access/storagehub/Utils.java b/src/main/java/org/gcube/data/access/storagehub/Utils.java index 3819390..8274e73 100644 --- a/src/main/java/org/gcube/data/access/storagehub/Utils.java +++ b/src/main/java/org/gcube/data/access/storagehub/Utils.java @@ -315,6 +315,7 @@ public class Utils { idsToDelete.add(((AbstractFileItem) itemToDelete).getContent().getStorageId()); }else if (itemToDelete instanceof FolderItem) { + //only to be sure to not delete shared content if (itemToDelete.isShared()) return; List items = Utils.getItemList(ses.getNodeByIdentifier(itemToDelete.getId()), Excludes.GET_ONLY_CONTENT , null, true, null); for (Item item: items) diff --git a/src/main/java/org/gcube/data/access/storagehub/services/GroupManager.java b/src/main/java/org/gcube/data/access/storagehub/services/GroupManager.java index fa64535..ad74d72 100644 --- a/src/main/java/org/gcube/data/access/storagehub/services/GroupManager.java +++ b/src/main/java/org/gcube/data/access/storagehub/services/GroupManager.java @@ -197,7 +197,7 @@ public class GroupManager { try { Node node = groupHandler.getVreFolderNode(session, group); List workspaceItems = Utils.getItemList(node, Excludes.GET_ONLY_CONTENT, null, true, null); - trashHandler.removeNodes(session, workspaceItems); + trashHandler.removeOnlyNodesContent(session, workspaceItems); node.removeSharedSet(); }catch (Exception e) { log.warn("vreFolder {} not found, removing only the group", group);