From 55fa10fef95777477d4f6d2308885603f4a93ca3 Mon Sep 17 00:00:00 2001 From: Robert Butora <robert.butora@gmail.com> Date: Wed, 27 Mar 2024 13:29:57 -0400 Subject: [PATCH] seprates inclusion of inputs into results-xml for VLKB-legacy only --- .../src/main/java/vlkb/output/Dataset.java | 2 +- .../java/vlkb/output/SearchOutputData.java | 19 +++++++------------ .../main/java/vlkb/output/XmlSerializer.java | 10 ++++++---- .../vlkb/webapi/FormatResponseFilter.java | 14 +++++++------- 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/data-discovery/src/main/java/vlkb/output/Dataset.java b/data-discovery/src/main/java/vlkb/output/Dataset.java index 015f291..0be05c5 100644 --- a/data-discovery/src/main/java/vlkb/output/Dataset.java +++ b/data-discovery/src/main/java/vlkb/output/Dataset.java @@ -59,7 +59,7 @@ class Dataset } - public Dataset(List<Dataset> datasetList, AuthPolicy auth, /*Coord coord,*/ SubsurveyId subsurveyId, String mergeUrlRoot, String mergeQueryString) + public Dataset(List<Dataset> datasetList, /*AuthPolicy auth, /*Coord coord,*/ SubsurveyId subsurveyId, String mergeUrlRoot, String mergeQueryString) { this.subsurvey_id = datasetList.get(0).subsurvey_id; // mergeabiity condition is more then 1 element in list this.overlapCode = 5; // 5: exact match --> legacy used 0 here FIXME 5 will not be correct on edges of Subsurvey coverage diff --git a/data-discovery/src/main/java/vlkb/output/SearchOutputData.java b/data-discovery/src/main/java/vlkb/output/SearchOutputData.java index 08e0ae7..5106af7 100644 --- a/data-discovery/src/main/java/vlkb/output/SearchOutputData.java +++ b/data-discovery/src/main/java/vlkb/output/SearchOutputData.java @@ -7,32 +7,27 @@ class SearchOutputData private static final Logger LOGGER = Logger.getLogger("SearchOutputData"); String description; - AuthPolicy auth; - Coord coord; - SubsurveyId subsurveyId; int datacubeCount; String versionString; Subsurvey[] subsurveyArr; - public static SearchOutputData marshall(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, - String mergeUrlRoot, String mergeQueryString, Subsurvey[] dbSubsurveys) + public static SearchOutputData marshall(Dataset[] datasetArr, + SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys, + String mergeUrlRoot, String mergeQueryString) { SearchOutputData sod = new SearchOutputData(); sod.description = "Via Lactea Knowledge Base response (Search by pgSphere)"; - sod.auth = auth; - sod.coord = coord; - sod.subsurveyId = subsurveyId; sod.versionString = "Search (pgSphere) version " + Version.asString; sod.datacubeCount = datasetArr.length; - sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, subsurveyId, dbSubsurveys, mergeUrlRoot, mergeQueryString); + sod.subsurveyArr = groupBySubsurveys(datasetArr, subsurveyId, dbSubsurveys, mergeUrlRoot, mergeQueryString); return sod; } private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, - AuthPolicy auth, SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys, + SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys, String mergeUrlRoot, String mergeQueryString) { List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>(); @@ -49,7 +44,7 @@ class SearchOutputData { if( Dataset.areDatasetsMergeable(datasetList) ) { - Dataset mergedDataset = new Dataset(datasetList, auth, subsurveyId, mergeUrlRoot, mergeQueryString); + Dataset mergedDataset = new Dataset(datasetList, subsurveyId, mergeUrlRoot, mergeQueryString); datasetList.add(mergedDataset); } @@ -68,7 +63,7 @@ class SearchOutputData if( Dataset.areDatasetsMergeable(datasetList) ) { - Dataset mergedDataset = new Dataset(datasetList, auth, subsurveyId, mergeUrlRoot, mergeQueryString); + Dataset mergedDataset = new Dataset(datasetList, subsurveyId, mergeUrlRoot, mergeQueryString); datasetList.add(mergedDataset); } diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java index c0d8d1d..0898f8e 100644 --- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java +++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java @@ -179,7 +179,9 @@ public final class XmlSerializer // legacy - public static void serializeToLegacyResults(PrintWriter writer, String charEncoding, SearchOutputData searchOutputData, + public static void serializeToLegacyResults(PrintWriter writer, String charEncoding, + AuthPolicy inputAuth, Coord inputCoord, SubsurveyId inputSubsurveyId, + SearchOutputData searchOutputData, boolean showDuration, long startTime_msec) { writer.println("<?xml version=\"1.0\" encoding=\"" + charEncoding + "\" standalone=\"yes\"?>"); @@ -187,9 +189,9 @@ public final class XmlSerializer writer.println("<description> " + searchOutputData.description + " </description>"); writer.println("<inputs>"); - if(searchOutputData.subsurveyId != null) writer.println(serialize(searchOutputData.subsurveyId)); - if(searchOutputData.coord != null) writer.println(serialize(searchOutputData.coord)); - if(searchOutputData.auth != null) writer.println(serialize(searchOutputData.auth)); + if(inputSubsurveyId != null) writer.println(serialize(inputSubsurveyId)); + if(inputCoord != null) writer.println(serialize(inputCoord)); + if(inputAuth != null) writer.println(serialize(inputAuth)); writer.println("</inputs>"); writer.println("<msg> " + searchOutputData.versionString + " </msg>"); diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index 4078d76..c470f1e 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -106,14 +106,11 @@ public class FormatResponseFilter implements Filter settings.serviceUrls.cutoutUrl(), coord.toVoQueryString()); - SearchOutputData searchOutputData = SearchOutputData.marshall( - datasetArr, - responseWrapper.auth, - coord, // VLKB: only for xml VLKB-legacy <input> tag + SearchOutputData searchOutputData = SearchOutputData.marshall(datasetArr, subsurveyId, + dbSubsurveyArr, settings.serviceUrls.mergeUrl(), - coord.toVoQueryString(), - dbSubsurveyArr); + coord.toVoQueryString()); final String respFormat = settings.serviceUrls.responseFormat(); LOGGER.info("responseFormat: " + respFormat); @@ -124,7 +121,10 @@ public class FormatResponseFilter implements Filter { response.setContentType("application/xml"); boolean showDuration = true; - XmlSerializer.serializeToLegacyResults(responseWriter, RESPONSE_ENCODING, searchOutputData,showDuration,startTime_msec); + XmlSerializer.serializeToLegacyResults(responseWriter, RESPONSE_ENCODING, + responseWrapper.auth, coord, subsurveyId, // <inputs/> + searchOutputData, + showDuration,startTime_msec); } else if(respFormat.equals("application/x-votable+xml")) { -- GitLab