From bfdab083f7b6854584c76fdb15cf49d32a463cfe Mon Sep 17 00:00:00 2001 From: Lucio Lelii Date: Fri, 7 Sep 2018 15:42:04 +0000 Subject: [PATCH] git-svn-id: https://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/Common/storagehub-client@171359 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/dsl/StorageHubClient.java | 4 +++- .../client/proxies/DefaultItemManager.java | 23 +++++++++++++++++++ .../client/proxies/ItemManagerClient.java | 2 ++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gcube/common/storagehub/client/dsl/StorageHubClient.java b/src/main/java/org/gcube/common/storagehub/client/dsl/StorageHubClient.java index 7a1cb08..bedf40f 100644 --- a/src/main/java/org/gcube/common/storagehub/client/dsl/StorageHubClient.java +++ b/src/main/java/org/gcube/common/storagehub/client/dsl/StorageHubClient.java @@ -25,6 +25,8 @@ public class StorageHubClient { return new OpenResolver(item, itemclient); } - + public FolderContainer openVREFolder() { + return new FolderContainer(itemclient, wsClient.getVreFolder()); + } } diff --git a/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java b/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java index 7987f81..cabbf53 100644 --- a/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java +++ b/src/main/java/org/gcube/common/storagehub/client/proxies/DefaultItemManager.java @@ -309,6 +309,29 @@ public class DefaultItemManager implements ItemManagerClient { } } + @Override + public String unshareFolder(String id, Set users) { + Call call = new Call() { + @Override + public String call(WebTarget manager) throws Exception { + WebTarget myManager = manager.register(MultiPartFeature.class).path(id) + .path("unshare"); + Invocation.Builder builder = myManager.request(); + + try (FormDataMultiPart multipart = new FormDataMultiPart()){ + multipart.field("users", users, MediaType.APPLICATION_JSON_TYPE); + String response = builder.put(Entity.entity(multipart, MediaType.MULTIPART_FORM_DATA_TYPE),String.class); + return response; + } + } + }; + try { + return delegate.make(call); + }catch(Exception e) { + throw new RuntimeException(e); + } + } + @Override public void delete(String id) { Call call = new Call() { diff --git a/src/main/java/org/gcube/common/storagehub/client/proxies/ItemManagerClient.java b/src/main/java/org/gcube/common/storagehub/client/proxies/ItemManagerClient.java index e41d1d7..59abc21 100644 --- a/src/main/java/org/gcube/common/storagehub/client/proxies/ItemManagerClient.java +++ b/src/main/java/org/gcube/common/storagehub/client/proxies/ItemManagerClient.java @@ -43,5 +43,7 @@ public interface ItemManagerClient { String shareFolder(String id, Set users, AccessType accessType); String uploadArchive(InputStream stream, String parentId, String extractionFolderName); + + String unshareFolder(String id, Set users); }