diff --git a/data-discovery/src/main/java/webapi/formatfilter/ObscoreExt.java b/data-discovery/src/main/java/webapi/formatfilter/ObscoreExt.java index 3d46d175f55d867c0e2348284f3db9450ed5f7c2..cec53fc688812177038453512e2e21674497f28b 100644 --- a/data-discovery/src/main/java/webapi/formatfilter/ObscoreExt.java +++ b/data-discovery/src/main/java/webapi/formatfilter/ObscoreExt.java @@ -12,12 +12,28 @@ class ObscoreExt return colInfo; } + static private ColumnInfo genIntWithNullColInfo(String colLabel, String colDesc) + { + ColumnInfo colInfo = new ColumnInfo( colLabel, Integer.class, colDesc ); + colInfo.setAuxDatum(new DescribedValue(Tables.NULL_VALUE_INFO, Integer.MIN_VALUE)); + return colInfo; + } + + + static private ColumnInfo genLongWithNullColInfo(String colLabel, String colDesc) + { + ColumnInfo colInfo = new ColumnInfo( colLabel, Long.class, colDesc ); + colInfo.setAuxDatum(new DescribedValue(Tables.NULL_VALUE_INFO, Long.MIN_VALUE)); + return colInfo; + } + + public static final ColumnInfo[] OBSCORE_COLINFO = { new ColumnInfo( "dataproduct_type", String.class, "Dataproduct Type (image|cube)" ), - new ColumnInfo( "calib_level", Integer.class, "Calibration level" ), + genIntWithNullColInfo("calib_level", "Calibration level" ), new ColumnInfo( "obs_collection", String.class, "Collection" ), new ColumnInfo( "obs_title", String.class, "Title" ), new ColumnInfo( "obs_id", String.class, "Observation Id" ), @@ -35,25 +51,25 @@ class ObscoreExt 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" ), + genLongWithNullColInfo("s_xel1", "Pixels axis1" ), + genLongWithNullColInfo("s_xel2", "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" ), + genLongWithNullColInfo("t_xel", "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" ), + genLongWithNullColInfo("em_xel", "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" ), + genLongWithNullColInfo("pol_xel", "Polarization pixels" ), new ColumnInfo( "facility_name", String.class, "Facility" ), new ColumnInfo( "instrument_name", String.class, "Instrument" ), @@ -112,9 +128,9 @@ class ObscoreExt public static final ColumnInfo[] VLKB_COLINFO = { - 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" ), + genIntWithNullColInfo("overlap", "Overlap Code" ), + genIntWithNullColInfo("overlapSky", "Overlap Code for Sky axes" ), + genIntWithNullColInfo("overlapSpec", "Overlap Code for Spectral axis" ), new ColumnInfo( "s_region_galactic", String.class, "Region [GALACTIC]" ),