From 4f23166e6ab59d9af537985eba95635cd7c86ab5 Mon Sep 17 00:00:00 2001
From: Robert Butora <robert.butora@inaf.it>
Date: Tue, 26 Mar 2024 09:24:33 +0100
Subject: [PATCH] search: adds access_url (with call to cutout)  to VOTable
 output

---
 .../main/java/vlkb/output/XmlSerializer.java  | 32 +++++++++++--------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java
index 3a632ee..e92bd9b 100644
--- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java
+++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java
@@ -49,23 +49,26 @@ public final class XmlSerializer
 
    private static StarTable makeSearchResultsTable(Subsurvey[] ssurv)
    {
-      ColumnInfo[] colInfos = new ColumnInfo[ 5 + 2*4 ];
+      ColumnInfo[] colInfos = new ColumnInfo[ 6 + 2*4 ];
 
-      colInfos[ 0 ] = new ColumnInfo( "overlap",     Integer.class, "Overlap Code" );
-      colInfos[ 1 ] = new ColumnInfo( "overlapSky",  Integer.class, "Overlap Code for Sky axes" );
-      colInfos[ 2 ] = new ColumnInfo( "overlapSpec", Integer.class, "Overlap Code for Spectral axis" );
+      int ix=0;
 
-      colInfos[ 3 ] = new ColumnInfo( "dataType",    String.class,  "Data Type (image|cube)" );
-      colInfos[ 4 ] = new ColumnInfo( "pubdid",      String.class,  "PublisherDid" );
+      colInfos[ ix++ ] = new ColumnInfo( "overlap",     Integer.class, "Overlap Code" );
+      colInfos[ ix++ ] = new ColumnInfo( "overlapSky",  Integer.class, "Overlap Code for Sky axes" );
+      colInfos[ ix++ ] = new ColumnInfo( "overlapSpec", Integer.class, "Overlap Code for Spectral axis" );
 
-      colInfos[  5 ] = new ColumnInfo( "P1lon", Double.class, "longitude" );
-      colInfos[  6 ] = new ColumnInfo( "P1lat", Double.class, "latitude" );
-      colInfos[  7 ] = new ColumnInfo( "P2lon", Double.class, "longitude" );
-      colInfos[  8 ] = new ColumnInfo( "P2lat", Double.class, "latitude" );
-      colInfos[  9 ] = new ColumnInfo( "P3lon", Double.class, "longitude" );
-      colInfos[ 10 ] = new ColumnInfo( "P3lat", Double.class, "latitude" );
-      colInfos[ 11 ] = new ColumnInfo( "P4lon", Double.class, "longitude" );
-      colInfos[ 12 ] = new ColumnInfo( "P4lat", Double.class, "latitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "dataType",    String.class,  "Data Type (image|cube)" );
+      colInfos[ ix++ ] = new ColumnInfo( "pubdid",      String.class,  "PublisherDid" );
+      colInfos[ ix++ ] = new ColumnInfo( "access_url",  String.class,  "Access URL" );
+
+      colInfos[ ix++ ] = new ColumnInfo( "P1lon", Double.class, "longitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P1lat", Double.class, "latitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P2lon", Double.class, "longitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P2lat", Double.class, "latitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P3lon", Double.class, "longitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P3lat", Double.class, "latitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P4lon", Double.class, "longitude" );
+      colInfos[ ix++ ] = new ColumnInfo( "P4lat", Double.class, "latitude" );
 
       RowListStarTable astro = new RowListStarTable( colInfos );
 
@@ -81,6 +84,7 @@ public final class XmlSerializer
 
                      dataset.dataType, 
                      dataset.publisherDid,
+                     dataset.access.accessCutoutUrl,
 
                      new Double(dataset.vertices_deg.lon[0]), new Double(dataset.vertices_deg.lat[0]),
                      new Double(dataset.vertices_deg.lon[1]), new Double(dataset.vertices_deg.lat[1]),
-- 
GitLab