/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.monitor.rest; import org.geoserver.monitor.Monitor; import org.geoserver.rest.RestBaseController; import org.geoserver.rest.wrapper.RestWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(path = RestBaseController.ROOT_PATH + "/monitor/requests/ows/{request}") public class OwsRequestResource extends MonitorRequestController { @Autowired public OwsRequestResource(Monitor monitor) { super(monitor); } @GetMapping(produces = { CSV_MEDIATYPE_VALUE, EXCEL_MEDIATYPE_VALUE, ZIP_MEDIATYPE_VALUE }) @ResponseBody protected RestWrapper handleObjectGetHtml( @PathVariable(name = "request", required = false) String req, @RequestParam(name = "from", required = false) String from, @RequestParam(name = "to", required = false) String to, @RequestParam(name = "filter", required = false) String filter, @RequestParam(name = "order", required = false) String order, @RequestParam(name = "offset", required = false) Long offset, @RequestParam(name = "count", required = false) Long count, @RequestParam(name = "live", required = false) Boolean live, @RequestParam(name = "fields", required = false) String fieldsSpec) throws Exception { return super.handleObjectGetHtml(req, from, to, filter, order, offset, count, live, fieldsSpec); } @GetMapping(produces = { MediaType.TEXT_HTML_VALUE, CSV_MEDIATYPE_VALUE, EXCEL_MEDIATYPE_VALUE, ZIP_MEDIATYPE_VALUE }) @ResponseBody protected MonitorQueryResults handleObjectGet( @PathVariable(name = "request", required = false) String req, @RequestParam(name = "from", required = false) String from, @RequestParam(name = "to", required = false) String to, @RequestParam(name = "filter", required = false) String filter, @RequestParam(name = "order", required = false) String order, @RequestParam(name = "offset", required = false) Long offset, @RequestParam(name = "count", required = false) Long count, @RequestParam(name = "live", required = false) Boolean live, @RequestParam(name = "fields", required = false) String fieldsSpec) throws Exception { if (req == null) { String[] fields = getFields(fieldsSpec); return new MonitorQueryResults(monitor.getDAO().getOwsRequests(), fields, monitor); } else { return handleObjectGet(req, from, to, filter, order, offset, count, live, fieldsSpec); } } }