Commit 0f933c16 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Set transfer target element as string instead of list of strings again. Used...

Set transfer target element as string instead of list of strings again. Used view with include param instead of custom protocol for async recall operations
parent 48c59591
Loading
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -12,7 +12,6 @@ import it.inaf.ia2.vospace.ui.client.VOSpaceClient;
import it.inaf.ia2.vospace.ui.exception.PermissionDeniedException;
import it.inaf.ia2.vospace.ui.exception.PermissionDeniedException;
import it.inaf.oats.vospace.datamodel.NodeUtils;
import it.inaf.oats.vospace.datamodel.NodeUtils;
import static it.inaf.oats.vospace.datamodel.NodeUtils.urlEncodePath;
import static it.inaf.oats.vospace.datamodel.NodeUtils.urlEncodePath;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import net.ivoa.xml.vospace.v2.Protocol;
import net.ivoa.xml.vospace.v2.Protocol;
import net.ivoa.xml.vospace.v2.Transfer;
import net.ivoa.xml.vospace.v2.Transfer;
@@ -52,7 +51,7 @@ public class DownloadController {


        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setDirection("pullFromVoSpace");
        transfer.setDirection("pullFromVoSpace");
        transfer.setTarget(Arrays.asList("vos://" + authority + urlEncodePath(path)));
        transfer.setTarget("vos://" + authority + urlEncodePath(path));


        Protocol protocol = new Protocol();
        Protocol protocol = new Protocol();
        protocol.setUri("ivo://ivoa.net/vospace/core#httpget");
        protocol.setUri("ivo://ivoa.net/vospace/core#httpget");
+19 −8
Original line number Original line Diff line number Diff line
@@ -8,15 +8,16 @@ package it.inaf.ia2.vospace.ui.controller;
import it.inaf.ia2.vospace.ui.client.VOSpaceClient;
import it.inaf.ia2.vospace.ui.client.VOSpaceClient;
import it.inaf.ia2.vospace.ui.data.Job;
import it.inaf.ia2.vospace.ui.data.Job;
import it.inaf.ia2.vospace.ui.exception.BadRequestException;
import it.inaf.ia2.vospace.ui.exception.BadRequestException;
import it.inaf.oats.vospace.datamodel.Views;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import net.ivoa.xml.uws.v1.ErrorType;
import net.ivoa.xml.uws.v1.ErrorType;
import net.ivoa.xml.uws.v1.ExecutionPhase;
import net.ivoa.xml.uws.v1.ExecutionPhase;
import net.ivoa.xml.uws.v1.JobSummary;
import net.ivoa.xml.uws.v1.JobSummary;
import net.ivoa.xml.vospace.v2.Protocol;
import net.ivoa.xml.vospace.v2.Param;
import net.ivoa.xml.vospace.v2.Transfer;
import net.ivoa.xml.vospace.v2.Transfer;
import net.ivoa.xml.vospace.v2.View;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
@@ -46,15 +47,25 @@ public class JobController extends BaseController {
            throw new BadRequestException("Received empty list of nodes");
            throw new BadRequestException("Received empty list of nodes");
        }
        }


        List<String> targets = paths.stream().map(p -> "vos://" + authority + p).collect(Collectors.toList());

        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setDirection("pullToVoSpace");
        transfer.setDirection("pullToVoSpace");
        transfer.setTarget(targets);
        Protocol protocol = new Protocol();


        protocol.setUri("ia2:async-recall");
        View view = new View();
        transfer.getProtocols().add(protocol);
        view.setUri(Views.ASYNC_RECALL_VIEW_URI);
        transfer.setView(view);

        if (paths.size() == 1) {
            transfer.setTarget("vos://" + authority + paths.get(0));
        } else {
            String parent = paths.get(0).substring(0, paths.get(0).lastIndexOf("/"));
            transfer.setTarget("vos://" + authority + parent);
            for (String path : paths) {
                Param param = new Param();
                param.setUri(Views.ASYNC_RECALL_VIEW_URI + "/include");
                param.setValue(path.substring(parent.length() + 1));
                view.getParam().add(param);
            }
        }


        JobSummary job = client.startTransferJob(transfer);
        JobSummary job = client.startTransferJob(transfer);


