Fabio Sinibaldi 2016-11-17 09:49:57 +00:00
parent 92465d24a4
commit 6ec148dcff
4 changed files with 44 additions and 12 deletions

14
pom.xml
View File

@ -10,7 +10,19 @@
<artifactId>data-transfer-library</artifactId> <artifactId>data-transfer-library</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>
<name>DataTransfer-library</name> <name>DataTransfer-library</name>
<description>Data Transfer Service client library</description>
<properties>
<distroDirectory>${project.basedir}/distro</distroDirectory>
<svnBaseUrl>http://svn.research-infrastructures.eu/d4science/gcube/trunk/data-transfer/${project.artifactId}</svnBaseUrl>
</properties>
<scm>
<connection>scm:svn:${svnBaseUrl}/${project.artifactId}</connection>
<developerConnection>scm:svn:${svnBaseUrl}/${project.artifactId}</developerConnection>
<url>${svnBaseUrl}/${project.artifactId}</url>
</scm>
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
@ -62,7 +74,7 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>0.11.6</version> <version>1.14.8</version>
</dependency> </dependency>
<!-- JERSEY --> <!-- JERSEY -->

View File

@ -7,7 +7,6 @@ import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget; import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.data.transfer.library.client.AuthorizationFilter; import org.gcube.data.transfer.library.client.AuthorizationFilter;
import org.gcube.data.transfer.library.client.Client; import org.gcube.data.transfer.library.client.Client;
import org.gcube.data.transfer.library.faults.CommunicationException; import org.gcube.data.transfer.library.faults.CommunicationException;
@ -37,7 +36,7 @@ public class TestClientCalls {
@BeforeClass @BeforeClass
public static void init() throws ServiceNotFoundException{ public static void init() throws ServiceNotFoundException{
ScopeProvider.instance.set(scope); TokenSetter.set(scope);
client=new Client(hostname); client=new Client(hostname);
} }

View File

@ -5,6 +5,10 @@ import java.util.Properties;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider; import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider; import org.gcube.common.scope.api.ScopeProvider;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class TokenSetter { public class TokenSetter {
@ -21,11 +25,17 @@ public class TokenSetter {
public static void set(String scope){ public static void set(String scope){
try{
if(!props.containsKey(scope)) throw new RuntimeException("No token found for scope : "+scope); if(!props.containsKey(scope)) throw new RuntimeException("No token found for scope : "+scope);
SecurityTokenProvider.instance.set(props.getProperty(scope)); SecurityTokenProvider.instance.set(props.getProperty(scope));
}catch(Throwable e){
log.warn("Unable to set token for scope "+scope,e);
}
ScopeProvider.instance.set(scope); ScopeProvider.instance.set(scope);
} }
} }

View File

@ -3,8 +3,9 @@ package org.gcube.data.transfer.library;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.util.Collections;
import java.util.HashMap;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException; import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException;
import org.gcube.data.transfer.library.faults.DestinationNotSetException; import org.gcube.data.transfer.library.faults.DestinationNotSetException;
import org.gcube.data.transfer.library.faults.FailedTransferException; import org.gcube.data.transfer.library.faults.FailedTransferException;
@ -18,6 +19,7 @@ import org.gcube.data.transfer.library.faults.UnreachableNodeException;
import org.gcube.data.transfer.library.utils.StorageUtils; import org.gcube.data.transfer.library.utils.StorageUtils;
import org.gcube.data.transfer.model.Destination; import org.gcube.data.transfer.model.Destination;
import org.gcube.data.transfer.model.DestinationClashPolicy; import org.gcube.data.transfer.model.DestinationClashPolicy;
import org.gcube.data.transfer.model.PluginInvocation;
import org.junit.Assert; import org.junit.Assert;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
@ -25,14 +27,14 @@ import org.junit.Test;
public class TransfererTest { public class TransfererTest {
static String hostname="http://node3-d-d4s.d4science.org:80"; static String hostname="http://node3-d-d4s.d4science.org:80";
static String nodeId="462b68c5-463f-4295-86da-37d6c0abc7ea"; // static String nodeId="462b68c5-463f-4295-86da-37d6c0abc7ea";
static String scope="/gcube/devsec"; static String scope="/gcube/devNext";
static DataTransferClient client; static DataTransferClient client;
@BeforeClass @BeforeClass
public static void init() throws UnreachableNodeException, ServiceNotFoundException, HostingNodeNotFoundException{ public static void init() throws UnreachableNodeException, ServiceNotFoundException, HostingNodeNotFoundException{
ScopeProvider.instance.set(scope); TokenSetter.set(scope);
client=DataTransferClient.getInstanceByEndpoint(hostname); client=DataTransferClient.getInstanceByEndpoint(hostname);
// client=DataTransferClient.getInstanceByNodeId(nodeId); // client=DataTransferClient.getInstanceByNodeId(nodeId);
} }
@ -61,7 +63,7 @@ public class TransfererTest {
@Test @Test
public void storage() throws InvalidSourceException, SourceNotSetException, FailedTransferException, InitializationException, RemoteBackendException, FileNotFoundException, InvalidDestinationException, DestinationNotSetException{ public void storage() throws InvalidSourceException, SourceNotSetException, FailedTransferException, InitializationException, RemoteBackendException, FileNotFoundException, InvalidDestinationException, DestinationNotSetException{
ScopeProvider.instance.set(scope); TokenSetter.set(scope);
String toUpload="/home/fabio/Documents/Personal/DND/Incantesimi 3.5 - Mago e Stregone.pdf"; String toUpload="/home/fabio/Documents/Personal/DND/Incantesimi 3.5 - Mago e Stregone.pdf";
String id=StorageUtils.putOntoStorage(new File(toUpload)); String id=StorageUtils.putOntoStorage(new File(toUpload));
Destination dest=new Destination("some/where","My Pdf.pdf"); Destination dest=new Destination("some/where","My Pdf.pdf");
@ -86,4 +88,13 @@ public class TransfererTest {
String link="https://www.some.where.com/over/theRainbow.txt"; String link="https://www.some.where.com/over/theRainbow.txt";
System.out.println(client.httpSource(link,new Destination("oz"))); System.out.println(client.httpSource(link,new Destination("oz")));
} }
@Test
public void decompressPlugin() throws InvalidSourceException, SourceNotSetException, FailedTransferException, InitializationException, InvalidDestinationException, DestinationNotSetException{
HashMap<String,String> invocationParams=new HashMap<String,String>();
invocationParams.put("SOURCE_ARCHIVE", PluginInvocation.DESTINATION_FILE_PATH);
client.localFile(new File("/home/fabio/workspaces/home-library-jcr-PRE-PROD.jar"), new Destination("MyJar"),Collections.singleton(new PluginInvocation("DECOMPRESS", invocationParams)));
}
} }