From a4b07aa980fa07bbd2e5fdc9fff3944c50bbb944 Mon Sep 17 00:00:00 2001 From: Lucio Lelii Date: Wed, 7 Mar 2018 17:45:58 +0000 Subject: [PATCH] git-svn-id: https://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/Common/storagehub-client@164797 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/proxies/DefaultItemManager.java | 23 +++++++++++++++++++ .../client/proxies/ItemManagerClient.java | 3 ++- 2 files changed, 25 insertions(+), 1 deletion(-) 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 9d86aad..98caaee 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 @@ -13,6 +13,7 @@ import org.gcube.common.clients.delegates.ProxyDelegate; import org.gcube.common.storagehub.client.StreamDescriptor; import org.gcube.common.storagehub.model.items.Item; import org.gcube.common.storagehub.model.service.ItemList; +import org.gcube.common.storagehub.model.service.ItemWrapper; public class DefaultItemManager implements ItemManagerClient { @@ -68,4 +69,26 @@ public class DefaultItemManager implements ItemManagerClient { } } + + @Override + public Item get(String id, String... excludeNodes) { + Call> call = new Call>() { + @Override + public ItemWrapper call(WebTarget manager) throws Exception { + WebTarget myManager = manager.path(id); + if (excludeNodes !=null && excludeNodes.length>0) + myManager = myManager.queryParam("exclude",excludeNodes); + Invocation.Builder builder = myManager.request(MediaType.APPLICATION_JSON); + ItemWrapper response = builder.get(ItemWrapper.class); + return response; + } + }; + try { + ItemWrapper result = delegate.make(call); + return result.getItem(); + }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 ab86457..6ed2bfe 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 @@ -1,6 +1,5 @@ package org.gcube.common.storagehub.client.proxies; -import java.io.InputStream; import java.util.List; import org.gcube.common.storagehub.client.StreamDescriptor; @@ -13,6 +12,8 @@ public interface ItemManagerClient { //List listByPath(String path, String ... excludeNodes); List getChildren(String id, String ... excludeNodes); + + Item get(String id, String ... excludeNodes); StreamDescriptor download(String id);