diff --git a/data-discovery/src/main/java/common/SubsurveyId.java b/data-discovery/src/main/java/common/SubsurveyId.java deleted file mode 100644 index 338e3290bceb9cdfac21e51527173520acee22cd..0000000000000000000000000000000000000000 --- a/data-discovery/src/main/java/common/SubsurveyId.java +++ /dev/null @@ -1,57 +0,0 @@ - - -import java.io.PrintWriter; -import java.util.Map; - - - -class SubsurveyId -{ - public String surveyName; - public String species; - public String transition; - - public SubsurveyId(String surveyName, String species, String transition) - { - this.surveyName = surveyName; - this.species = species; - this.transition = transition; - } - - - public SubsurveyId(Map<String, String[]> params) - { - this.surveyName = getFirstValue(params, "surveyname"); - this.species = getFirstValue(params, "species"); - this.transition = getFirstValue(params, "transition"); - } - - // FIXME extend map with this and reuse in both Coord and Subsurvey - private String getFirstValue(Map<String, String[]> map, String key) - { - String[] value = map.get(key); - - if(value == null) - return null; - - if(value.length > 0) // key-value present at least once: return first occurance - return value[0].toString(); - else // length=0: no values present - throw new IllegalArgumentException("parameter " + key + " has no value."); - } - - public String toString() - { - return surveyName + " " + species + " "+ transition; - } - - - public void toXML(PrintWriter writer) - { - if(surveyName != null) writer.println("<SurveyName>"+surveyName+"</SurveyName>"); - if(species != null) writer.println("<Species>"+species+"</Species>"); - if(transition != null) writer.println("<Transition>"+transition+"</Transition>"); - } - - -} diff --git a/data-discovery/src/main/java/search/DbPSearch.java b/data-discovery/src/main/java/search/DbPSearch.java index 10ee843389515de3f02c6880e5e81688d8bd8ea0..42e5748ccf4e884221fb459eb4801f799fab94fe 100644 --- a/data-discovery/src/main/java/search/DbPSearch.java +++ b/data-discovery/src/main/java/search/DbPSearch.java @@ -35,7 +35,7 @@ public class DbPSearch - public String[] queryOverlapingPubdid(Coord coord, SubsurveyId subsurveyId) + public String[] queryOverlapingPubdid(Coord coord) { LOGGER.info("trace"); @@ -58,26 +58,13 @@ public class DbPSearch */ } - if(subsurveyId != null) + if(coord.collection != null) { - /* FIXME replace this implementation with exact string match once survey_id is defined in obs_core */ - - String addSS = ""; - if((subsurveyId.surveyName != null) && (subsurveyId.surveyName.length() > 0)) - addSS += "(obs_collection LIKE '" + subsurveyId.surveyName + "%')"; - - if((subsurveyId.species != null) && (subsurveyId.species.length() > 0) ) - { - if(addSS.length() > 0) addSS += " OR "; - addSS += "(obs_collection LIKE '%" + subsurveyId.species + "%')"; - } - if((subsurveyId.transition != null) && (subsurveyId.transition.length() > 0) ) - { - if(addSS.length() > 0) addSS += " OR "; - addSS += "(obs_collection LIKE '%" + subsurveyId.transition + "')"; - }; - - if(addSS.length() > 0) theQuery += " AND (" + addSS + ")"; + String addColl = ""; + if(coord.collection.length() > 0) + addColl += "(obs_collection LIKE '%" + coord.collection + "%')"; + + if(addColl.length() > 0) theQuery += " AND (" + addColl + ")"; } theQuery += appendIntervalConstraint(coord.fov, "s_fov"); @@ -224,7 +211,7 @@ public class DbPSearch obsCore.vel_min = res.getDouble("vel_min"); //boolean em_min_valid = !res.wasNull(); obsCore.vel_max = res.getDouble("vel_max"); //boolean em_max_valid = !res.wasNull(); - + obsCore.em_min = res.getDouble("em_min"); boolean em_min_valid = !res.wasNull(); obsCore.em_max = res.getDouble("em_max"); boolean em_max_valid = !res.wasNull(); obsCore.em_valid = em_min_valid && em_max_valid;; diff --git a/data-discovery/src/main/java/webapi/SearchServlet.java b/data-discovery/src/main/java/webapi/SearchServlet.java index 7f510fb3dded4be91052b05906c7c5f8151c72a1..3c0e46c2928300a97cc90adc0ecdd8eaebff75e7 100644 --- a/data-discovery/src/main/java/webapi/SearchServlet.java +++ b/data-discovery/src/main/java/webapi/SearchServlet.java @@ -64,8 +64,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet { Map<String, String[]> params = request.getParameterMap(); - SubsurveyId subsurveyId = new SubsurveyId(params); - Coord coord = new Coord(); coord.pos = Pos.parsePos(params, DEFAULT_SKY_SYSTEM); coord.band = Band.parseBand(params, DEFAULT_SPEC_SYSTEM); @@ -105,7 +103,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet { dbps = new DbPSearch(settings.dbConn); } - String[] pubdidArr = dbps.queryOverlapingPubdid(coord, subsurveyId); + String[] pubdidArr = dbps.queryOverlapingPubdid(coord); final String RESPONSE_ENCODING = "UTF-8";