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 + "&" + queryString; + dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&" + queryString; + //dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&" + queryString; dataset.access.accessMosaicUrl = null; dataset.vertices_deg = convertToVertices(obsDataset.vertices_str); -- GitLab