Loading data-discovery/src/main/java/vlkb/output/XmlSerializer.java +13 −13 Original line number Diff line number Diff line Loading @@ -172,25 +172,25 @@ final class XmlSerializer xml.append("<SkySystem>"+coord.pos.system+"</SkySystem>"); switch(coord.pos.shape) { case "CIRCLE" : xml.append("<l>"+coord.pos.circle.lon+"</l>"); xml.append("<b>"+coord.pos.circle.lat+"</b>"); case CIRCLE: xml.append("<l>" + String.valueOf(coord.pos.circle.lon) + "</l>"); xml.append("<b>" + String.valueOf(coord.pos.circle.lat) + "</b>"); xml.append("<r>" + String.valueOf(coord.pos.circle.radius)+"</r>"); break; case "RECT" : xml.append("<l>"+(coord.pos.range.lon1+ coord.pos.range.lon2)/2.0 + "</l>"); xml.append("<b>"+(coord.pos.range.lat1+ coord.pos.range.lat2)/2.0 + "</b>"); case RANGE: xml.append("<l>" + String.valueOf((coord.pos.range.lon1 + coord.pos.range.lon2)/2.0) + "</l>"); xml.append("<b>" + String.valueOf((coord.pos.range.lat1 + coord.pos.range.lat2)/2.0) + "</b>"); xml.append("<dl>" + String.valueOf(coord.pos.range.lon2 - coord.pos.range.lon1) + "</dl>"); xml.append("<db>" + String.valueOf(coord.pos.range.lat2 - coord.pos.range.lat1) + "</db>"); break; default: default: // POLYGON was not used in VLKB-legacy -> let it fail with error xml.append("<shape> unknown shape: " + coord.pos.shape + " </shape>"); } } if(coord.band != null) { xml.append("<vl>" + String.valueOf(coord.band.wavelength[0]) +"</vl>"); xml.append("<vu>" + String.valueOf(coord.band.wavelength[1]) +"</vu>"); xml.append("<vl>" + String.valueOf(coord.band.getMin()) +"</vl>"); xml.append("<vu>" + String.valueOf(coord.band.getMax()) +"</vu>"); xml.append("<vtype>"+ coord.band.system +"</vtype>"); } Loading data-discovery/src/main/java/vlkb/search/DbPSearch.java +42 −41 Original line number Diff line number Diff line Loading @@ -48,8 +48,8 @@ public class DbPSearch if(vel_valid) { String vel_no_overlap = "((em_min > " + Double.toString(coord.band.wavelength[1]) + ") OR (em_max < " + Double.toString(coord.band.wavelength[0]) + "))"; = "((em_min > " + Double.toString(coord.band.getMax()) + ") OR (em_max < " + Double.toString(coord.band.getMin()) + "))"; theQuery += " AND ( (NOT " + vel_no_overlap + ") OR (em_min is null) OR (em_max is null))"; /* NOTE '... OR (em_min is null)' statement causes to include 2D datasets if they overlap in sky Loading Loading @@ -217,18 +217,17 @@ public class DbPSearch String inputRegion = null; String shape = pos.shape; if(shape.equals("CIRCLE")) switch(pos.shape) { case CIRCLE: lon = pos.circle.lon; lat = pos.circle.lat; radius = pos.circle.radius; inputRegion = "scircle '<(" + Double.toString(lon) + "d," + Double.toString(lat) + "d)," + Double.toString(radius) + "d>'"; } else if (shape.equals("RECT")) { break; case RANGE: lon = (pos.range.lon1 + pos.range.lon2)/2.0; lat = (pos.range.lat1 + pos.range.lat2)/2.0; dlon = (pos.range.lon2 - pos.range.lon1)/2.0; Loading @@ -241,9 +240,9 @@ public class DbPSearch String ne_lat = Double.toString(lat + dlat/2.0); inputRegion = "sbox '( ("+ sw_lon + "d, " + sw_lat + "d), (" + ne_lon +"d, " + ne_lat + "d) )'"; } else if (shape.equals("POLYGON")) { break; case POLYGON: // FIXME redefine Polygon as point-array: assert(pos.polygon.lon.length == pos.polygon.lat.length); Loading @@ -254,11 +253,13 @@ public class DbPSearch inputRegion += ", (" + pos.polygon.lon[ii] + "d, " + pos.polygon.lat[ii] + "d)"; } inputRegion += " )'"; break; default: throw new IllegalArgumentException("Coord::shape was: " + pos.shape.toString() + " but valid is CIRCLE or RANGE or POLYGON"); } else { throw new IllegalArgumentException("Coord::shape was: " + shape + " but valid is CIRCLE or RECT"); } return inputRegion; } Loading data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +16 −22 Original line number Diff line number Diff line Loading @@ -303,11 +303,11 @@ public class FormatResponseFilter implements Filter // FIXME assert coord: vel_min <= vel_max // FIXME assert cube: v_min <= v_max boolean dbInInp = (coord.band.wavelength[0] <= v_min) && (v_min <= coord.band.wavelength[1]) && (coord.band.wavelength[0] <= v_max) && (v_max <= coord.band.wavelength[1]); boolean dbInInp = (coord.band.getMin() <= v_min) && (v_min <= coord.band.getMax()) && (coord.band.getMin() <= v_max) && (v_max <= coord.band.getMax()); boolean inpInDb = (v_min <= coord.band.wavelength[0]) && (coord.band.wavelength[0] <= v_max) && (v_min <= coord.band.wavelength[1] ) && (coord.band.wavelength[1] <= v_max); boolean inpInDb = (v_min <= coord.band.getMin()) && (coord.band.getMin() <= v_max) && (v_min <= coord.band.getMax() ) && (coord.band.getMax() <= v_max); return convertToOverlapCodeSky(inpInDb, dbInInp); Loading Loading @@ -362,35 +362,29 @@ public class FormatResponseFilter implements Filter StringBuilder sb = new StringBuilder(); sb.append("skysystem=" + coord.pos.system); sb.append("POSSYS=" + coord.pos.system.toString()); switch(coord.pos.shape) { case "CIRCLE" : sb.append("&POS=CIRCLE " + coord.pos.circle.lon + " " + coord.pos.circle.lat + " " + coord.pos.circle.radius); case CIRCLE: sb.append("&POS=" + coord.pos.circle.toString()); break; case "RECT" : if(coord.band != null) sb.append("&POS=RANGE=" + " " + coord.pos.range.lon1 + " " + coord.pos.range.lon2 + " " + coord.pos.range.lat1 + " " + coord.pos.range.lat2 + " " + coord.band.wavelength[0] + " " + coord.band.wavelength[1]); else sb.append("&POS=RANGE=" + " " + coord.pos.range.lon1 + " " + coord.pos.range.lon2 + " " + coord.pos.range.lat1 + " " + coord.pos.range.lat2); case RANGE: sb.append("&POS=" + coord.pos.range.toString()); break; case POLYGON: sb.append("&POS=" + coord.pos.polygon.toString()); break; default: LOGGER.info("Coord::toVoQueryString: unknown shape: " + coord.pos.shape); LOGGER.info("Coord::toQueryString: unknown shape: " + coord.pos.shape.toString()); } if(coord.band != null) { sb.append("&BAND= " + coord.band.wavelength[0] + " " + coord.band.wavelength[1]); sb.append("&specsystem=" + coord.band.system ); sb.append("&" + coord.band.toString()); sb.append("&BANDSYS=" + coord.band.system.toString() ); } sb.append("&ID="); // FIXME id-value will be added in FormatResponseFilter Loading java-libs/lib/vlkb-volib-0.9-SNAPSHOT.jar −1.88 KiB (20.7 KiB) File changed.No diff preview for this file type. View original file View changed file Loading
data-discovery/src/main/java/vlkb/output/XmlSerializer.java +13 −13 Original line number Diff line number Diff line Loading @@ -172,25 +172,25 @@ final class XmlSerializer xml.append("<SkySystem>"+coord.pos.system+"</SkySystem>"); switch(coord.pos.shape) { case "CIRCLE" : xml.append("<l>"+coord.pos.circle.lon+"</l>"); xml.append("<b>"+coord.pos.circle.lat+"</b>"); case CIRCLE: xml.append("<l>" + String.valueOf(coord.pos.circle.lon) + "</l>"); xml.append("<b>" + String.valueOf(coord.pos.circle.lat) + "</b>"); xml.append("<r>" + String.valueOf(coord.pos.circle.radius)+"</r>"); break; case "RECT" : xml.append("<l>"+(coord.pos.range.lon1+ coord.pos.range.lon2)/2.0 + "</l>"); xml.append("<b>"+(coord.pos.range.lat1+ coord.pos.range.lat2)/2.0 + "</b>"); case RANGE: xml.append("<l>" + String.valueOf((coord.pos.range.lon1 + coord.pos.range.lon2)/2.0) + "</l>"); xml.append("<b>" + String.valueOf((coord.pos.range.lat1 + coord.pos.range.lat2)/2.0) + "</b>"); xml.append("<dl>" + String.valueOf(coord.pos.range.lon2 - coord.pos.range.lon1) + "</dl>"); xml.append("<db>" + String.valueOf(coord.pos.range.lat2 - coord.pos.range.lat1) + "</db>"); break; default: default: // POLYGON was not used in VLKB-legacy -> let it fail with error xml.append("<shape> unknown shape: " + coord.pos.shape + " </shape>"); } } if(coord.band != null) { xml.append("<vl>" + String.valueOf(coord.band.wavelength[0]) +"</vl>"); xml.append("<vu>" + String.valueOf(coord.band.wavelength[1]) +"</vu>"); xml.append("<vl>" + String.valueOf(coord.band.getMin()) +"</vl>"); xml.append("<vu>" + String.valueOf(coord.band.getMax()) +"</vu>"); xml.append("<vtype>"+ coord.band.system +"</vtype>"); } Loading
data-discovery/src/main/java/vlkb/search/DbPSearch.java +42 −41 Original line number Diff line number Diff line Loading @@ -48,8 +48,8 @@ public class DbPSearch if(vel_valid) { String vel_no_overlap = "((em_min > " + Double.toString(coord.band.wavelength[1]) + ") OR (em_max < " + Double.toString(coord.band.wavelength[0]) + "))"; = "((em_min > " + Double.toString(coord.band.getMax()) + ") OR (em_max < " + Double.toString(coord.band.getMin()) + "))"; theQuery += " AND ( (NOT " + vel_no_overlap + ") OR (em_min is null) OR (em_max is null))"; /* NOTE '... OR (em_min is null)' statement causes to include 2D datasets if they overlap in sky Loading Loading @@ -217,18 +217,17 @@ public class DbPSearch String inputRegion = null; String shape = pos.shape; if(shape.equals("CIRCLE")) switch(pos.shape) { case CIRCLE: lon = pos.circle.lon; lat = pos.circle.lat; radius = pos.circle.radius; inputRegion = "scircle '<(" + Double.toString(lon) + "d," + Double.toString(lat) + "d)," + Double.toString(radius) + "d>'"; } else if (shape.equals("RECT")) { break; case RANGE: lon = (pos.range.lon1 + pos.range.lon2)/2.0; lat = (pos.range.lat1 + pos.range.lat2)/2.0; dlon = (pos.range.lon2 - pos.range.lon1)/2.0; Loading @@ -241,9 +240,9 @@ public class DbPSearch String ne_lat = Double.toString(lat + dlat/2.0); inputRegion = "sbox '( ("+ sw_lon + "d, " + sw_lat + "d), (" + ne_lon +"d, " + ne_lat + "d) )'"; } else if (shape.equals("POLYGON")) { break; case POLYGON: // FIXME redefine Polygon as point-array: assert(pos.polygon.lon.length == pos.polygon.lat.length); Loading @@ -254,11 +253,13 @@ public class DbPSearch inputRegion += ", (" + pos.polygon.lon[ii] + "d, " + pos.polygon.lat[ii] + "d)"; } inputRegion += " )'"; break; default: throw new IllegalArgumentException("Coord::shape was: " + pos.shape.toString() + " but valid is CIRCLE or RANGE or POLYGON"); } else { throw new IllegalArgumentException("Coord::shape was: " + shape + " but valid is CIRCLE or RECT"); } return inputRegion; } Loading
data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +16 −22 Original line number Diff line number Diff line Loading @@ -303,11 +303,11 @@ public class FormatResponseFilter implements Filter // FIXME assert coord: vel_min <= vel_max // FIXME assert cube: v_min <= v_max boolean dbInInp = (coord.band.wavelength[0] <= v_min) && (v_min <= coord.band.wavelength[1]) && (coord.band.wavelength[0] <= v_max) && (v_max <= coord.band.wavelength[1]); boolean dbInInp = (coord.band.getMin() <= v_min) && (v_min <= coord.band.getMax()) && (coord.band.getMin() <= v_max) && (v_max <= coord.band.getMax()); boolean inpInDb = (v_min <= coord.band.wavelength[0]) && (coord.band.wavelength[0] <= v_max) && (v_min <= coord.band.wavelength[1] ) && (coord.band.wavelength[1] <= v_max); boolean inpInDb = (v_min <= coord.band.getMin()) && (coord.band.getMin() <= v_max) && (v_min <= coord.band.getMax() ) && (coord.band.getMax() <= v_max); return convertToOverlapCodeSky(inpInDb, dbInInp); Loading Loading @@ -362,35 +362,29 @@ public class FormatResponseFilter implements Filter StringBuilder sb = new StringBuilder(); sb.append("skysystem=" + coord.pos.system); sb.append("POSSYS=" + coord.pos.system.toString()); switch(coord.pos.shape) { case "CIRCLE" : sb.append("&POS=CIRCLE " + coord.pos.circle.lon + " " + coord.pos.circle.lat + " " + coord.pos.circle.radius); case CIRCLE: sb.append("&POS=" + coord.pos.circle.toString()); break; case "RECT" : if(coord.band != null) sb.append("&POS=RANGE=" + " " + coord.pos.range.lon1 + " " + coord.pos.range.lon2 + " " + coord.pos.range.lat1 + " " + coord.pos.range.lat2 + " " + coord.band.wavelength[0] + " " + coord.band.wavelength[1]); else sb.append("&POS=RANGE=" + " " + coord.pos.range.lon1 + " " + coord.pos.range.lon2 + " " + coord.pos.range.lat1 + " " + coord.pos.range.lat2); case RANGE: sb.append("&POS=" + coord.pos.range.toString()); break; case POLYGON: sb.append("&POS=" + coord.pos.polygon.toString()); break; default: LOGGER.info("Coord::toVoQueryString: unknown shape: " + coord.pos.shape); LOGGER.info("Coord::toQueryString: unknown shape: " + coord.pos.shape.toString()); } if(coord.band != null) { sb.append("&BAND= " + coord.band.wavelength[0] + " " + coord.band.wavelength[1]); sb.append("&specsystem=" + coord.band.system ); sb.append("&" + coord.band.toString()); sb.append("&BANDSYS=" + coord.band.system.toString() ); } sb.append("&ID="); // FIXME id-value will be added in FormatResponseFilter Loading
java-libs/lib/vlkb-volib-0.9-SNAPSHOT.jar −1.88 KiB (20.7 KiB) File changed.No diff preview for this file type. View original file View changed file