diff --git a/data-discovery/src/main/java/vlkb/output/Dataset.java b/data-discovery/src/main/java/vlkb/output/Dataset.java index ef110679f34514ec0b0b2d1acc719adc3b0fb0eb..015f291a19d0f09757906b21c42155ce810a7895 100644 --- a/data-discovery/src/main/java/vlkb/output/Dataset.java +++ b/data-discovery/src/main/java/vlkb/output/Dataset.java @@ -59,7 +59,7 @@ class Dataset } - public Dataset(List<Dataset> datasetList, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, String mergeUrlRoot) + public Dataset(List<Dataset> datasetList, AuthPolicy auth, /*Coord coord,*/ SubsurveyId subsurveyId, String mergeUrlRoot, String mergeQueryString) { this.subsurvey_id = datasetList.get(0).subsurvey_id; // mergeabiity condition is more then 1 element in list this.overlapCode = 5; // 5: exact match --> legacy used 0 here FIXME 5 will not be correct on edges of Subsurvey coverage @@ -69,9 +69,9 @@ class Dataset this.access = new Access(); this.access.accessFileUrl = null; this.access.accessCutoutUrl = null; - this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" + coord.toVoQueryString(); + this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" + mergeQueryString;// coord.toVoQueryString(); - this.vertices_deg = mergeVertices(datasetList, /*inputs.*/coord); + //this.vertices_deg = mergeVertices(datasetList, /*inputs.*/coord); } @@ -103,7 +103,7 @@ class Dataset return sb.toString(); } - +/* private Vertices mergeVertices(List<Dataset> datasetList, Coord coord) { // FIXME for now simply return input defined rectangle vertices @@ -139,6 +139,6 @@ class Dataset return vert; } - +*/ } diff --git a/data-discovery/src/main/java/vlkb/output/SearchOutputData.java b/data-discovery/src/main/java/vlkb/output/SearchOutputData.java index 1a083648c0e23e28eb7cf40465d18e30b129f547..08e0ae76aa65e43279ddf98f8e413ac668e54ca7 100644 --- a/data-discovery/src/main/java/vlkb/output/SearchOutputData.java +++ b/data-discovery/src/main/java/vlkb/output/SearchOutputData.java @@ -15,7 +15,8 @@ class SearchOutputData Subsurvey[] subsurveyArr; - public static SearchOutputData marshall(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, String mergeUrlRoot, Subsurvey[] dbSubsurveys) + public static SearchOutputData marshall(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, + String mergeUrlRoot, String mergeQueryString, Subsurvey[] dbSubsurveys) { SearchOutputData sod = new SearchOutputData(); @@ -26,11 +27,13 @@ class SearchOutputData sod.versionString = "Search (pgSphere) version " + Version.asString; sod.datacubeCount = datasetArr.length; - sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, coord, subsurveyId, dbSubsurveys, mergeUrlRoot); + sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, subsurveyId, dbSubsurveys, mergeUrlRoot, mergeQueryString); return sod; } - private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys, String mergeUrlRoot) + private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, + AuthPolicy auth, SubsurveyId subsurveyId, Subsurvey[] dbSubsurveys, + String mergeUrlRoot, String mergeQueryString) { List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>(); @@ -46,7 +49,7 @@ class SearchOutputData { if( Dataset.areDatasetsMergeable(datasetList) ) { - Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, mergeUrlRoot); + Dataset mergedDataset = new Dataset(datasetList, auth, subsurveyId, mergeUrlRoot, mergeQueryString); datasetList.add(mergedDataset); } @@ -65,7 +68,7 @@ class SearchOutputData if( Dataset.areDatasetsMergeable(datasetList) ) { - Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, mergeUrlRoot); + Dataset mergedDataset = new Dataset(datasetList, auth, subsurveyId, mergeUrlRoot, mergeQueryString); datasetList.add(mergedDataset); } diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index 9b5e276a37a962d85da20e5e8f130d41fe625c33..4078d763fa7c647b39de14902b25d6a613a17a2e 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -98,22 +98,26 @@ public class FormatResponseFilter implements Filter SubsurveyId subsurveyId = new SubsurveyId(params); // FIXME add invalid param excpetions -> params already parsed in servlet - Dataset[] datasetArr = queryObsCore( - pubdidArr, - coord,// VLKB: calc ovelrap-codes - settings.serviceUrls.cutoutUrl()); + ObsCore[] obsCoreArr = queryObsCore(pubdidArr, + coord); // VLKB: calc overlap-code for sky + + Dataset[] datasetArr = convert(obsCoreArr, + coord, // VLKB: calc overlap-code for velocity + settings.serviceUrls.cutoutUrl(), + coord.toVoQueryString()); SearchOutputData searchOutputData = SearchOutputData.marshall( datasetArr, responseWrapper.auth, - coord, // VLKB: calc Vertices + coord, // VLKB: only for xml VLKB-legacy <input> tag subsurveyId, settings.serviceUrls.mergeUrl(), + coord.toVoQueryString(), dbSubsurveyArr); final String respFormat = settings.serviceUrls.responseFormat(); LOGGER.info("responseFormat: " + respFormat); - + response.setCharacterEncoding(RESPONSE_ENCODING); if(respFormat.equals("application/x-vlkb+xml")) @@ -203,7 +207,7 @@ public class FormatResponseFilter implements Filter - private Dataset[] queryObsCore(String[] pubdidArr, Coord coord, String fitsRemotePath) + private FormatResponseFilter.ObsCore[] queryObsCore(String[] pubdidArr, Coord coord)//, String fitsRemotePath) { LOGGER.info("trace"); @@ -213,16 +217,17 @@ public class FormatResponseFilter implements Filter dbps = new DbPSearch(); } - FormatResponseFilter.ObsCore[] obsCoreArr = dbps.queryOutputData(pubdidArr, coord); - - return convert(obsCoreArr, coord, fitsRemotePath); + return dbps.queryOutputData(pubdidArr, coord); + //FormatResponseFilter.ObsCore[] obsCoreArr = dbps.queryOutputData(pubdidArr, coord); + //return convert(obsCoreArr, coord, fitsRemotePath); } - private Dataset[] convert(FormatResponseFilter.ObsCore[] obsCoreArr, Coord coord, String fitsRemotePath) + private Dataset[] convert(FormatResponseFilter.ObsCore[] obsCoreArr, Coord coord, + String cutoutUrlRoot, String cutoutQueryString) { List<Dataset> datasetList = new ArrayList<Dataset>(); @@ -240,8 +245,7 @@ public class FormatResponseFilter implements Filter dataset.publisherDid = obsCore.obs_publisher_did; dataset.access.accessFileUrl = obsCore.access_url; - dataset.access.accessCutoutUrl = fitsRemotePath + "?ID=" + dataset.publisherDid + "&" + coord.toVoQueryString(); - //dataset.access.accessCutoutUrl = fitsRemotePath + "?pubdid=" + dataset.publisherDid + "&" + queryString; + dataset.access.accessCutoutUrl = cutoutUrlRoot + "?ID=" + dataset.publisherDid + "&" + cutoutQueryString; dataset.access.accessMosaicUrl = null; dataset.vertices_deg = convertToVertices(obsCore.vertices_str);