Skip to content
Snippets Groups Projects
Commit 931ca42d authored by Robert Butora's avatar Robert Butora
Browse files

renames class Coord -> QueryArgs

parent 2fc43ff8
No related branches found
No related tags found
No related merge requests found
......@@ -83,23 +83,23 @@ public class DbPSearch
public String[] queryOverlapingPubdid(Coord coord)
public String[] queryOverlapingPubdid(QueryArgs qArgs)
throws Exception
{
LOGGER.fine("trace");
String inputRegion = toPgSphereSqlTypeString(coord.pos);
String dbRegion = toRegionColumnName(coord.pos.system);
String inputRegion = toPgSphereSqlTypeString(qArgs.pos);
String dbRegion = toRegionColumnName(qArgs.pos.system);
String theQuery = "SELECT obs_publisher_did FROM obscore WHERE ("+inputRegion+" && " + dbRegion + ")";
boolean vel_valid = (coord.band != null) && (coord.band.system != Band.System.NONE);
boolean vel_valid = (qArgs.band != null) && (qArgs.band.system != Band.System.NONE);
if(vel_valid)
{
String prefix = toSpecColumnNamePrefix(coord.band.system);
String prefix = toSpecColumnNamePrefix(qArgs.band.system);
String vel_no_overlap
= "((" + prefix + "_min > " + Double.toString(coord.band.getMax())
+ ") OR (" + prefix + "_max < " + Double.toString(coord.band.getMin()) + "))";
= "((" + prefix + "_min > " + Double.toString(qArgs.band.getMax())
+ ") OR (" + prefix + "_max < " + Double.toString(qArgs.band.getMin()) + "))";
theQuery += " AND ( ("+prefix+"_min is null) OR ("+prefix+"_max is null) OR (NOT " + vel_no_overlap + "))";
/* NOTE '... OR (em_min is null)' statement causes to include 2D datasets if they overlap in sky
......@@ -107,34 +107,34 @@ public class DbPSearch
*/
}
if(coord.collection != null)
if(qArgs.collection != null)
{
String addColl = "";
if(coord.collection.length() > 0)
addColl += "(obs_collection LIKE '%" + coord.collection + "%')";
if(qArgs.collection.length() > 0)
addColl += "(obs_collection LIKE '%" + qArgs.collection + "%')";
if(addColl.length() > 0) theQuery += " AND (" + addColl + ")";
}
theQuery += appendIntervalConstraint(coord.fov, "s_fov");
theQuery += appendIntervalConstraint(coord.spatres, "s_resolution");
theQuery += appendIntervalConstraint(coord.specrp, "em_res_power");
theQuery += appendIntervalConstraint(coord.exptime, "t_exptime");
theQuery += appendIntervalConstraint(coord.timeres, "t_resolution");
theQuery += appendIntervalConstraint(qArgs.fov, "s_fov");
theQuery += appendIntervalConstraint(qArgs.spatres, "s_resolution");
theQuery += appendIntervalConstraint(qArgs.specrp, "em_res_power");
theQuery += appendIntervalConstraint(qArgs.exptime, "t_exptime");
theQuery += appendIntervalConstraint(qArgs.timeres, "t_resolution");
theQuery += appendStringMatchConstraint(coord.id, "obs_publisher_did");
theQuery += appendStringMatchConstraint(coord.facility, "facility_name");
theQuery += appendStringMatchConstraint(coord.instrument, "instrument_name");
theQuery += appendStringMatchConstraint(coord.dptype, "dataproduct_type");
theQuery += appendStringMatchConstraint(qArgs.id, "obs_publisher_did");
theQuery += appendStringMatchConstraint(qArgs.facility, "facility_name");
theQuery += appendStringMatchConstraint(qArgs.instrument, "instrument_name");
theQuery += appendStringMatchConstraint(qArgs.dptype, "dataproduct_type");
theQuery += appendStringMatchConstraint(coord.target, "target_name");
theQuery += appendStringMatchConstraint(coord.format, "access_format");
theQuery += appendStringMatchConstraint(qArgs.target, "target_name");
theQuery += appendStringMatchConstraint(qArgs.format, "access_format");
if(coord.calib != null)
theQuery += " AND (" + coord.calib + " = calib_level)";
if(qArgs.calib != null)
theQuery += " AND (" + qArgs.calib + " = calib_level)";
if(coord.maxrec != null)
theQuery += " LIMIT " + coord.maxrec;
if(qArgs.maxrec != null)
theQuery += " LIMIT " + qArgs.maxrec;
//theQuery += " ORDER BY obs_collection";
......@@ -325,7 +325,7 @@ public class DbPSearch
{
if(band.system == Band.System.VELO_LSRK)
{
// FIXME assert coord: vel_min <= vel_max
// FIXME assert qArgs: vel_min <= vel_max
// FIXME assert cube: v_min <= v_max
boolean dbInInp = (band.getMin() <= v_min) && (v_min <= band.getMax())
......@@ -460,7 +460,7 @@ public class DbPSearch
break;
default:
throw new IllegalArgumentException("Coord::shape was: " + pos.shape.toString()
throw new IllegalArgumentException("Pos::shape was: " + pos.shape.toString()
+ " but valid is CIRCLE or RANGE or POLYGON");
}
......
import vo.parameter.*;
class Coord
class QueryArgs
{
Pos pos;
Band band;
......
......@@ -44,37 +44,37 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
{
Map<String, String[]> params = request.getParameterMap();
Coord coord = new Coord();
coord.pos = Pos.parsePos(params, DEFAULT_SKY_SYSTEM);
coord.band = Band.parseBand(params, DEFAULT_SPEC_SYSTEM);
coord.time = Time.parseTime(params, DEFAULT_TIME_SYSTEM);
coord.pol = Pol.parsePol(params);
QueryArgs qArgs = new QueryArgs();
qArgs.pos = Pos.parsePos(params, DEFAULT_SKY_SYSTEM);
qArgs.band = Band.parseBand(params, DEFAULT_SPEC_SYSTEM);
qArgs.time = Time.parseTime(params, DEFAULT_TIME_SYSTEM);
qArgs.pol = Pol.parsePol(params);
coord.fov = Interval.parseInterval(params, "FOV");
coord.spatres = Interval.parseInterval(params, "SPATRES");
coord.specrp = Interval.parseInterval(params, "SPECRP");
coord.exptime = Interval.parseInterval(params, "EXPTIME");
coord.timeres = Interval.parseInterval(params, "TIMERES");
qArgs.fov = Interval.parseInterval(params, "FOV");
qArgs.spatres = Interval.parseInterval(params, "SPATRES");
qArgs.specrp = Interval.parseInterval(params, "SPECRP");
qArgs.exptime = Interval.parseInterval(params, "EXPTIME");
qArgs.timeres = Interval.parseInterval(params, "TIMERES");
coord.id = SingleStringParam.parseSingleStringParam(params, "ID");
qArgs.id = SingleStringParam.parseSingleStringParam(params, "ID");
coord.collection = SingleStringParam.parseSingleStringParam(params, "COLLECTION");
coord.facility = SingleStringParam.parseSingleStringParam(params, "FACILITY");
coord.instrument = SingleStringParam.parseSingleStringParam(params, "INSTRUMENT");
coord.dptype = SingleStringParam.parseSingleStringParam(params, "DPTYPE");
qArgs.collection = SingleStringParam.parseSingleStringParam(params, "COLLECTION");
qArgs.facility = SingleStringParam.parseSingleStringParam(params, "FACILITY");
qArgs.instrument = SingleStringParam.parseSingleStringParam(params, "INSTRUMENT");
qArgs.dptype = SingleStringParam.parseSingleStringParam(params, "DPTYPE");
coord.target = SingleStringParam.parseSingleStringParam(params, "TARGET");
coord.format = SingleStringParam.parseSingleStringParam(params, "FORMAT");
qArgs.target = SingleStringParam.parseSingleStringParam(params, "TARGET");
qArgs.format = SingleStringParam.parseSingleStringParam(params, "FORMAT");
String str = SingleStringParam.parseSingleStringParam(params, "CALIB");
coord.calib = (str == null) ? null : Integer.parseInt(str);
if((coord.calib != null) && ((coord.calib < 0) || (coord.calib > 4)))
throw new IllegalArgumentException("CALIB out of range: " + coord.calib + " but allowed is 0..4");
qArgs.calib = (str == null) ? null : Integer.parseInt(str);
if((qArgs.calib != null) && ((qArgs.calib < 0) || (qArgs.calib > 4)))
throw new IllegalArgumentException("CALIB out of range: " + qArgs.calib + " but allowed is 0..4");
str = SingleStringParam.parseSingleStringParam(params, "MAXREC");
coord.maxrec = (str == null) ? null : Integer.parseInt(str);
if((coord.maxrec != null) && (coord.maxrec < 0))
throw new IllegalArgumentException("MAXREC must not be negative: " + coord.maxrec);
qArgs.maxrec = (str == null) ? null : Integer.parseInt(str);
if((qArgs.maxrec != null) && (qArgs.maxrec < 0))
throw new IllegalArgumentException("MAXREC must not be negative: " + qArgs.maxrec);
/* query Obscore table */
......@@ -83,7 +83,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
{
dbps = new DbPSearch(settings.dbConn);
}
String[] pubdidArr = dbps.queryOverlapingPubdid(coord);
String[] pubdidArr = dbps.queryOverlapingPubdid(qArgs);
LOGGER.info("Found " + pubdidArr.length + " records");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment