From 02a698bbe9921ac632b7884510334b7040607fb6 Mon Sep 17 00:00:00 2001
From: Nicola Fulvio Calabria <nicola.calabria@inaf.it>
Date: Wed, 16 Nov 2022 17:05:22 +0100
Subject: [PATCH] added get collections list method to client

---
 .../inaf/ia2/vospace/ui/client/VOSpaceClient.java | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

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 690a3cb..8a1722f 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)
-- 
GitLab