Skip to content
Snippets Groups Projects
Commit 783651e6 authored by Robert Butora's avatar Robert Butora
Browse files

removes classes Inputs and SearchDescription and moves their data into FormatResponseWrapper

parent 12f47ae1
Branches
Tags
No related merge requests found
...@@ -26,6 +26,7 @@ class Dataset ...@@ -26,6 +26,7 @@ class Dataset
} }
String queryString;// was in Inputs
String subsurvey_id; String subsurvey_id;
int overlapCodeSky; int overlapCodeSky;
int overlapCodeVel; int overlapCodeVel;
...@@ -59,7 +60,7 @@ class Dataset ...@@ -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.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 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 ...@@ -69,9 +70,9 @@ class Dataset
this.access = new Access(); this.access = new Access();
this.access.accessFileUrl = null; this.access.accessFileUrl = null;
this.access.accessCutoutUrl = null; this.access.accessCutoutUrl = null;
this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&amp;" +inputs.queryString; this.access.accessMosaicUrl = mergeUrlRoot + "?pubdid=" + publisherDid + "&amp;" + /*inputs.*/queryString;
this.vertices_deg = mergeVertices(datasetList, inputs.coord); this.vertices_deg = mergeVertices(datasetList, /*inputs.*/coord);
} }
......
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("&amp;surveyname=" + subsurveyId.surveyName);
if(subsurveyId.species != null) queryString.append("&amp;species=" + subsurveyId.species);
if(subsurveyId.transition != null) queryString.append("&amp;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();
}
}
...@@ -7,26 +7,32 @@ class SearchOutputData ...@@ -7,26 +7,32 @@ class SearchOutputData
private static final Logger LOGGER = Logger.getLogger("SearchOutputData"); private static final Logger LOGGER = Logger.getLogger("SearchOutputData");
String description; String description;
Inputs inputs; AuthPolicy auth;
Coord coord;
SubsurveyId subsurveyId;
boolean countNullValues;
int datacubeCount; int datacubeCount;
String versionString; String versionString;
Subsurvey[] subsurveyArr; 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(); SearchOutputData sod = new SearchOutputData();
sod.description = "Via Lactea Knowledge Base response (Search by pgSphere)"; 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.versionString = "Search (pgSphere) version " + Version.asString;
sod.datacubeCount = datasetArr.length; sod.datacubeCount = datasetArr.length;
sod.subsurveyArr = groupBySubsurveys(datasetArr, inputs, dbSubsurveys, mergeUrlRoot); sod.subsurveyArr = groupBySubsurveys(datasetArr, auth, coord, subsurveyId, countNullValues, dbSubsurveys, mergeUrlRoot);
return sod; 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>(); List<Subsurvey> subsurveyList = new ArrayList<Subsurvey>();
...@@ -42,7 +48,7 @@ class SearchOutputData ...@@ -42,7 +48,7 @@ class SearchOutputData
{ {
if( Dataset.areDatasetsMergeable(datasetList) ) if( Dataset.areDatasetsMergeable(datasetList) )
{ {
Dataset mergedDataset = new Dataset(datasetList, inputs, mergeUrlRoot); Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, countNullValues, mergeUrlRoot);
datasetList.add(mergedDataset); datasetList.add(mergedDataset);
} }
...@@ -62,7 +68,7 @@ class SearchOutputData ...@@ -62,7 +68,7 @@ class SearchOutputData
if( false ) if( false )
//if( Dataset.areDatasetsMergeable(datasetList) ) //if( Dataset.areDatasetsMergeable(datasetList) )
{ {
Dataset mergedDataset = new Dataset(datasetList, inputs, mergeUrlRoot); Dataset mergedDataset = new Dataset(datasetList, auth, coord, subsurveyId, countNullValues, mergeUrlRoot);
datasetList.add(mergedDataset); datasetList.add(mergedDataset);
} }
......
...@@ -177,7 +177,14 @@ public final class XmlSerializer ...@@ -177,7 +177,14 @@ public final class XmlSerializer
writer.println("<?xml version=\"1.0\" encoding=\"" + charEncoding + "\" standalone=\"yes\"?>"); writer.println("<?xml version=\"1.0\" encoding=\"" + charEncoding + "\" standalone=\"yes\"?>");
writer.println("<results>"); writer.println("<results>");
writer.println("<description> " + searchOutputData.description + " </description>"); 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("<msg> " + searchOutputData.versionString + " </msg>");
writer.println("<DatacubeCount> " + searchOutputData.datacubeCount + " </DatacubeCount>"); writer.println("<DatacubeCount> " + searchOutputData.datacubeCount + " </DatacubeCount>");
for(Subsurvey subsurvey : searchOutputData.subsurveyArr) for(Subsurvey subsurvey : searchOutputData.subsurveyArr)
...@@ -234,16 +241,6 @@ public final class XmlSerializer ...@@ -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) public static void serialize(PrintWriter writer, Subsurvey subsurvey)
{ {
writer.println("<survey>"); writer.println("<survey>");
......
...@@ -16,25 +16,31 @@ import java.nio.charset.Charset; ...@@ -16,25 +16,31 @@ import java.nio.charset.Charset;
class FormatResponseWrapper extends HttpServletResponseWrapper class FormatResponseWrapper extends HttpServletResponseWrapper
{ {
private SearchDescription search; AuthPolicy auth;
String[] pubdidArr;
Coord coord;
SubsurveyId subsurveyId;
boolean countNullValues;
String queryString;
public FormatResponseWrapper(HttpServletResponse response) public FormatResponseWrapper(HttpServletResponse response)
{ {
super(response); super(response);
search = null;
}
public void set(SearchDescription search) { this.search = search;} auth = null;
public SearchDescription get() { return this.search;} countNullValues = false;
}
public void setPubdidArr(String[] pubdidArr) { this.search.pubdidArr = pubdidArr; }
public String[] getPubdidArr() { return this.search.pubdidArr; }
public void setPubdidArr(String[] pubdidArr) { this.pubdidArr = pubdidArr; }
public String[] getPubdidArr() { return this.pubdidArr; }
public void setAuth(AuthPolicy auth) public void setAuth(AuthPolicy auth)
{ {
assert (this.search.inputs.auth != null); // assert (this.search.inputs.auth != null);
this.search.inputs.auth = auth; this.auth = auth;
} }
} }
...@@ -83,18 +89,16 @@ public class FormatResponseFilter implements Filter ...@@ -83,18 +89,16 @@ public class FormatResponseFilter implements Filter
//if (pubdidWrapper.getContentType().contains("text/plain")) //if (pubdidWrapper.getContentType().contains("text/plain"))
{ {
SearchDescription search = pubdidWrapper.get();
Dataset[] datasetArr = getOutputData( Dataset[] datasetArr = getOutputData(
search.pubdidArr, pubdidWrapper.getPubdidArr(),
search.inputs.coord, pubdidWrapper.coord,
search.inputs.subsurveyId, pubdidWrapper.subsurveyId,
search.inputs.queryString, pubdidWrapper.queryString,
settings.serviceUrls.cutoutUrl()); settings.serviceUrls.cutoutUrl());
SearchOutputData searchOutputData = SearchOutputData.marshall( SearchOutputData searchOutputData = SearchOutputData.marshall(
datasetArr, datasetArr,
search.inputs, pubdidWrapper.auth, pubdidWrapper.coord, pubdidWrapper.subsurveyId, pubdidWrapper.countNullValues,
settings.serviceUrls.mergeUrl(), settings.serviceUrls.mergeUrl(),
dbSubsurveyArr); dbSubsurveyArr);
...@@ -210,6 +214,7 @@ public class FormatResponseFilter implements Filter ...@@ -210,6 +214,7 @@ public class FormatResponseFilter implements Filter
dataset.obsDataset = obsDataset; dataset.obsDataset = obsDataset;
dataset.queryString = queryString;
dataset.subsurvey_id = obsDataset.obs_collection; dataset.subsurvey_id = obsDataset.obs_collection;
dataset.overlapCodeSky = convertToOverlapCodeSky(obsDataset.inputInsideDb, obsDataset.dbInsideInput); dataset.overlapCodeSky = convertToOverlapCodeSky(obsDataset.inputInsideDb, obsDataset.dbInsideInput);
dataset.overlapCodeVel = convertToOverlapCodeVel(coord, obsDataset.em_valid, obsDataset.em_min, obsDataset.em_max); dataset.overlapCodeVel = convertToOverlapCodeVel(coord, obsDataset.em_valid, obsDataset.em_min, obsDataset.em_max);
......
class SearchDescription
{
String[] pubdidArr;
Inputs inputs;
}
...@@ -49,8 +49,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -49,8 +49,6 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
Coord coord = new Coord(params); Coord coord = new Coord(params);
SubsurveyId subsurveyId = new SubsurveyId(params); SubsurveyId subsurveyId = new SubsurveyId(params);
Inputs inputs = new Inputs(/*auth*/null, coord, subsurveyId, false);
/* query Obscore table */ /* query Obscore table */
DbPSearch dbps; DbPSearch dbps;
...@@ -75,12 +73,12 @@ public class SearchServlet extends javax.servlet.http.HttpServlet ...@@ -75,12 +73,12 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
/* collect all search description and set to wrapped response */ /* collect all search description and set to wrapped response */
SearchDescription search = new SearchDescription();
search.pubdidArr = pubdidArr;
search.inputs = inputs;
FormatResponseWrapper pubdidWrapper = (FormatResponseWrapper) response; 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 else
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment