diff --git a/data-discovery/src/main/java/vlkb/common/Coord.java b/data-discovery/src/main/java/vlkb/common/Coord.java index f28b423b60d4cfb28f4c324c345bf12f02c112c5..0159ddb8e89794a1866a570f6ed6a9db47b1e2d2 100644 --- a/data-discovery/src/main/java/vlkb/common/Coord.java +++ b/data-discovery/src/main/java/vlkb/common/Coord.java @@ -317,6 +317,40 @@ class Coord } + String toVoQueryString() + { + StringBuilder sb = new StringBuilder(); + + sb.append("skysystem=" + skySystem); + + switch(shape) + { + case "CIRCLE" : + sb.append("&POS=CIRCLE " + lon + " " + lat + " " + + radius ); + break; + + case "RECT" : + if(vel_valid) + sb.append("&POS=RANGE=" + + " " + (lon - dlon) + " " + (lon + dlon) + + " " + (lat - dlat) + " " + (lat + dlat) + + " " + vel_low + " " + vel_up ); + + else + sb.append("&POS=RANGE=" + + " " + (lon - dlon) + " " + (lon + dlon) + + " " + (lat - dlat) + " " + (lat + dlat) ); + break; + + default: + ;// ERROR internal err FIXME writer.println("<shape> unknown shape: "+ shape +" </shape>"); + } + + return sb.toString(); + } + + + diff --git a/data-discovery/src/main/java/vlkb/output/Inputs.java b/data-discovery/src/main/java/vlkb/output/Inputs.java index 22bfd24ca4b4b9b8a8ac4228418375bd643fb582..f244b8a5277b20a260ed53c414b5f87c8152e4db 100644 --- a/data-discovery/src/main/java/vlkb/output/Inputs.java +++ b/data-discovery/src/main/java/vlkb/output/Inputs.java @@ -19,7 +19,8 @@ class Inputs this.countNullValues = countNullValues; this.auth = auth; - queryString = buildQueryString(coord, subsurveyId, countNullValues); + queryString = buildVoQueryString(coord, subsurveyId, countNullValues); + //queryString = buildQueryString(coord, subsurveyId, countNullValues); } @@ -35,5 +36,17 @@ class Inputs return queryString.toString(); } + private String buildVoQueryString(Coord coord, SubsurveyId subsurveyId, boolean countNullValues) + { + StringBuilder queryString = new StringBuilder(); + + queryString.append(coord.toVoQueryString()); + if(subsurveyId.surveyName != null) queryString.append("&surveyname=" + subsurveyId.surveyName); + if(subsurveyId.species != null) queryString.append("&species=" + subsurveyId.species); + if(subsurveyId.transition != null) queryString.append("&transition=" + subsurveyId.transition); + + return queryString.toString(); + } + } diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index 961a37bca271986047d49329287f084033aab993..ac1762b1f3f0371aba95725a9e86501ced322e41 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -203,7 +203,8 @@ public class FormatResponseFilter implements Filter dataset.publisherDid = obsDataset.pubdid_str; dataset.access.accessFileUrl = obsDataset.access_url; - dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&" + queryString; + dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&" + queryString; + //dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&" + queryString; dataset.access.accessMosaicUrl = null; dataset.vertices_deg = convertToVertices(obsDataset.vertices_str);