diff --git a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java index 690a3cbaeec03ef3b4679d8e0f5f7b4a220b9a15..8a1722feecdee7f72829e4e893c9c12ac92ccd5c 100644 --- a/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java +++ b/vospace-ui-backend/src/main/java/it/inaf/ia2/vospace/ui/client/VOSpaceClient.java @@ -13,6 +13,8 @@ import it.inaf.ia2.vospace.ui.exception.VOSpaceStatusException; import it.inaf.ia2.vospace.ui.exception.VOSpaceException; import it.inaf.oats.vospace.datamodel.NodeUtils; import static it.inaf.oats.vospace.datamodel.NodeUtils.urlEncodePath; +import it.inaf.oats.vospace.datamodel.collections.NodeCollection; +import it.inaf.oats.vospace.datamodel.collections.NodeCollectionsWrapper; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; @@ -83,6 +85,17 @@ public class VOSpaceClient { return call(request, BodyHandlers.ofInputStream(), 200, res -> unmarshal(res, Node.class)); } + + public List<NodeCollection> getNodeCollections(Optional<String> token) { + + HttpRequest request = getRequest("/collections", token) + .header("Accept", useJson ? "application/json" : "text/xml") + .GET() + .build(); + + return call(request, BodyHandlers.ofInputStream(), 200, + res -> unmarshal(res, NodeCollectionsWrapper.class)).getNodeCollections(); + } public JobSummary startTransferJob(Transfer transfer, Optional<String> token) { @@ -94,7 +107,7 @@ public class VOSpaceClient { return call(request, BodyHandlers.ofInputStream(), 200, res -> unmarshal(res, JobSummary.class)); } - + public String getFileServiceEndpoint(Transfer transfer, Optional<String> token) { HttpRequest request = getRequest("/synctrans", token)