git-svn-id: https://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/Common/storagehub-client@169316 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
4bf7121478
commit
38115cb07a
13
pom.xml
13
pom.xml
|
@ -1,4 +1,5 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -27,12 +28,12 @@
|
|||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- <dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>gxRest</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency> -->
|
||||
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
|
@ -42,7 +43,7 @@
|
|||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>storagehub-model</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jersey.core</groupId>
|
||||
|
|
|
@ -32,7 +32,8 @@ public class FolderContainer extends ItemContainer<FolderItem>{
|
|||
return itemclient.getChildren(itemId);
|
||||
}
|
||||
|
||||
public <T extends AbstractFileItem> T uploadFile(InputStream stream, String filename, String description) {
|
||||
//TODO: change the return to file container
|
||||
public String uploadFile(InputStream stream, String filename, String description) {
|
||||
return itemclient.uploadFile(stream, this.itemId , filename, description);
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ public abstract class ItemContainer<I extends Item> {
|
|||
|
||||
protected ItemContainer(ItemManagerClient itemclient, I item) {
|
||||
this.itemclient = itemclient;
|
||||
this.itemId = item.getId();
|
||||
}
|
||||
|
||||
protected ItemContainer(ItemManagerClient itemclient, String itemId) {
|
||||
|
|
|
@ -144,30 +144,29 @@ public class DefaultItemManager implements ItemManagerClient {
|
|||
|
||||
|
||||
@Override
|
||||
public AbstractFileItem uploadFile(InputStream stream, String parentId, String fileName, String description) {
|
||||
Call<WebTarget, ItemWrapper<AbstractFileItem>> call = new Call<WebTarget, ItemWrapper<AbstractFileItem>>() {
|
||||
public String uploadFile(InputStream stream, String parentId, String fileName, String description) {
|
||||
Call<WebTarget, String> call = new Call<WebTarget, String>() {
|
||||
@Override
|
||||
public ItemWrapper<AbstractFileItem> call(WebTarget manager) throws Exception {
|
||||
public String call(WebTarget manager) throws Exception {
|
||||
WebTarget myManager = manager.register(MultiPartFeature.class).path(parentId)
|
||||
.path("create").path("FILE").queryParam("name", fileName).queryParam("description", description);
|
||||
Invocation.Builder builder = myManager.request();
|
||||
ItemWrapper<AbstractFileItem> response = builder.post(Entity.entity(stream, MediaType.APPLICATION_OCTET_STREAM), ItemWrapper.class);
|
||||
String response = builder.post(Entity.entity(stream, MediaType.APPLICATION_OCTET_STREAM), String.class);
|
||||
return response;
|
||||
}
|
||||
};
|
||||
try {
|
||||
ItemWrapper<AbstractFileItem> result = delegate.make(call);
|
||||
return result.getItem();
|
||||
return delegate.make(call);
|
||||
}catch(Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public FolderItem createFolder(String parentId, String name, String description) {
|
||||
Call<WebTarget, ItemWrapper<FolderItem>> call = new Call<WebTarget, ItemWrapper<FolderItem>>() {
|
||||
public String createFolder(String parentId, String name, String description) {
|
||||
Call<WebTarget, String> call = new Call<WebTarget, String>() {
|
||||
@Override
|
||||
public ItemWrapper<FolderItem> call(WebTarget manager) throws Exception {
|
||||
public String call(WebTarget manager) throws Exception {
|
||||
WebTarget myManager = manager.path(parentId)
|
||||
.path("create").path("FOLDER").queryParam("name", name).queryParam("description", description);
|
||||
Invocation.Builder builder = myManager.request();
|
||||
|
@ -175,13 +174,12 @@ public class DefaultItemManager implements ItemManagerClient {
|
|||
MultivaluedMap<String, String> formData = new MultivaluedHashMap<String, String>();
|
||||
formData.add("name", name);
|
||||
formData.add("description", description);
|
||||
ItemWrapper<FolderItem> response = builder.post(Entity.form(formData),ItemWrapper.class);
|
||||
String response = builder.post(Entity.form(formData),String.class);
|
||||
return response;
|
||||
}
|
||||
};
|
||||
try {
|
||||
ItemWrapper<FolderItem> result = delegate.make(call);
|
||||
return result.getItem();
|
||||
return delegate.make(call);
|
||||
}catch(Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
|
|
@ -5,8 +5,6 @@ import java.util.List;
|
|||
|
||||
import org.gcube.common.storagehub.client.StreamDescriptor;
|
||||
import org.gcube.common.storagehub.model.acls.ACL;
|
||||
import org.gcube.common.storagehub.model.items.AbstractFileItem;
|
||||
import org.gcube.common.storagehub.model.items.FolderItem;
|
||||
import org.gcube.common.storagehub.model.items.Item;
|
||||
|
||||
|
||||
|
@ -27,9 +25,9 @@ public interface ItemManagerClient {
|
|||
|
||||
StreamDescriptor download(String id);
|
||||
|
||||
<T extends AbstractFileItem> T uploadFile(InputStream stream, String parentId, String fileName, String description);
|
||||
String uploadFile(InputStream stream, String parentId, String fileName, String description);
|
||||
|
||||
FolderItem createFolder(String parentId, String name, String description);
|
||||
String createFolder(String parentId, String name, String description);
|
||||
|
||||
List<ACL> getACL(String id);
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import java.io.InputStream;
|
|||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||
import org.gcube.common.scope.api.ScopeProvider;
|
||||
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
||||
import org.gcube.common.storagehub.model.items.AbstractFileItem;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
|
@ -25,9 +24,9 @@ public class Items {
|
|||
public void uploadFile() {
|
||||
StorageHubClient shc = new StorageHubClient();
|
||||
|
||||
try (InputStream is = new FileInputStream(new File("/home/lucio/Downloads/Metodo-Calisthenics.pdf"))){
|
||||
AbstractFileItem afi = shc.open("14d498da-eea1-4fb7-8590-9ce91aaba542").asFolder().uploadFile(is, "testVersion", "descr");
|
||||
System.out.println(afi.getId());
|
||||
try (InputStream is = new FileInputStream(new File("/home/lucio/Downloads/fattunite.pdf"))){
|
||||
String afi = shc.getWSRoot().uploadFile(is, "fattureTest2.pdf", "descr");
|
||||
System.out.println(afi);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -38,8 +37,8 @@ public class Items {
|
|||
StorageHubClient shc = new StorageHubClient();
|
||||
|
||||
try (InputStream is = new FileInputStream(new File("/home/lucio/Downloads/bonifico ferrara anricipo.pdf"))){
|
||||
AbstractFileItem afi = shc.getWSRoot().uploadFile(is, "bonificopdf", "descr");
|
||||
System.out.println(afi.toString());
|
||||
String afi = shc.getWSRoot().uploadFile(is, "bonificopdf", "descr");
|
||||
System.out.println(afi);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue