use of org.n52.shetland.ogc.om.values.Value in project series-rest-api by 52North.
the class DataController method getSeriesData.
@RequestMapping(value = "/{seriesId}/data", produces = { "application/json" }, method = RequestMethod.GET)
public ModelAndView getSeriesData(HttpServletResponse response, @PathVariable String seriesId, @RequestHeader(value = Parameters.HttpHeader.ACCEPT_LANGUAGE) String locale, @RequestParam(required = false) MultiValueMap<String, String> query) throws Exception {
RequestUtils.overrideQueryLocaleWhenSet(locale, query);
IoParameters map = QueryParameters.createFromQuery(query);
LOGGER.debug("get data for item '{}' with query: {}", seriesId, map);
IntervalWithTimeZone timespan = map.getTimespan();
checkAgainstTimespanRestriction(timespan.toString());
checkForUnknownDatasetIds(map, seriesId);
RequestSimpleParameterSet parameters = RequestSimpleParameterSet.createForSingleSeries(seriesId, map);
String handleAsValueTypeFallback = map.getAsString(Parameters.HANDLE_AS_VALUE_TYPE);
String valueType = ValueType.extractType(seriesId, handleAsValueTypeFallback);
IoProcessChain<?> ioChain = createIoFactory(valueType).withSimpleRequest(parameters).createProcessChain();
DataCollection<?> formattedDataCollection = ioChain.getProcessedData();
final Map<String, ?> processed = formattedDataCollection.getAllSeries();
return map.isExpanded() ? new ModelAndView().addObject(processed) : new ModelAndView().addObject(processed.get(seriesId));
}
use of org.n52.shetland.ogc.om.values.Value in project series-rest-api by 52North.
the class StatusIntervalsExtension method createIntervals.
private StatusInterval[] createIntervals(ConfigInterval configInterval) {
Map<String, StatusInterval> statusIntervals = configInterval.getStatusIntervals();
for (Entry<String, StatusInterval> entry : statusIntervals.entrySet()) {
StatusInterval value = entry.getValue();
value.setName(entry.getKey());
}
return statusIntervals.values().toArray(new StatusInterval[0]);
}
use of org.n52.shetland.ogc.om.values.Value in project series-rest-api by 52North.
the class TimeseriesDataController method getCollectionReport.
@RequestMapping(value = "/getData", produces = { "application/pdf" }, method = RequestMethod.POST)
public void getCollectionReport(HttpServletResponse response, @RequestHeader(value = Parameters.HttpHeader.ACCEPT_LANGUAGE) String locale, @RequestBody RequestStyledParameterSet query) throws Exception {
RequestUtils.overrideQueryLocaleWhenSet(locale, query);
IoParameters map = QueryParameters.createFromQuery(query);
checkIfUnknownTimeseries(map, query.getDatasets());
RequestSimpleParameterSet parameterSet = map.mergeToSimpleParameterSet(query);
checkAgainstTimespanRestriction(parameterSet.getTimespan());
parameterSet.setGeneralize(map.isGeneralize());
parameterSet.setExpanded(map.isExpanded());
response.setContentType(MimeType.APPLICATION_PDF.getMimeType());
createIoFactory(parameterSet).withStyledRequest(map.mergeToStyledParameterSet(query)).createHandler(MimeType.APPLICATION_PDF.getMimeType()).writeBinary(response.getOutputStream());
}
use of org.n52.shetland.ogc.om.values.Value in project series-rest-api by 52North.
the class TimeseriesDataController method getReport.
@RequestMapping(value = "/{timeseriesId}/getData", produces = { "application/pdf" }, method = RequestMethod.GET)
public void getReport(HttpServletResponse response, @PathVariable String timeseriesId, @RequestHeader(value = Parameters.HttpHeader.ACCEPT_LANGUAGE) String locale, @RequestParam(required = false) MultiValueMap<String, String> query) throws Exception {
RequestUtils.overrideQueryLocaleWhenSet(locale, query);
IoParameters map = QueryParameters.createFromQuery(query);
checkIfUnknownTimeseries(map, timeseriesId);
RequestSimpleParameterSet parameters = RequestSimpleParameterSet.createForSingleSeries(timeseriesId, map);
checkAgainstTimespanRestriction(parameters.getTimespan());
parameters.setGeneralize(map.isGeneralize());
parameters.setExpanded(map.isExpanded());
response.setContentType(MimeType.APPLICATION_PDF.getMimeType());
createIoFactory(parameters).createHandler(MimeType.APPLICATION_PDF.getMimeType()).writeBinary(response.getOutputStream());
}
use of org.n52.shetland.ogc.om.values.Value in project series-rest-api by 52North.
the class SearchController method searchResources.
@RequestMapping(method = RequestMethod.GET)
public ModelAndView searchResources(@RequestParam String q, @RequestHeader(value = "accept-language") String locale, @RequestParam(required = false) MultiValueMap<String, String> parameters) {
IoParameters map = QueryParameters.createFromQuery(parameters).extendWith(Parameters.SEARCH_TERM, q).extendWith(Parameters.LOCALE, locale);
IoParameters query = IoParameters.ensureBackwardsCompatibility(map);
return new ModelAndView().addObject(searchService.searchResources(query));
}
Aggregations