Loading data-discovery/src/main/java/vlkb/output/Dataset.java +4 −3 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ class Dataset } String queryString;// was in Inputs String subsurvey_id; int overlapCodeSky; int overlapCodeVel; Loading Loading @@ -59,7 +60,7 @@ class Dataset } public Dataset(List<Dataset> datasetList, Inputs inputs, String mergeUrlRoot) public Dataset(List<Dataset> datasetList, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues, String mergeUrlRoot) { 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 Loading @@ -69,9 +70,9 @@ class Dataset this.access = new Access(); this.access.accessFileUrl = null; this.access.accessCutoutUrl = null; this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" +inputs.queryString; this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" + /*inputs.*/queryString; this.vertices_deg = mergeVertices(datasetList, inputs.coord); this.vertices_deg = mergeVertices(datasetList, /*inputs.*/coord); } Loading data-discovery/src/main/java/vlkb/output/Inputs.javadeleted 100644 → 0 +0 −52 Original line number Diff line number Diff line import java.lang.StringBuilder; class Inputs { Coord coord; SubsurveyId subsurveyId; boolean countNullValues; AuthPolicy auth; String queryString; public Inputs(AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues) { this.coord = coord; this.subsurveyId = subsurveyId; this.countNullValues = countNullValues; this.auth = auth; queryString = buildVoQueryString(coord, subsurveyId, countNullValues); //queryString = buildQueryString(coord, subsurveyId, countNullValues); } private String buildQueryString(Coord coord, SubsurveyId subsurveyId, boolean countNullValues) { StringBuilder queryString = new StringBuilder(); queryString.append(coord.toQueryString()); 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(); } 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(); } } data-discovery/src/main/java/vlkb/output/SearchOutputData.java +13 −7 Original line number Diff line number Diff line Loading @@ -7,26 +7,32 @@ class SearchOutputData private static final Logger LOGGER = Logger.getLogger("SearchOutputData"); String description; Inputs inputs; AuthPolicy auth; Coord coord; SubsurveyId subsurveyId; boolean countNullValues; int datacubeCount; String versionString; Subsurvey[] subsurveyArr; public static SearchOutputData marshall(Dataset[] datasetArr, Inputs inputs, String mergeUrlRoot, Subsurvey[] dbSubsurveys) public static SearchOutputData marshall(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues, String mergeUrlRoot, Subsurvey[] dbSubsurveys) { SearchOutputData sod = new SearchOutputData(); sod.description = "Via Lactea Knowledge Base response (Search by pgSphere)"; sod.inputs = inputs; sod.auth = auth; sod.coord = coord; sod.subsurveyId = subsurveyId; sod.countNullValues = countNullValues; sod.versionString = "Search (pgSphere) version " + Version.asString; sod.datacubeCount = datasetArr.length; sod.subsurveyArr = groupBySubsurveys(datasetArr, inputs, dbSubsurveys, mergeUrlRoot); sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, coord, subsurveyId, countNullValues, dbSubsurveys, mergeUrlRoot); return sod; } private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, Inputs inputs, Subsurvey[] dbSubsurveys, String mergeUrlRoot) private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues, Subsurvey[] dbSubsurveys, String mergeUrlRoot) { List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>(); Loading @@ -42,7 +48,7 @@ class SearchOutputData { if( Dataset.areDatasetsMergeable(datasetList) ) { Dataset mergedDataset = new Dataset(datasetList, inputs, mergeUrlRoot); Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, countNullValues, mergeUrlRoot); datasetList.add(mergedDataset); } Loading @@ -62,7 +68,7 @@ class SearchOutputData if( false ) //if( Dataset.areDatasetsMergeable(datasetList) ) { Dataset mergedDataset = new Dataset(datasetList, inputs, mergeUrlRoot); Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, countNullValues, mergeUrlRoot); datasetList.add(mergedDataset); } Loading data-discovery/src/main/java/vlkb/output/XmlSerializer.java +8 −11 Original line number Diff line number Diff line Loading @@ -177,7 +177,14 @@ public final class XmlSerializer writer.println("<?xml version=\"1.0\" encoding=\"" + charEncoding + "\" standalone=\"yes\"?>"); writer.println("<results>"); writer.println("<description> " + searchOutputData.description + " </description>"); serialize(writer, searchOutputData.inputs); writer.println("<inputs>"); if(searchOutputData.subsurveyId != null) writer.println(serialize(searchOutputData.subsurveyId)); if(searchOutputData.coord != null) writer.println(serialize(searchOutputData.coord)); if(searchOutputData.countNullValues) writer.println("<nullvals> set </nullvals>"); if(searchOutputData.auth != null) writer.println(serialize(searchOutputData.auth)); writer.println("</inputs>"); writer.println("<msg> " + searchOutputData.versionString + " </msg>"); writer.println("<DatacubeCount> " + searchOutputData.datacubeCount + " </DatacubeCount>"); for(Subsurvey subsurvey : searchOutputData.subsurveyArr) Loading Loading @@ -234,16 +241,6 @@ public final class XmlSerializer } public static void serialize(PrintWriter writer, Inputs inputs) { writer.println("<input>"); if(inputs.subsurveyId != null) writer.println(serialize(inputs.subsurveyId)); if(inputs.coord != null) writer.println(serialize(inputs.coord)); if(inputs.countNullValues) writer.println("<nullvals> set </nullvals>"); if(inputs.auth != null) writer.println(serialize(inputs.auth)); writer.println("</input>"); } public static void serialize(PrintWriter writer, Subsurvey subsurvey) { writer.println("<survey>"); Loading data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +24 −19 Original line number Diff line number Diff line Loading @@ -16,25 +16,31 @@ import java.nio.charset.Charset; class FormatResponseWrapper extends HttpServletResponseWrapper { private SearchDescription search; AuthPolicy auth; String[] pubdidArr; Coord coord; SubsurveyId subsurveyId; boolean countNullValues; String queryString; public FormatResponseWrapper(HttpServletResponse response) { super(response); search = null; } public void set(SearchDescription search) { this.search = search;} public SearchDescription get() { return this.search;} public void setPubdidArr(String[] pubdidArr) { this.search.pubdidArr = pubdidArr; } public String[] getPubdidArr() { return this.search.pubdidArr; } auth = null; countNullValues = false; } public void setPubdidArr(String[] pubdidArr) { this.pubdidArr = pubdidArr; } public String[] getPubdidArr() { return this.pubdidArr; } public void setAuth(AuthPolicy auth) { assert (this.search.inputs.auth != null); this.search.inputs.auth = auth; // assert (this.search.inputs.auth != null); this.auth = auth; } } Loading Loading @@ -83,18 +89,16 @@ public class FormatResponseFilter implements Filter //if (pubdidWrapper.getContentType().contains("text/plain")) { SearchDescription search = pubdidWrapper.get(); Dataset[] datasetArr = getOutputData( search.pubdidArr, search.inputs.coord, search.inputs.subsurveyId, search.inputs.queryString, pubdidWrapper.getPubdidArr(), pubdidWrapper.coord, pubdidWrapper.subsurveyId, pubdidWrapper.queryString, settings.serviceUrls.cutoutUrl()); SearchOutputData searchOutputData = SearchOutputData.marshall( datasetArr, search.inputs, pubdidWrapper.auth, pubdidWrapper.coord, pubdidWrapper.subsurveyId, pubdidWrapper.countNullValues, settings.serviceUrls.mergeUrl(), dbSubsurveyArr); Loading Loading @@ -210,6 +214,7 @@ public class FormatResponseFilter implements Filter dataset.obsDataset = obsDataset; dataset.queryString = queryString; dataset.subsurvey_id = obsDataset.obs_collection; dataset.overlapCodeSky = convertToOverlapCodeSky(obsDataset.inputInsideDb, obsDataset.dbInsideInput); dataset.overlapCodeVel = convertToOverlapCodeVel(coord, obsDataset.em_valid, obsDataset.em_min, obsDataset.em_max); Loading Loading
data-discovery/src/main/java/vlkb/output/Dataset.java +4 −3 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ class Dataset } String queryString;// was in Inputs String subsurvey_id; int overlapCodeSky; int overlapCodeVel; Loading Loading @@ -59,7 +60,7 @@ class Dataset } public Dataset(List<Dataset> datasetList, Inputs inputs, String mergeUrlRoot) public Dataset(List<Dataset> datasetList, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues, String mergeUrlRoot) { 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 Loading @@ -69,9 +70,9 @@ class Dataset this.access = new Access(); this.access.accessFileUrl = null; this.access.accessCutoutUrl = null; this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" +inputs.queryString; this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&" + /*inputs.*/queryString; this.vertices_deg = mergeVertices(datasetList, inputs.coord); this.vertices_deg = mergeVertices(datasetList, /*inputs.*/coord); } Loading
data-discovery/src/main/java/vlkb/output/Inputs.javadeleted 100644 → 0 +0 −52 Original line number Diff line number Diff line import java.lang.StringBuilder; class Inputs { Coord coord; SubsurveyId subsurveyId; boolean countNullValues; AuthPolicy auth; String queryString; public Inputs(AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues) { this.coord = coord; this.subsurveyId = subsurveyId; this.countNullValues = countNullValues; this.auth = auth; queryString = buildVoQueryString(coord, subsurveyId, countNullValues); //queryString = buildQueryString(coord, subsurveyId, countNullValues); } private String buildQueryString(Coord coord, SubsurveyId subsurveyId, boolean countNullValues) { StringBuilder queryString = new StringBuilder(); queryString.append(coord.toQueryString()); 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(); } 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(); } }
data-discovery/src/main/java/vlkb/output/SearchOutputData.java +13 −7 Original line number Diff line number Diff line Loading @@ -7,26 +7,32 @@ class SearchOutputData private static final Logger LOGGER = Logger.getLogger("SearchOutputData"); String description; Inputs inputs; AuthPolicy auth; Coord coord; SubsurveyId subsurveyId; boolean countNullValues; int datacubeCount; String versionString; Subsurvey[] subsurveyArr; public static SearchOutputData marshall(Dataset[] datasetArr, Inputs inputs, String mergeUrlRoot, Subsurvey[] dbSubsurveys) public static SearchOutputData marshall(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues, String mergeUrlRoot, Subsurvey[] dbSubsurveys) { SearchOutputData sod = new SearchOutputData(); sod.description = "Via Lactea Knowledge Base response (Search by pgSphere)"; sod.inputs = inputs; sod.auth = auth; sod.coord = coord; sod.subsurveyId = subsurveyId; sod.countNullValues = countNullValues; sod.versionString = "Search (pgSphere) version " + Version.asString; sod.datacubeCount = datasetArr.length; sod.subsurveyArr = groupBySubsurveys(datasetArr, inputs, dbSubsurveys, mergeUrlRoot); sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, coord, subsurveyId, countNullValues, dbSubsurveys, mergeUrlRoot); return sod; } private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, Inputs inputs, Subsurvey[] dbSubsurveys, String mergeUrlRoot) private static Subsurvey[] groupBySubsurveys(Dataset[] datasetArr, AuthPolicy auth, Coord coord, SubsurveyId subsurveyId, boolean countNullValues, Subsurvey[] dbSubsurveys, String mergeUrlRoot) { List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>(); Loading @@ -42,7 +48,7 @@ class SearchOutputData { if( Dataset.areDatasetsMergeable(datasetList) ) { Dataset mergedDataset = new Dataset(datasetList, inputs, mergeUrlRoot); Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, countNullValues, mergeUrlRoot); datasetList.add(mergedDataset); } Loading @@ -62,7 +68,7 @@ class SearchOutputData if( false ) //if( Dataset.areDatasetsMergeable(datasetList) ) { Dataset mergedDataset = new Dataset(datasetList, inputs, mergeUrlRoot); Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, countNullValues, mergeUrlRoot); datasetList.add(mergedDataset); } Loading
data-discovery/src/main/java/vlkb/output/XmlSerializer.java +8 −11 Original line number Diff line number Diff line Loading @@ -177,7 +177,14 @@ public final class XmlSerializer writer.println("<?xml version=\"1.0\" encoding=\"" + charEncoding + "\" standalone=\"yes\"?>"); writer.println("<results>"); writer.println("<description> " + searchOutputData.description + " </description>"); serialize(writer, searchOutputData.inputs); writer.println("<inputs>"); if(searchOutputData.subsurveyId != null) writer.println(serialize(searchOutputData.subsurveyId)); if(searchOutputData.coord != null) writer.println(serialize(searchOutputData.coord)); if(searchOutputData.countNullValues) writer.println("<nullvals> set </nullvals>"); if(searchOutputData.auth != null) writer.println(serialize(searchOutputData.auth)); writer.println("</inputs>"); writer.println("<msg> " + searchOutputData.versionString + " </msg>"); writer.println("<DatacubeCount> " + searchOutputData.datacubeCount + " </DatacubeCount>"); for(Subsurvey subsurvey : searchOutputData.subsurveyArr) Loading Loading @@ -234,16 +241,6 @@ public final class XmlSerializer } public static void serialize(PrintWriter writer, Inputs inputs) { writer.println("<input>"); if(inputs.subsurveyId != null) writer.println(serialize(inputs.subsurveyId)); if(inputs.coord != null) writer.println(serialize(inputs.coord)); if(inputs.countNullValues) writer.println("<nullvals> set </nullvals>"); if(inputs.auth != null) writer.println(serialize(inputs.auth)); writer.println("</input>"); } public static void serialize(PrintWriter writer, Subsurvey subsurvey) { writer.println("<survey>"); Loading
data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +24 −19 Original line number Diff line number Diff line Loading @@ -16,25 +16,31 @@ import java.nio.charset.Charset; class FormatResponseWrapper extends HttpServletResponseWrapper { private SearchDescription search; AuthPolicy auth; String[] pubdidArr; Coord coord; SubsurveyId subsurveyId; boolean countNullValues; String queryString; public FormatResponseWrapper(HttpServletResponse response) { super(response); search = null; } public void set(SearchDescription search) { this.search = search;} public SearchDescription get() { return this.search;} public void setPubdidArr(String[] pubdidArr) { this.search.pubdidArr = pubdidArr; } public String[] getPubdidArr() { return this.search.pubdidArr; } auth = null; countNullValues = false; } public void setPubdidArr(String[] pubdidArr) { this.pubdidArr = pubdidArr; } public String[] getPubdidArr() { return this.pubdidArr; } public void setAuth(AuthPolicy auth) { assert (this.search.inputs.auth != null); this.search.inputs.auth = auth; // assert (this.search.inputs.auth != null); this.auth = auth; } } Loading Loading @@ -83,18 +89,16 @@ public class FormatResponseFilter implements Filter //if (pubdidWrapper.getContentType().contains("text/plain")) { SearchDescription search = pubdidWrapper.get(); Dataset[] datasetArr = getOutputData( search.pubdidArr, search.inputs.coord, search.inputs.subsurveyId, search.inputs.queryString, pubdidWrapper.getPubdidArr(), pubdidWrapper.coord, pubdidWrapper.subsurveyId, pubdidWrapper.queryString, settings.serviceUrls.cutoutUrl()); SearchOutputData searchOutputData = SearchOutputData.marshall( datasetArr, search.inputs, pubdidWrapper.auth, pubdidWrapper.coord, pubdidWrapper.subsurveyId, pubdidWrapper.countNullValues, settings.serviceUrls.mergeUrl(), dbSubsurveyArr); Loading Loading @@ -210,6 +214,7 @@ public class FormatResponseFilter implements Filter dataset.obsDataset = obsDataset; dataset.queryString = queryString; dataset.subsurvey_id = obsDataset.obs_collection; dataset.overlapCodeSky = convertToOverlapCodeSky(obsDataset.inputInsideDb, obsDataset.dbInsideInput); dataset.overlapCodeVel = convertToOverlapCodeVel(coord, obsDataset.em_valid, obsDataset.em_min, obsDataset.em_max); Loading