diff --git a/data-discovery/src/main/java/vlkb/output/Dataset.java b/data-discovery/src/main/java/vlkb/output/Dataset.java index 03d29d26332b37f43c23b64c405e7239344119a3..3e47a5ce803239c58b56e8dcc5c410e2bafc7ab7 100644 --- a/data-discovery/src/main/java/vlkb/output/Dataset.java +++ b/data-discovery/src/main/java/vlkb/output/Dataset.java @@ -26,6 +26,7 @@ class Dataset } + String queryString;// was in Inputs String subsurvey_id; int overlapCodeSky; int overlapCodeVel; @@ -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 @@ -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); } diff --git a/data-discovery/src/main/java/vlkb/output/Inputs.java b/data-discovery/src/main/java/vlkb/output/Inputs.java deleted file mode 100644 index f244b8a5277b20a260ed53c414b5f87c8152e4db..0000000000000000000000000000000000000000 --- a/data-discovery/src/main/java/vlkb/output/Inputs.java +++ /dev/null @@ -1,52 +0,0 @@ - - -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(); - } - -} - diff --git a/data-discovery/src/main/java/vlkb/output/SearchOutputData.java b/data-discovery/src/main/java/vlkb/output/SearchOutputData.java index 5e1b52e9e557918db2c519b6b500bfd6f21d400f..6998a800f9754843ee334501128d8d124d4c34ec 100644 --- a/data-discovery/src/main/java/vlkb/output/SearchOutputData.java +++ b/data-discovery/src/main/java/vlkb/output/SearchOutputData.java @@ -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>(); @@ -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); } @@ -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); } diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java index 853980c2573dc19cf76f094f46902528491e9fcb..5a8f8267ef326d0354d625b61a94634b173abd4b 100644 --- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java +++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java @@ -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) @@ -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>"); diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java index 5679289ea67aa3e26de674f2f288fa8d2fcaa820..2cf3a879b80e96558afd53a51c1b6a577434f05b 100644 --- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java +++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java @@ -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; } } @@ -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); @@ -117,7 +121,7 @@ public class FormatResponseFilter implements Filter else { ; // FIXME throws wrong setting-file param: batter convert string to enum and throw 'unrecoginzed respFormat' then; - // here use switch with enums and switch-default: say error: 'unsupported respFromat' type + // here use switch with enums and switch-default: say error: 'unsupported respFromat' type } responseWriter.close(); @@ -166,7 +170,7 @@ public class FormatResponseFilter implements Filter boolean em_valid; String o_ucd; - + String pol_states; Long pol_xel; @@ -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); diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchDescription.java b/data-discovery/src/main/java/vlkb/webapi/SearchDescription.java deleted file mode 100644 index 5cb4fa242bb81d8500cc6dd882105cc992df4e35..0000000000000000000000000000000000000000 --- a/data-discovery/src/main/java/vlkb/webapi/SearchDescription.java +++ /dev/null @@ -1,10 +0,0 @@ - - - - - -class SearchDescription -{ - String[] pubdidArr; - Inputs inputs; -} diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java index e7f56a6e69acd5ef4175e3c09ee69092a6d9bc65..6b59ee9a3196cda7589c6297c801cf938b3e7531 100644 --- a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java +++ b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java @@ -49,8 +49,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet Coord coord = new Coord(params); SubsurveyId subsurveyId = new SubsurveyId(params); - Inputs inputs = new Inputs(/*auth*/null, coord, subsurveyId, false); - /* query Obscore table */ DbPSearch dbps; @@ -75,12 +73,12 @@ public class SearchServlet extends javax.servlet.http.HttpServlet /* collect all search description and set to wrapped response */ - SearchDescription search = new SearchDescription(); - search.pubdidArr = pubdidArr; - search.inputs = inputs; - FormatResponseWrapper pubdidWrapper = (FormatResponseWrapper) response; - pubdidWrapper.set(search); + pubdidWrapper.setPubdidArr(pubdidArr); + pubdidWrapper.coord = coord; + pubdidWrapper.subsurveyId = subsurveyId; + pubdidWrapper.countNullValues = false;// FIXME parse from params + // FIXME set here or not ? pubdidWrapper.queryString = ??; } else {