git-svn-id: https://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/Common/storagehub-client@169670 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
918784b355
commit
e54686b00f
|
@ -25,7 +25,10 @@ import org.gcube.common.storagehub.model.service.ItemList;
|
||||||
import org.gcube.common.storagehub.model.service.ItemWrapper;
|
import org.gcube.common.storagehub.model.service.ItemWrapper;
|
||||||
import org.gcube.common.storagehub.model.types.ACLList;
|
import org.gcube.common.storagehub.model.types.ACLList;
|
||||||
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
|
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
|
||||||
|
import org.glassfish.jersey.media.multipart.MultiPart;
|
||||||
import org.glassfish.jersey.media.multipart.MultiPartFeature;
|
import org.glassfish.jersey.media.multipart.MultiPartFeature;
|
||||||
|
import org.glassfish.jersey.media.multipart.file.FileDataBodyPart;
|
||||||
|
import org.glassfish.jersey.media.multipart.file.StreamDataBodyPart;
|
||||||
|
|
||||||
public class DefaultItemManager implements ItemManagerClient {
|
public class DefaultItemManager implements ItemManagerClient {
|
||||||
|
|
||||||
|
@ -212,11 +215,22 @@ public class DefaultItemManager implements ItemManagerClient {
|
||||||
@Override
|
@Override
|
||||||
public String call(WebTarget manager) throws Exception {
|
public String call(WebTarget manager) throws Exception {
|
||||||
WebTarget myManager = manager.register(MultiPartFeature.class).path(parentId)
|
WebTarget myManager = manager.register(MultiPartFeature.class).path(parentId)
|
||||||
.path("create").path("FILE").queryParam("name", fileName).queryParam("description", description);
|
.path("create").path("FILE");
|
||||||
Invocation.Builder builder = myManager.request();
|
Invocation.Builder builder = myManager.request();
|
||||||
String response = builder.post(Entity.entity(stream, MediaType.APPLICATION_OCTET_STREAM), String.class);
|
|
||||||
|
try (FormDataMultiPart multipart = new FormDataMultiPart()){
|
||||||
|
|
||||||
|
multipart.field("name", fileName);
|
||||||
|
multipart.field("description", description);
|
||||||
|
|
||||||
|
StreamDataBodyPart fileDataBodyPart = new StreamDataBodyPart("file",stream);
|
||||||
|
multipart.bodyPart(fileDataBodyPart);
|
||||||
|
|
||||||
|
String response = builder.post(Entity.entity(multipart, MediaType.MULTIPART_FORM_DATA_TYPE),String.class);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
try {
|
try {
|
||||||
return delegate.make(call);
|
return delegate.make(call);
|
||||||
|
|
|
@ -7,7 +7,15 @@ import java.io.InputStream;
|
||||||
import java.nio.file.StandardCopyOption;
|
import java.nio.file.StandardCopyOption;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.ws.rs.client.Client;
|
||||||
|
import javax.ws.rs.client.ClientBuilder;
|
||||||
|
import javax.ws.rs.client.Entity;
|
||||||
|
import javax.ws.rs.client.Invocation;
|
||||||
|
import javax.ws.rs.client.WebTarget;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
|
||||||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
|
import org.gcube.common.calls.jaxrs.JaxRSRequestFilter;
|
||||||
import org.gcube.common.scope.api.ScopeProvider;
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
import org.gcube.common.storagehub.client.StreamDescriptor;
|
import org.gcube.common.storagehub.client.StreamDescriptor;
|
||||||
import org.gcube.common.storagehub.client.dsl.ContainerType;
|
import org.gcube.common.storagehub.client.dsl.ContainerType;
|
||||||
|
@ -15,6 +23,10 @@ import org.gcube.common.storagehub.client.dsl.FileContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
||||||
import org.gcube.common.storagehub.model.items.Item;
|
import org.gcube.common.storagehub.model.items.Item;
|
||||||
|
import org.glassfish.jersey.client.ClientProperties;
|
||||||
|
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
|
||||||
|
import org.glassfish.jersey.media.multipart.MultiPartFeature;
|
||||||
|
import org.glassfish.jersey.media.multipart.file.StreamDataBodyPart;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
@ -24,17 +36,35 @@ public class Items {
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUp(){
|
public static void setUp(){
|
||||||
SecurityTokenProvider.instance.set("595ca591-9921-423c-bfca-f8be19f05882-98187548");
|
SecurityTokenProvider.instance.set("b7c80297-e4ed-42ab-ab42-fdc0b8b0eabf-98187548");
|
||||||
ScopeProvider.instance.set("/gcube/devNext/NextNext");
|
ScopeProvider.instance.set("/gcube");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void uploadFile() {
|
public void uploadFile() throws Exception {
|
||||||
StorageHubClient shc = new StorageHubClient();
|
StorageHubClient shc = new StorageHubClient();
|
||||||
|
/*
|
||||||
|
Client client = ClientBuilder.newClient().property(ClientProperties.FOLLOW_REDIRECTS, Boolean.FALSE).property(ClientProperties.CHUNKED_ENCODING_SIZE, 1024*1024);
|
||||||
|
|
||||||
|
WebTarget webTarget = client.target("http://workspace-repository1-d.d4science.org/storagehub/workspace/items/bc1c9525-43f7-4565-b5ea-0a0f9d7853a0/create/FILE?gcube-token=595ca591-9921-423c-bfca-f8be19f05882-98187548");
|
||||||
|
|
||||||
|
Invocation.Builder builder = webTarget.register(MultiPartFeature.class).request();
|
||||||
|
|
||||||
|
try (FormDataMultiPart multipart = new FormDataMultiPart();InputStream is = new FileInputStream(new File("/home/lucio/Downloads/1GB.zip"))){
|
||||||
|
|
||||||
|
multipart.field("name", "5Giga");
|
||||||
|
multipart.field("description", "");
|
||||||
|
|
||||||
|
StreamDataBodyPart fileDataBodyPart = new StreamDataBodyPart("file",is);
|
||||||
|
multipart.bodyPart(fileDataBodyPart);
|
||||||
|
|
||||||
|
String response = builder.post(Entity.entity(multipart, MediaType.MULTIPART_FORM_DATA_TYPE),String.class);
|
||||||
|
System.out.println(response);
|
||||||
|
}*/
|
||||||
|
|
||||||
String afi = null;
|
String afi = null;
|
||||||
try (InputStream is = new FileInputStream(new File("/home/lucio/Downloads/rockandroll.jpeg"))){
|
try (InputStream is = new FileInputStream(new File("/home/lucio/Downloads/test5Gb.zip"))){
|
||||||
shc.getWSRoot().uploadFile(is, "test2-image.jpeg", "descr");
|
shc.getWSRoot().uploadFile(is, "5g.zip", "descr");
|
||||||
|
|
||||||
System.out.println(afi);
|
System.out.println(afi);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
@ -2,7 +2,10 @@ package org.gcube.data.access.fs;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.URI;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
@ -87,7 +90,22 @@ public class TestCall {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void upload() throws Exception{
|
||||||
|
final ItemManagerClient client = AbstractPlugin.item().at(new URI("http://workspace-repository1-d.d4science.org:8080/storagehub")).build();
|
||||||
|
|
||||||
|
try (InputStream is = new FileInputStream(new File("/home/lucio/Downloads/test5Gb.zip"))){
|
||||||
|
|
||||||
|
client.uploadFile(is, "bc1c9525-43f7-4565-b5ea-0a0f9d7853a0", "5gb.zip", "description");
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
System.in.read();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue