diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java index cd984fdad0ddda82fe0050c0f86b8606d7bf2059..953aeba1c8ccccf34f385ef857ac65817f3292fb 100644 --- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java +++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java @@ -39,91 +39,89 @@ public final class XmlSerializer BufferedWriter out = new BufferedWriter( writer ); out.write("<?xml-stylesheet type='text/xsl' href='VOTable2XHTML.xsl'?>"); - out.write( "<VOTABLE version='1.1'>\n" ); - out.write( "<RESOURCE>\n" ); - out.write( "<DESCRIPTION> " + searchOutputData.versionString + " </DESCRIPTION>\n" ); + out.write( "<VOTABLE version='1.1'>" ); + out.write( "<RESOURCE>" ); + out.write( "<DESCRIPTION> " + searchOutputData.versionString + " </DESCRIPTION>" ); for ( int i = 0; i < tables.length; i++ ) { VOSerializer.makeSerializer( DataFormat.TABLEDATA, tables[ i ] ).writeInlineTableElement( out ); } - out.write( "</RESOURCE>\n" ); - out.write( "</VOTABLE>\n" ); + out.write( "</RESOURCE>" ); + out.write( "</VOTABLE>" ); out.flush(); } + static final ColumnInfo[] OBSCORE_COLINFO = + { + new ColumnInfo( "dataproduct_type", String.class, "Dataproduct Type (image|cube)" ), + new ColumnInfo( "calib_level", Integer.class, "Calibration level" ), + new ColumnInfo( "obs_collection", String.class, "Collection" ), + new ColumnInfo( "obs_id", String.class, "Observation Id" ), + new ColumnInfo( "obs_publisher_did", String.class, "Publisher Did" ), + + new ColumnInfo( "access_url", String.class, "Access URL" ), + new ColumnInfo( "access_format", String.class, "Format (MIME type)" ), + new ColumnInfo( "access_estsize", Long.class, "Extimated size (KB)" ), + + new ColumnInfo( "target_name", String.class, "Target" ), + + new ColumnInfo( "s_ra", Double.class, "Right Ascention" ), + new ColumnInfo( "s_dec", Double.class, "Declination" ), + new ColumnInfo( "s_fov", Double.class, "Field of view" ), + new ColumnInfo( "s_region", String.class, "Region" ), + new ColumnInfo( "s_xel1", Long.class, "Pixels axis1" ), + new ColumnInfo( "s_xel2", Long.class, "Pixels axis2" ), + new ColumnInfo( "s_resolution", Double.class, "Spatial resolution" ), + + new ColumnInfo( "t_min", Double.class, "Time min" ), + new ColumnInfo( "t_max", Double.class, "Time max" ), + new ColumnInfo( "t_exptime", Double.class, "Exposure time" ), + new ColumnInfo( "t_resolution", Double.class, "Time resolution" ), + new ColumnInfo( "t_xel", Long.class, "Time pixels" ), + + new ColumnInfo( "em_min", Double.class, "Spectrum min" ), + new ColumnInfo( "em_max", Double.class, "Spectrum max" ), + new ColumnInfo( "em_res_power", Double.class, "Spectrum resolution power" ), + new ColumnInfo( "em_xel", Long.class, "Spectrum pixels" ), + + new ColumnInfo( "o_ucd", String.class, "Observable UCD" ), + + new ColumnInfo( "pol_states", String.class, "Polarization states" ), + new ColumnInfo( "pol_xel", Long.class, "Polarization pixels" ), + + new ColumnInfo( "facility_name", String.class, "Facility" ), + new ColumnInfo( "instrument_name", String.class, "Instrument" ), + + + // VLKB extensions + new ColumnInfo( "overlap", Integer.class, "Overlap Code" ), + new ColumnInfo( "overlapSky", Integer.class, "Overlap Code for Sky axes" ), + new ColumnInfo( "overlapSpec", Integer.class, "Overlap Code for Spectral axis" ), + + new ColumnInfo( "P1lon", Double.class, "P1 longitude" ), + new ColumnInfo( "P1lat", Double.class, "P1 latitude" ), + new ColumnInfo( "P2lon", Double.class, "P2 longitude" ), + new ColumnInfo( "P2lat", Double.class, "P2 latitude" ), + new ColumnInfo( "P3lon", Double.class, "P3 longitude" ), + new ColumnInfo( "P3lat", Double.class, "P3 latitude" ), + new ColumnInfo( "P4lon", Double.class, "P4 longitude" ), + new ColumnInfo( "P4lat", Double.class, "P4 latitude" ), + + new ColumnInfo( "file_url", String.class, "Access URL: all file" ), + new ColumnInfo( "cutout_url", String.class, "Access URL: cut file" ), + new ColumnInfo( "merge_url", String.class, "Access URL: demosaicing files" ), + + // subsurvey metadata + new ColumnInfo( "velocity_unit", String.class, "Velocity Unit" ), + new ColumnInfo( "survey", String.class, "Survey name" ), + new ColumnInfo( "species", String.class, "Species" ), + new ColumnInfo( "transition", String.class, "Transition" ), + new ColumnInfo( "description", String.class, "Descritpion" ) + }; private static StarTable makeSearchResultsTable(Subsurvey[] ssurv) { - // FIXME make static final - ColumnInfo[] colInfos = - { - new ColumnInfo( "dataproduct_type", String.class, "Dataproduct Type (image|cube)" ), - new ColumnInfo( "calib_level", Integer.class, "Calibration level" ), - new ColumnInfo( "obs_collection", String.class, "Collection" ), - new ColumnInfo( "obs_id", String.class, "Observation Id" ), - new ColumnInfo( "obs_publisher_did", String.class, "Publisher Did" ), - - new ColumnInfo( "access_url", String.class, "Access URL" ), - new ColumnInfo( "access_format", String.class, "Format (MIME type)" ), - new ColumnInfo( "access_estsize", Long.class, "Extimated size (KB)" ), - - new ColumnInfo( "target_name", String.class, "Target" ), - - new ColumnInfo( "s_ra", Double.class, "Right Ascention" ), - new ColumnInfo( "s_dec", Double.class, "Declination" ), - new ColumnInfo( "s_fov", Double.class, "Field of view" ), - new ColumnInfo( "s_region", String.class, "Region" ), - new ColumnInfo( "s_xel1", Long.class, "Pixels axis1" ), - new ColumnInfo( "s_xel2", Long.class, "Pixels axis2" ), - new ColumnInfo( "s_resolution", Double.class, "Spatial resolution" ), - - new ColumnInfo( "t_min", Double.class, "Time min" ), - new ColumnInfo( "t_max", Double.class, "Time max" ), - new ColumnInfo( "t_exptime", Double.class, "Exposure time" ), - new ColumnInfo( "t_resolution", Double.class, "Time resolution" ), - new ColumnInfo( "t_xel", Long.class, "Time pixels" ), - - new ColumnInfo( "em_min", Double.class, "Spectrum min" ), - new ColumnInfo( "em_max", Double.class, "Spectrum max" ), - new ColumnInfo( "em_res_power", Double.class, "Spectrum resolution power" ), - new ColumnInfo( "em_xel", Long.class, "Spectrum pixels" ), - - new ColumnInfo( "o_ucd", String.class, "Observable UCD" ), - - new ColumnInfo( "pol_states", String.class, "Polarization states" ), - new ColumnInfo( "pol_xel", Long.class, "Polarization pixels" ), - - new ColumnInfo( "facility_name", String.class, "Facility" ), - new ColumnInfo( "instrument_name", String.class, "Instrument" ), - - - // VLKB extensions - new ColumnInfo( "overlap", Integer.class, "Overlap Code" ), - new ColumnInfo( "overlapSky", Integer.class, "Overlap Code for Sky axes" ), - new ColumnInfo( "overlapSpec", Integer.class, "Overlap Code for Spectral axis" ), - - new ColumnInfo( "P1lon", Double.class, "P1 longitude" ), - new ColumnInfo( "P1lat", Double.class, "P1 latitude" ), - new ColumnInfo( "P2lon", Double.class, "P2 longitude" ), - new ColumnInfo( "P2lat", Double.class, "P2 latitude" ), - new ColumnInfo( "P3lon", Double.class, "P3 longitude" ), - new ColumnInfo( "P3lat", Double.class, "P3 latitude" ), - new ColumnInfo( "P4lon", Double.class, "P4 longitude" ), - new ColumnInfo( "P4lat", Double.class, "P4 latitude" ), - - new ColumnInfo( "file_url", String.class, "Access URL: all file" ), - new ColumnInfo( "cutout_url", String.class, "Access URL: cut file" ), - new ColumnInfo( "merge_url", String.class, "Access URL: demosaicing files" ), - - // subsurvey metadata - new ColumnInfo( "velocity_unit", String.class, "Velocity Unit" ), - new ColumnInfo( "survey", String.class, "Survey name" ), - new ColumnInfo( "species", String.class, "Species" ), - new ColumnInfo( "transition", String.class, "Transition" ), - new ColumnInfo( "description", String.class, "Descritpion" ) - }; - - RowListStarTable astro = new RowListStarTable( colInfos ); + RowListStarTable astro = new RowListStarTable( OBSCORE_COLINFO ); for(Subsurvey subsurvey : ssurv) {