package org.gcube.data.transfer.library; import java.net.MalformedURLException; import java.net.URL; import javax.ws.rs.client.ClientBuilder; 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.Client; import org.gcube.data.transfer.model.TransferRequest; import org.gcube.data.transfer.model.TransferTicket; import org.gcube.data.transfer.model.TransferTicket.Status; import org.gcube.data.transfer.model.options.HttpDownloadOptions; import org.gcube.data.transfer.model.settings.HttpDownloadSettings; import org.glassfish.jersey.client.ClientConfig; import org.junit.Before; import org.junit.Test; public class TestClientCalls { String hostname="http://pc-fabio.isti.cnr.it:8080"; String scope="/gcube/devNext"; Client client; @Before public void init(){ ScopeProvider.instance.set(scope); client=new Client(hostname); } @Test public void getCapabilties(){ System.out.println(client.getCapabilties()); } @Test public void doTheTransfer() throws MalformedURLException{ TransferRequest request= new TransferRequest("", new HttpDownloadSettings(new URL("http://goo.gl/oLP7zG"), HttpDownloadOptions.DEFAULT)); System.out.println("Submitting "+request); TransferTicket ticket=client.submit(request); System.out.println("Ticket is "+ticket); boolean continuePolling=true; do{ ticket=client.getTransferStatus(ticket.getId()); System.out.println("Status : "+ticket); continuePolling=ticket.getStatus().equals(Status.PENDING)||ticket.getStatus().equals(Status.TRANSFERRING)||ticket.getStatus().equals(Status.WAITING); try{ Thread.sleep(1000); }catch(InterruptedException e){} }while(continuePolling); } @Test public void directCall(){ javax.ws.rs.client.Client client = ClientBuilder.newClient(new ClientConfig().register(AuthorizationFilter.class)); System.out.println(client.target("http://pc-fabio.isti.cnr.it:8080/data-transfer-service/gcube/service/Capabilities"). request(MediaType.APPLICATION_XML).get()); } }