diff --git a/pom.xml b/pom.xml
index cd41d00..a940ef0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
org.gcube.common
storagehub-client-library
- 1.0.6-SNAPSHOT
+ 1.0.7-SNAPSHOT
storagehub-client-library
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 7d3f7d1..a475ac6 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
@@ -550,15 +550,15 @@ public class DefaultItemManager implements ItemManagerClient {
GXInboundResponse response =null;
FormDataMultiPart multipart = new FormDataMultiPart();
-
+
multipart.field("name", fileName);
multipart.field("description", description);
multipart.field("file", stream, MediaType.APPLICATION_OCTET_STREAM_TYPE);
-
+
Entity entity = Entity.entity(multipart, MediaType.MULTIPART_FORM_DATA);
-
+
response = myManager.post(entity);
-
+
if (response.isErrorResponse()) {
if (response.hasException()) {
throw response.getException();
@@ -675,8 +675,8 @@ public class DefaultItemManager implements ItemManagerClient {
throw new RuntimeException(e1);
}
}
-
-
+
+
@Override
public String createURL(String parentId, String name, String description,URL url) throws StorageHubException {
Call call = new Call() {
@@ -831,20 +831,20 @@ public class DefaultItemManager implements ItemManagerClient {
public void delete(String id) throws StorageHubException {
delete(id, false);
}
-
+
@Override
public void delete(String id, boolean force) throws StorageHubException {
Call call = new Call() {
@Override
public Void call(GXWebTargetAdapterRequest manager) throws Exception {
Objects.requireNonNull(id, "id cannot be null");
-
+
HashMap queryParam = new HashMap();
queryParam.put("force", new Object[] {force});
-
+
GXWebTargetAdapterRequest myManager = manager.path(id);
GXInboundResponse response = myManager.queryParams(queryParam).delete();
-
+
if (response.isErrorResponse()) {
if (response.hasException())
throw response.getException();
@@ -929,30 +929,30 @@ public class DefaultItemManager implements ItemManagerClient {
}
}
-
-
+
+
@Override
public boolean canWriteInto(String id) throws StorageHubException {
Call call = new Call() {
@Override
public Boolean call(GXWebTargetAdapterRequest manager) throws Exception {
Objects.requireNonNull(id, "id cannot be null");
-
+
GXWebTargetAdapterRequest myManager = manager.path(id).path("acls").path("write");
-
-
+
+
GXInboundResponse response = myManager.get();
-
+
if (response.isErrorResponse()) {
if (response.hasException())
throw response.getException();
else
throw new BackendGenericError();
}
-
-
+
+
return response.getSource().readEntity(Boolean.class);
-
+
}
};
@@ -964,9 +964,9 @@ public class DefaultItemManager implements ItemManagerClient {
throw new RuntimeException(e1);
}
}
-
-
-
+
+
+
@Override
public String changeACL(String id, String user, AccessType accessType) throws StorageHubException {
Call call = new Call() {
@@ -974,10 +974,10 @@ public class DefaultItemManager implements ItemManagerClient {
public String call(GXWebTargetAdapterRequest manager) throws Exception {
Objects.requireNonNull(id, "id cannot be null");
Objects.requireNonNull(user, "user cannot be null");
-
-
+
+
GXWebTargetAdapterRequest myManager = manager.path(id).path("acls");
-
+
try (FormDataMultiPart multipart = new FormDataMultiPart()){
multipart.field("access", accessType, MediaType.APPLICATION_JSON_TYPE);
multipart.field("user", user);
@@ -1005,6 +1005,44 @@ public class DefaultItemManager implements ItemManagerClient {
}
}
+
+
+ @Override
+ public String removeSharedFolderAdmin(String id, String user) throws StorageHubException {
+ Call call = new Call() {
+ @Override
+ public String call(GXWebTargetAdapterRequest manager) throws Exception {
+ Objects.requireNonNull(id, "id cannot be null");
+ Objects.requireNonNull(user, "user cannot be null");
+
+
+ GXWebTargetAdapterRequest myManager = manager.path(id).path("acls").path(user);
+
+
+ GXInboundResponse response = myManager.delete();
+
+
+ if (response.isErrorResponse()) {
+ if (response.hasException())
+ throw response.getException();
+ else
+ throw new BackendGenericError();
+ }
+
+ return response.getSource().readEntity(String.class);
+
+ }
+ };
+ try {
+ return delegate.make(call);
+ }catch(StorageHubException e) {
+ throw e;
+ }catch(Exception e1) {
+ throw new RuntimeException(e1);
+ }
+ }
+
+
@Override
public String copy(String id, String destinationFolderId, String newFilename) throws StorageHubException {
Call call = new Call() {
@@ -1043,16 +1081,16 @@ public class DefaultItemManager implements ItemManagerClient {
}
}
-
-
-
+
+
+
@Override
public String setPublic(String id, boolean publish) throws StorageHubException {
Call call = new Call() {
@Override
public String call(GXWebTargetAdapterRequest manager) throws Exception {
Objects.requireNonNull(id, "id cannot be null");
-
+
GXWebTargetAdapterRequest myManager = manager.path(id)
.path("publish");
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 4a55db0..4aa1592 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
@@ -48,6 +48,8 @@ public interface ItemManagerClient {
List getACL(String id) throws StorageHubException;
String changeACL(String id, String user, AccessType accessType) throws StorageHubException;
+
+ String removeSharedFolderAdmin(String id, String user) throws StorageHubException;
@Deprecated
void delete(String id) throws StorageHubException;
diff --git a/src/test/java/org/gcube/data/access/fs/Items.java b/src/test/java/org/gcube/data/access/fs/Items.java
index d90ab20..bea887c 100644
--- a/src/test/java/org/gcube/data/access/fs/Items.java
+++ b/src/test/java/org/gcube/data/access/fs/Items.java
@@ -30,8 +30,8 @@ public class Items {
@BeforeClass
public static void setUp(){
- SecurityTokenProvider.instance.set("b7c80297-e4ed-42ab-ab42-fdc0b8b0eabf-98187548");
- ScopeProvider.instance.set("/gcube");
+ SecurityTokenProvider.instance.set("257800d8-24bf-4bae-83cd-ea99369e7dd6-843339462");
+ ScopeProvider.instance.set("/d4science.research-infrastructures.eu");
}
@@ -110,8 +110,8 @@ public class Items {
StorageHubClient shc = new StorageHubClient();
FileContainer file = null;
- try(InputStream is = new FileInputStream(new File("/home/lucio/Downloads/PortletTesting.xlsx"))){
- file = shc.open("1672d620-543e-4c76-b0af-4c46f52cbc82").asFolder().uploadFile(is, "PortletTestingSenzaExt", "graphs");
+ try(InputStream is = new FileInputStream(new File("/home/lucio/Downloads/.richiesta speroni.pdf"))){
+ file = shc.getWSRoot().uploadFile(is, ".richiesta speroni.pdf", "test");
}