From f3895c91cfc6fe5268ca49ba629a89f3bc2549cb Mon Sep 17 00:00:00 2001 From: Lucio Lelii Date: Fri, 21 Sep 2018 15:57:37 +0000 Subject: [PATCH] git-svn-id: https://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/Common/storagehub-client@171597 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/proxies/DefaultItemManager.java | 31 +++++++++++++++++++ .../client/proxies/ItemManagerClient.java | 2 ++ 2 files changed, 33 insertions(+) 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 23a7efa..322486a 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 @@ -480,4 +480,35 @@ public class DefaultItemManager implements ItemManagerClient { } } + + @Override + public String copy(String id, String destinationFolderId, String newFilename) { + Call call = new Call() { + @Override + public String call(GXWebTargetAdapterRequest manager) throws Exception { + GXWebTargetAdapterRequest myManager = manager.path(id) + .path("copy"); + + MultivaluedMap formData = new MultivaluedHashMap(); + formData.add("destinationId", destinationFolderId); + formData.add("fileName", newFilename); + + + GXInboundResponse response = myManager.setAcceptedResponseType(MediaType.TEXT_PLAIN_TYPE).post(Entity.form(formData)); + + if (response.hasGXError()) + throw response.getException(); + + return response.getSource().readEntity(String.class); + } + }; + try { + return delegate.make(call); + }catch(Exception e) { + throw new RuntimeException(e); + } + } + + + } 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 59abc21..20858fb 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 @@ -41,6 +41,8 @@ public interface ItemManagerClient { Item getRootSharedFolder(String id); String shareFolder(String id, Set users, AccessType accessType); + + String copy(String id, String destinationFolderId, String newFilename); String uploadArchive(InputStream stream, String parentId, String extractionFolderName);