From fa3050c3b397352e437211eee2460e65a4943d75 Mon Sep 17 00:00:00 2001 From: Robert Butora <robert.butora@gmail.com> Date: Sat, 23 Mar 2024 12:12:28 -0400 Subject: [PATCH] votable: adds datacubeCount as PARAM metadata to the table --- .../main/java/vlkb/output/XmlSerializer.java | 26 +++++-------------- .../vlkb/webapi/FormatResponseFilter.java | 2 +- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java index dfc95ec..66d33d8 100644 --- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java +++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java @@ -19,34 +19,22 @@ public final class XmlSerializer private XmlSerializer() {} // disables instatiation public static void serializeToVoTable(PrintWriter writer, String charEncoding, SearchOutputData searchOutputData, - boolean showDuration, long startTime_msec) + boolean showDuration, long startTime_msec) throws IOException { - // writer.println("<msg> " + searchOutputData.versionString + " </msg>"); // writer.println("<DatacubeCount> " + searchOutputData.datacubeCount + " </DatacubeCount>"); StarTable dstable = makeSearchResultsTable( searchOutputData.subsurveyArr ); + dstable.setParameter(new DescribedValue(new DefaultValueInfo( "datacubeCount", Integer.class, "Count of datacubes from VLKB-search" ), searchOutputData.datacubeCount ) ); StarTable[] tables = {dstable}; - try - { - writeTables(writer, tables); - } - catch(IOException ex) - { - ;// FIXME System.out.println( ex.getMessage() ); - } - } - - private static void writeTables(PrintWriter writer, StarTable[] tables ) throws IOException - { - BufferedWriter out = new BufferedWriter( writer /*new OutputStreamWriter( System.out )*/ ); + BufferedWriter out = new BufferedWriter( writer ); out.write( "<VOTABLE version='1.1'>\n" ); out.write( "<RESOURCE>\n" ); - out.write( "<DESCRIPTION>Some tables</DESCRIPTION>\n" ); - for ( int i = 0; i < tables.length; i++ ) { - VOSerializer.makeSerializer( DataFormat.TABLEDATA, tables[ i ] ) - .writeInlineTableElement( out ); + out.write( "<DESCRIPTION> " + searchOutputData.versionString + " </DESCRIPTION>\n" ); + for ( int i = 0; i < tables.length; i++ ) + { + VOSerializer.makeSerializer( DataFormat.TABLEDATA, tables[ i ] ).writeInlineTableElement( out ); } out.write( "</RESOURCE>\n" ); out.write( "</VOTABLE>\n" ); diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index 20e75ed..961a37b 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -123,7 +123,7 @@ public class FormatResponseFilter implements Filter } else if(respFormat.equals("application/x-votable+xml")) { - response.setContentType(respFormat); + response.setContentType("application/xml");//respFormat); boolean showDuration = false; XmlSerializer.serializeToVoTable(responseWriter, RESPONSE_ENCODING, searchOutputData,showDuration,startTime_msec); } -- GitLab