Commit 55fa10fe authored by Robert Butora's avatar Robert Butora
Browse files

seprates inclusion of inputs into results-xml for VLKB-legacy only

parent bea5066a
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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.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
      this.overlapCode  = 5; // 5: exact match --> legacy used 0 here FIXME 5 will not be correct on edges of Subsurvey coverage
+7 −12
Original line number Original line Diff line number Diff line
@@ -7,32 +7,27 @@ class SearchOutputData
   private static final Logger LOGGER = Logger.getLogger("SearchOutputData");
   private static final Logger LOGGER = Logger.getLogger("SearchOutputData");


   String description;
   String description;
   AuthPolicy auth;
   Coord coord;
   SubsurveyId subsurveyId;
   int datacubeCount;
   int datacubeCount;
   String versionString;
   String versionString;
   Subsurvey[] subsurveyArr;
   Subsurvey[] subsurveyArr;




   public static SearchOutputData  marshall(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId,
   public static SearchOutputData  marshall(Dataset[] datasetArr,
         String mergeUrlRoot, String mergeQueryString, Subsurvey[] dbSubsurveys)
         SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys,
         String mergeUrlRoot, String mergeQueryString)
   {
   {
      SearchOutputData sod = new SearchOutputData();
      SearchOutputData sod = new SearchOutputData();


      sod.description = "Via Lactea Knowledge Base response (Search by pgSphere)";
      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.versionString = "Search (pgSphere) version " + Version.asString;
      sod.datacubeCount = datasetArr.length;
      sod.datacubeCount = datasetArr.length;


      sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, subsurveyId, dbSubsurveys, mergeUrlRoot, mergeQueryString);
      sod.subsurveyArr = groupBySubsurveys(datasetArr, subsurveyId, dbSubsurveys, mergeUrlRoot, mergeQueryString);
      return sod;
      return sod;
   }
   }


   private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr,
   private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr,
         AuthPolicy auth, SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys,
         SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys,
         String mergeUrlRoot, String mergeQueryString)
         String mergeUrlRoot, String mergeQueryString)
   {
   {
      List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>();
      List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>();
@@ -49,7 +44,7 @@ class SearchOutputData
            {
            {
               if( Dataset.areDatasetsMergeable(datasetList) )
               if( Dataset.areDatasetsMergeable(datasetList) )
               {
               {
                  Dataset mergedDataset = new Dataset(datasetList, auth, subsurveyId, mergeUrlRoot, mergeQueryString);
                  Dataset mergedDataset = new Dataset(datasetList, subsurveyId, mergeUrlRoot, mergeQueryString);
                  datasetList.add(mergedDataset);
                  datasetList.add(mergedDataset);
               }
               }


@@ -68,7 +63,7 @@ class SearchOutputData


         if( Dataset.areDatasetsMergeable(datasetList) )
         if( Dataset.areDatasetsMergeable(datasetList) )
         {
         {
            Dataset mergedDataset = new Dataset(datasetList, auth, subsurveyId, mergeUrlRoot, mergeQueryString);
            Dataset mergedDataset = new Dataset(datasetList, subsurveyId, mergeUrlRoot, mergeQueryString);
            datasetList.add(mergedDataset);
            datasetList.add(mergedDataset);
         }
         }


+6 −4
Original line number Original line Diff line number Diff line
@@ -179,7 +179,9 @@ public final class XmlSerializer


   // legacy
   // 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)
         boolean showDuration, long startTime_msec)
   {
   {
      writer.println("<?xml version=\"1.0\" encoding=\"" + charEncoding + "\" standalone=\"yes\"?>");
      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("<description> " + searchOutputData.description + " </description>");


      writer.println("<inputs>");
      writer.println("<inputs>");
      if(searchOutputData.subsurveyId != null) writer.println(serialize(searchOutputData.subsurveyId));
      if(inputSubsurveyId != null) writer.println(serialize(inputSubsurveyId));
      if(searchOutputData.coord       != null) writer.println(serialize(searchOutputData.coord));
      if(inputCoord       != null) writer.println(serialize(inputCoord));
      if(searchOutputData.auth        != null) writer.println(serialize(searchOutputData.auth));
      if(inputAuth        != null) writer.println(serialize(inputAuth));
      writer.println("</inputs>");
      writer.println("</inputs>");


      writer.println("<msg> " + searchOutputData.versionString + " </msg>");
      writer.println("<msg> " + searchOutputData.versionString + " </msg>");
+7 −7
Original line number Original line Diff line number Diff line
@@ -106,14 +106,11 @@ public class FormatResponseFilter implements Filter
               settings.serviceUrls.cutoutUrl(),
               settings.serviceUrls.cutoutUrl(),
               coord.toVoQueryString());
               coord.toVoQueryString());


         SearchOutputData searchOutputData = SearchOutputData.marshall(
         SearchOutputData searchOutputData = SearchOutputData.marshall(datasetArr,
               datasetArr,
               responseWrapper.auth,
               coord, // VLKB: only for xml VLKB-legacy <input> tag 
               subsurveyId,
               subsurveyId,
               dbSubsurveyArr,
               settings.serviceUrls.mergeUrl(),
               settings.serviceUrls.mergeUrl(),
               coord.toVoQueryString(),
               coord.toVoQueryString());
               dbSubsurveyArr);


         final String respFormat = settings.serviceUrls.responseFormat();
         final String respFormat = settings.serviceUrls.responseFormat();
         LOGGER.info("responseFormat: " + respFormat);
         LOGGER.info("responseFormat: " + respFormat);
@@ -124,7 +121,10 @@ public class FormatResponseFilter implements Filter
         {
         {
            response.setContentType("application/xml");
            response.setContentType("application/xml");
            boolean showDuration = true;
            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"))
         else if(respFormat.equals("application/x-votable+xml"))
         {
         {