From 6669a90f8ad3bcce10c97bf29fd9eb96fb3e2739 Mon Sep 17 00:00:00 2001 From: Robert Butora <robert.butora@gmail.com> Date: Wed, 27 Mar 2024 09:18:01 -0400 Subject: [PATCH] separates search from formatting (Format filter parses own params as needed by VLKB-legacy extension) --- .../src/main/java/vlkb/output/Dataset.java | 3 +-- .../main/java/vlkb/output/XmlSerializer.java | 2 +- .../src/main/java/vlkb/search/DbPSearch.java | 2 +- .../main/java/vlkb/vosi/VlkbServletFile.java | 4 +-- .../vlkb/webapi/FormatResponseFilter.java | 27 ++++++++++--------- .../main/java/vlkb/webapi/SearchServlet.java | 4 --- 6 files changed, 19 insertions(+), 23 deletions(-) diff --git a/data-discovery/src/main/java/vlkb/output/Dataset.java b/data-discovery/src/main/java/vlkb/output/Dataset.java index dd6a071..ef11067 100644 --- a/data-discovery/src/main/java/vlkb/output/Dataset.java +++ b/data-discovery/src/main/java/vlkb/output/Dataset.java @@ -26,7 +26,6 @@ class Dataset } - String queryString;// was in Inputs String subsurvey_id; int overlapCodeSky; int overlapCodeVel; @@ -70,7 +69,7 @@ class Dataset this.access = new Access(); this.access.accessFileUrl = null; this.access.accessCutoutUrl = null; - this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" + coord.toVoQueryString();///*inputs.*/queryString; + this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" + coord.toVoQueryString(); this.vertices_deg = mergeVertices(datasetList, /*inputs.*/coord); } diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java index c0d8d1d..2b157e4 100644 --- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java +++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java @@ -33,7 +33,7 @@ public final class XmlSerializer BufferedWriter out = new BufferedWriter( writer ); - out.write("<?xml-stylesheet type='text/xsl' href='VOTable2XHTML.xsl'?>"); + //out.write("<?xml-stylesheet type='text/xsl' href='VOTable2XHTML.xsl'?>"); //out.write("<?xml-stylesheet type='text/xsl' href='http://www.ivoa.net/internal/IVOA/VOTableSoftware/VOTable2XHTML.xsl'?>"); out.write( "<VOTABLE version='1.1'>\n" ); out.write( "<RESOURCE>\n" ); diff --git a/data-discovery/src/main/java/vlkb/search/DbPSearch.java b/data-discovery/src/main/java/vlkb/search/DbPSearch.java index 183b9bf..47e7ec9 100644 --- a/data-discovery/src/main/java/vlkb/search/DbPSearch.java +++ b/data-discovery/src/main/java/vlkb/search/DbPSearch.java @@ -215,7 +215,7 @@ public class DbPSearch theQuery += " ORDER BY obs_collection"; - LOGGER.info(theQuery); + //LOGGER.info(theQuery); List<FormatResponseFilter.ObsCore> obsCoreList = new ArrayList<>(); diff --git a/data-discovery/src/main/java/vlkb/vosi/VlkbServletFile.java b/data-discovery/src/main/java/vlkb/vosi/VlkbServletFile.java index 74f531f..2aee993 100644 --- a/data-discovery/src/main/java/vlkb/vosi/VlkbServletFile.java +++ b/data-discovery/src/main/java/vlkb/vosi/VlkbServletFile.java @@ -122,8 +122,8 @@ public class VlkbServletFile { StringBuffer requestURL = request.getRequestURL(); - System.out.println(className + " vlkb req from: " + request.getRemoteAddr() - + " doGet: " + requestURL.toString()); + //System.out.println(className + " vlkb req from: " + request.getRemoteAddr() + // + " doGet: " + requestURL.toString()); PrintWriter writer = response.getWriter(); response.setContentType("text/xml"); diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index 5c6cfef..8a9ebf2 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -25,9 +25,6 @@ class FormatResponseWrapper extends HttpServletResponseWrapper AuthPolicy auth; String[] pubdidArr; - Coord coord; - SubsurveyId subsurveyId; - String queryString; @@ -79,6 +76,12 @@ public class FormatResponseFilter implements Filter { LOGGER.info("trace"); LOGGER.info("REQUEST START ============================================================================================="); + + Map<String, String[]> params = request.getParameterMap(); + for(String keys : params.keySet()) LOGGER.info("Params: " + keys); + Coord coord = new Coord(params); + SubsurveyId subsurveyId = new SubsurveyId(params); + // FIXME add invalid param excpetions FormatResponseWrapper responseWrapper = new FormatResponseWrapper((HttpServletResponse) response); @@ -94,15 +97,14 @@ public class FormatResponseFilter implements Filter Dataset[] datasetArr = getOutputData( responseWrapper.getPubdidArr(), - responseWrapper.coord, // VLKB: calc ovelrap-code in Spectrum - responseWrapper.queryString, + coord,// VLKB: calc ovelrap-code in Spectrum settings.serviceUrls.cutoutUrl()); SearchOutputData searchOutputData = SearchOutputData.marshall( datasetArr, responseWrapper.auth, - responseWrapper.coord, // VLKB: calc Vertices - responseWrapper.subsurveyId, + coord, // VLKB: calc Vertices + subsurveyId, settings.serviceUrls.mergeUrl(), dbSubsurveyArr); @@ -118,7 +120,7 @@ public class FormatResponseFilter implements Filter } else if(respFormat.equals("application/x-votable+xml")) { - response.setContentType("application/xml");//respFormat); + response.setContentType("application/xml"); boolean showDuration = false; XmlSerializer.serializeToVoTable(responseWriter, RESPONSE_ENCODING, searchOutputData,showDuration,startTime_msec); } @@ -189,7 +191,7 @@ public class FormatResponseFilter implements Filter - private Dataset[] getOutputData(String[] pubdidArr, Coord coord, String queryString, String fitsRemotePath) + private Dataset[] getOutputData(String[] pubdidArr, Coord coord, String fitsRemotePath) { LOGGER.info("trace"); @@ -201,14 +203,14 @@ public class FormatResponseFilter implements Filter FormatResponseFilter.ObsCore[] obsCoreArr = dbps.queryOutputData(pubdidArr, coord); - return convert(obsCoreArr, coord, queryString, fitsRemotePath); + return convert(obsCoreArr, coord, fitsRemotePath); } - private Dataset[] convert(FormatResponseFilter.ObsCore[] obsCoreArr, Coord coord, String queryString, String fitsRemotePath) + private Dataset[] convert(FormatResponseFilter.ObsCore[] obsCoreArr, Coord coord, String fitsRemotePath) { List<Dataset> datasetList = new ArrayList<Dataset>(); @@ -218,7 +220,6 @@ public class FormatResponseFilter implements Filter dataset.obsCore = obsCore; - dataset.queryString = queryString; dataset.subsurvey_id = obsCore.obs_collection; dataset.overlapCodeSky = convertToOverlapCodeSky(obsCore.inputInsideDb, obsCore.dbInsideInput); dataset.overlapCodeVel = convertToOverlapCodeVel(coord, obsCore.em_valid, obsCore.em_min, obsCore.em_max); @@ -227,7 +228,7 @@ public class FormatResponseFilter implements Filter dataset.publisherDid = obsCore.obs_publisher_did; dataset.access.accessFileUrl = obsCore.access_url; - dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&"+queryString;//coord.toVoQueryString(); + dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&" + coord.toVoQueryString(); //dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&" + queryString; dataset.access.accessMosaicUrl = null; diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java index 97a425f..73e1cd0 100644 --- a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java +++ b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java @@ -43,7 +43,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet legacyLogEntry(request); Map<String, String[]> params = request.getParameterMap(); - String queryString = request.getQueryString(); try { @@ -76,9 +75,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet FormatResponseWrapper responseWrapper = (FormatResponseWrapper) response; responseWrapper.setPubdidArr(pubdidArr); - responseWrapper.coord = coord; - responseWrapper.subsurveyId = subsurveyId; - responseWrapper.queryString = queryString; } else { -- GitLab