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 + "&amp;" + coord.toVoQueryString();///*inputs.*/queryString;
+      this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&amp;" + 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 + "&amp;" + 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