+3 −4
Original line number Original line Diff line number Diff line
@@ -14,7 +14,6 @@ import it.inaf.ia2.vospace.ui.service.MainNodesHtmlGenerator;
import it.inaf.ia2.vospace.ui.service.MoveNodeModalHtmlGenerator;
import it.inaf.ia2.vospace.ui.service.MoveNodeModalHtmlGenerator;
import it.inaf.oats.vospace.datamodel.NodeUtils;
import it.inaf.oats.vospace.datamodel.NodeUtils;
import static it.inaf.oats.vospace.datamodel.NodeUtils.urlEncodePath;
import static it.inaf.oats.vospace.datamodel.NodeUtils.urlEncodePath;
import java.util.Arrays;
import java.util.List;
import java.util.List;
import java.util.Map;
import java.util.Map;
import java.util.Optional;
import java.util.Optional;
@@ -161,10 +160,10 @@ public class NodesController extends BaseController {
        transfer.setView(view);
        transfer.setView(view);


        if (paths.size() == 1) {
        if (paths.size() == 1) {
            transfer.setTarget(Arrays.asList("vos://" + authority + paths.get(0)));
            transfer.setTarget("vos://" + authority + paths.get(0));
        } else {
        } else {
            String parent = getCommonParent(paths);
            String parent = getCommonParent(paths);
            transfer.setTarget(Arrays.asList("vos://" + authority + parent));
            transfer.setTarget("vos://" + authority + parent);
            for (String path : paths) {
            for (String path : paths) {
                String childName = path.substring(parent.length() + 1);
                String childName = path.substring(parent.length() + 1);
                Param param = new Param();
                Param param = new Param();
@@ -211,7 +210,7 @@ public class NodesController extends BaseController {
        String direction = urlEncodePath(getRequiredParam(params, "direction"));
        String direction = urlEncodePath(getRequiredParam(params, "direction"));


        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setTarget(Arrays.asList("vos://" + authority + target));
        transfer.setTarget("vos://" + authority + target);
        transfer.setDirection("vos://" + authority + direction);
        transfer.setDirection("vos://" + authority + direction);


        JobSummary job = client.startTransferJob(transfer);
        JobSummary job = client.startTransferJob(transfer);
+1 −1
Original line number Original line Diff line number Diff line
@@ -99,7 +99,7 @@ public class UploadController extends BaseController {


        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setDirection("pushToVoSpace");
        transfer.setDirection("pushToVoSpace");
        transfer.setTarget(Arrays.asList(uri));
        transfer.setTarget(uri);


        Protocol protocol = new Protocol();
        Protocol protocol = new Protocol();
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
+3 −3
Original line number Original line Diff line number Diff line
@@ -120,7 +120,7 @@ public class VOSpaceClientTest {


        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setDirection("pushToVoSpace");
        transfer.setDirection("pushToVoSpace");
        transfer.setTarget(Arrays.asList("vos://ia2.inaf.it!vospace/mynode"));
        transfer.setTarget("vos://ia2.inaf.it!vospace/mynode");


        Protocol protocol = new Protocol();
        Protocol protocol = new Protocol();
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
@@ -137,7 +137,7 @@ public class VOSpaceClientTest {


        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setDirection("pushToVoSpace");
        transfer.setDirection("pushToVoSpace");
        transfer.setTarget(Arrays.asList("vos://ia2.inaf.it!vospace/mynode"));
        transfer.setTarget("vos://ia2.inaf.it!vospace/mynode");


        Protocol protocol = new Protocol();
        Protocol protocol = new Protocol();
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
@@ -166,7 +166,7 @@ public class VOSpaceClientTest {


        Transfer transfer = new Transfer();
        Transfer transfer = new Transfer();
        transfer.setDirection("pushToVoSpace");
        transfer.setDirection("pushToVoSpace");
        transfer.setTarget(Arrays.asList("vos://ia2.inaf.it!vospace/mynode"));
        transfer.setTarget("vos://ia2.inaf.it!vospace/mynode");


        Protocol protocol = new Protocol();
        Protocol protocol = new Protocol();
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
        protocol.setUri("ivo://ivoa.net/vospace/core#httpput");
Loading