diff --git a/data-discovery/src/main/java/vlkb/search/DbPSearch.java b/data-discovery/src/main/java/vlkb/search/DbPSearch.java index 2916825fb8d0782dc5c350f6dc20954399fc80a9..eb00fb7b8b4d14e247eccdef2e4729cd5d2b53fa 100644 --- a/data-discovery/src/main/java/vlkb/search/DbPSearch.java +++ b/data-discovery/src/main/java/vlkb/search/DbPSearch.java @@ -27,57 +27,6 @@ public class DbPSearch private static final String DB_DRIVER = "org.postgresql.Driver"; - public Subsurvey[] getSurveyTable() - { - List<Subsurvey> survList = new ArrayList<Subsurvey>(); - - String theQuery = "SELECT name,species,transition,rest_frequency,restf_fits_unit,velocity_fits_unit,description FROM surveys"; - - - LOGGER.info("Connecting to: " + dbConn.uri() + " with optional user/pwd: " + dbConn.userName() +" / "+ dbConn.password() ); - try( - Connection conn = DriverManager.getConnection(dbConn.uri(), dbConn.userName(), dbConn.password()); - Statement st = conn.createStatement(); - ResultSet res = st.executeQuery(theQuery);) - { - //ResultSet res = doQuery(theQuery); - - if(res == null) - { - LOGGER.info("Query yielded no resuls: " + theQuery); - } - else - { - while (res.next()) - { - Subsurvey surv = new Subsurvey(); - surv.rf = res.getDouble("rest_frequency"); - surv.surveyname = res.getString("name"); - surv.species = res.getString("species"); - surv.transition = res.getString("transition"); - surv.rf_unit = res.getString("restf_fits_unit"); - surv.vel_unit = res.getString("velocity_fits_unit"); - surv.description = res.getString("description"); - - survList.add(surv); - } - } - } - catch (SQLException se) - { - logSqlExInfo(se); - se.printStackTrace(); - } -/* catch (ClassNotFoundException e) - { - LOGGER.info("DB driver "+ DB_DRIVER +" not found: " + e.getMessage()); - e.printStackTrace(); - } -*/ - return survList.toArray(new Subsurvey[0]); - } - - public String[] queryOverlapingPubdid(Coord coord, SubsurveyId subsurveyId) { LOGGER.info("trace"); @@ -251,7 +200,8 @@ public class DbPSearch } String commaSepPubdids = String.join("\',\'", pubdidArr); - String theQuery ="SELECT dataproduct_type,obs_publisher_did,obs_collection,polygon_region_galactic,access_url,em_min,em_max," + //String theQuery ="SELECT dataproduct_type,obs_publisher_did,obs_collection,polygon_region_galactic,access_url,em_min,em_max," + String theQuery ="SELECT *," + inputRegion + " <@ polygon_region_galactic AS inputInsideDb, " + inputRegion + " @> polygon_region_galactic AS dbInsideInput FROM obscore WHERE (obs_publisher_did IN (\'"+commaSepPubdids+"\'))"; @@ -273,13 +223,11 @@ public class DbPSearch while (res.next()) { FormatResponseFilter.ObsDataset obsDataset = new FormatResponseFilter.ObsDataset(); - obsDataset.data_type = res.getString("dataproduct_type"); - obsDataset.pubdid_str = res.getString("obs_publisher_did"); - obsDataset.subsurvey_id = res.getString("obs_collection"); - obsDataset.vertices_str = res.getString("polygon_region_galactic"); - obsDataset.access_url = res.getString("access_url"); - obsDataset.inputInsideDb = res.getBoolean("inputInsideDb"); - obsDataset.dbInsideInput = res.getBoolean("dbInsideInput"); + + obsDataset.dataproduct_type = res.getString("dataproduct_type"); + obsDataset.obs_publisher_did = res.getString("obs_publisher_did"); + obsDataset.obs_collection = res.getString("obs_collection"); + obsDataset.access_url = res.getString("access_url"); obsDataset.em_min = res.getDouble("em_min"); boolean em_min_valid = !res.wasNull(); @@ -287,6 +235,10 @@ public class DbPSearch boolean em_max_valid = !res.wasNull(); obsDataset.em_valid = em_min_valid && em_max_valid;; + obsDataset.vertices_str = res.getString("polygon_region_galactic"); + obsDataset.inputInsideDb = res.getBoolean("inputInsideDb"); + obsDataset.dbInsideInput = res.getBoolean("dbInsideInput"); + obsDatasetList.add(obsDataset); } @@ -297,12 +249,6 @@ public class DbPSearch logSqlExInfo(se); se.printStackTrace(); } -/* catch (ClassNotFoundException e) - { - LOGGER.info("DB driver "+ DB_DRIVER +" not found: " + e.getMessage()); - e.printStackTrace(); - } -*/ FormatResponseFilter.ObsDataset[] cubes = obsDatasetList.toArray(new FormatResponseFilter.ObsDataset[0]); @@ -358,6 +304,51 @@ public class DbPSearch return res; } */ +/* public Subsurvey[] getSurveyTable() + { + List<Subsurvey> survList = new ArrayList<Subsurvey>(); + + String theQuery = "SELECT name,species,transition,rest_frequency,restf_fits_unit,velocity_fits_unit,description FROM surveys"; + + + LOGGER.info("Connecting to: " + dbConn.uri() + " with optional user/pwd: " + dbConn.userName() +" / "+ dbConn.password() ); + try( + Connection conn = DriverManager.getConnection(dbConn.uri(), dbConn.userName(), dbConn.password()); + Statement st = conn.createStatement(); + ResultSet res = st.executeQuery(theQuery);) + { + //ResultSet res = doQuery(theQuery); + + if(res == null) + { + LOGGER.info("Query yielded no resuls: " + theQuery); + } + else + { + while (res.next()) + { + Subsurvey surv = new Subsurvey(); + surv.rf = res.getDouble("rest_frequency"); + surv.surveyname = res.getString("name"); + surv.species = res.getString("species"); + surv.transition = res.getString("transition"); + surv.rf_unit = res.getString("restf_fits_unit"); + surv.vel_unit = res.getString("velocity_fits_unit"); + surv.description = res.getString("description"); + + survList.add(surv); + } + } + } + catch (SQLException se) + { + logSqlExInfo(se); + se.printStackTrace(); + } + return survList.toArray(new Subsurvey[0]); + } +*/ + diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index ce830564c041319f49e721f9363000b405548bc0..0d6d265e1324a3ef536c68b7d43dc0434d5e6354 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -154,17 +154,19 @@ public class FormatResponseFilter implements Filter /* FIXME type needed in DbPSearch */ static class ObsDataset { - String data_type; - String pubdid_str; - String subsurvey_id; - String vertices_str; + String dataproduct_type; + String obs_publisher_did; + String obs_collection; String access_url; - boolean inputInsideDb; - boolean dbInsideInput; - boolean em_valid; double em_min; double em_max; + boolean em_valid; + + String vertices_str; + boolean inputInsideDb; + boolean dbInsideInput; + } @@ -195,12 +197,12 @@ public class FormatResponseFilter implements Filter { Dataset dataset = new Dataset(); - dataset.subsurvey_id = obsDataset.subsurvey_id; + dataset.subsurvey_id = obsDataset.obs_collection; dataset.overlapCodeSky = convertToOverlapCodeSky(obsDataset.inputInsideDb, obsDataset.dbInsideInput); dataset.overlapCodeVel = convertToOverlapCodeVel(coord, obsDataset.em_valid, obsDataset.em_min, obsDataset.em_max); dataset.overlapCode = convertToOverlapCode(dataset.overlapCodeSky, dataset.overlapCodeVel); - dataset.dataType = obsDataset.data_type; - dataset.publisherDid = obsDataset.pubdid_str; + dataset.dataType = obsDataset.dataproduct_type; + dataset.publisherDid = obsDataset.obs_publisher_did; dataset.access.accessFileUrl = obsDataset.access_url; dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&" + queryString;