From 2b6414391faa5e27364f197ce606a344fb694325 Mon Sep 17 00:00:00 2001
From: Robert Butora <robert.butora@gmail.com>
Date: Tue, 26 Mar 2024 05:23:50 -0400
Subject: [PATCH] output: changes access_url to output SODA-params instead of
 VLKB-legacy

---
 .../src/main/java/vlkb/common/Coord.java      | 34 +++++++++++++++++++
 .../src/main/java/vlkb/output/Inputs.java     | 15 +++++++-
 .../vlkb/webapi/FormatResponseFilter.java     |  3 +-
 3 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/data-discovery/src/main/java/vlkb/common/Coord.java b/data-discovery/src/main/java/vlkb/common/Coord.java
index f28b423..0159ddb 100644
--- a/data-discovery/src/main/java/vlkb/common/Coord.java
+++ b/data-discovery/src/main/java/vlkb/common/Coord.java
@@ -317,6 +317,40 @@ class Coord
    }
 
 
+   String toVoQueryString()
+   {
+      StringBuilder sb = new StringBuilder();
+
+      sb.append("skysystem=" + skySystem);
+
+      switch(shape)
+      {
+         case "CIRCLE" :
+            sb.append("&POS=CIRCLE "  + lon + " " + lat + " " + + radius );
+            break;
+
+         case "RECT" :
+            if(vel_valid)
+               sb.append("&POS=RANGE="
+                     + " " + (lon - dlon)  + " " + (lon + dlon)  
+                     + " " + (lat - dlat)  + " " + (lat + dlat)  
+                     + " " + vel_low  + " " + vel_up );
+
+            else       
+               sb.append("&POS=RANGE="
+                     + " " + (lon - dlon)  + " " + (lon + dlon)  
+                     + " " + (lat - dlat)  + " " + (lat + dlat) );
+            break;
+
+         default:
+            ;// ERROR internal err FIXME  writer.println("<shape> unknown shape: "+ shape +" </shape>");
+      }
+
+      return sb.toString();
+   }
+
+
+
 
 
 
diff --git a/data-discovery/src/main/java/vlkb/output/Inputs.java b/data-discovery/src/main/java/vlkb/output/Inputs.java
index 22bfd24..f244b8a 100644
--- a/data-discovery/src/main/java/vlkb/output/Inputs.java
+++ b/data-discovery/src/main/java/vlkb/output/Inputs.java
@@ -19,7 +19,8 @@ class Inputs
       this.countNullValues = countNullValues;
       this.auth = auth;
 
-      queryString = buildQueryString(coord, subsurveyId, countNullValues);
+      queryString = buildVoQueryString(coord, subsurveyId, countNullValues);
+      //queryString = buildQueryString(coord, subsurveyId, countNullValues);
    }
 
 
@@ -35,5 +36,17 @@ class Inputs
       return queryString.toString();
    }
 
+   private String buildVoQueryString(Coord coord, SubsurveyId subsurveyId, boolean countNullValues)
+   {
+      StringBuilder queryString = new StringBuilder();
+
+      queryString.append(coord.toVoQueryString());
+      if(subsurveyId.surveyName != null) queryString.append("&surveyname=" + subsurveyId.surveyName);
+      if(subsurveyId.species != null) queryString.append("&species=" + subsurveyId.species);
+      if(subsurveyId.transition != null) queryString.append("&transition=" + subsurveyId.transition);
+
+      return queryString.toString();
+   }
+
 }
 
diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
index 961a37b..ac1762b 100644
--- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
+++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
@@ -203,7 +203,8 @@ public class FormatResponseFilter implements Filter
          dataset.publisherDid   = obsDataset.pubdid_str;
 
          dataset.access.accessFileUrl   = obsDataset.access_url;
-         dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&amp;" + queryString;
+         dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&amp;" + queryString;
+         //dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&amp;" + queryString;
          dataset.access.accessMosaicUrl  = null;
 
          dataset.vertices_deg = convertToVertices(obsDataset.vertices_str);
-- 
GitLab