Object parseRequestKVP(Class type, Request request) throws Exception { KvpRequestReader kvpReader = findKvpRequestReader(type); if (kvpReader != null) { // check for http request awareness if (kvpReader instanceof HttpServletRequestAware) { ((HttpServletRequestAware) kvpReader).setHttpRequest(request.getHttpRequest()); } Object requestBean = kvpReader.createRequest(); if (requestBean != null) { requestBean = kvpReader.read(requestBean, request.getKvp(), request.getRawKvp()); } return requestBean; } return null; }
@Override public Object read(Object request, Map kvp, Map rawKvp) throws Exception { if (kvp.containsKey("outputFormat")) { Object format = kvp.get("outputFormat"); setOutputFormat(kvp, rawKvp, format); } else if (kvp.containsKey("f")) { Object format = kvp.get("f"); setOutputFormat(kvp, rawKvp, format); } return super.read(request, kvp, rawKvp); }
@Override public Object read(Object req, Map kvp, Map rawKvp) throws Exception { // Force the ResourceID element to be a simple String instead of an array Object resourceId = kvp.get(DownloadLinkHandler.RESOURCE_ID_PARAMETER); if (resourceId != null && resourceId instanceof List && !((List) resourceId).isEmpty()) { kvp.put(DownloadLinkHandler.RESOURCE_ID_PARAMETER, ((List) resourceId).get(0)); } Object fileParameter = kvp.get(DownloadLinkHandler.FILE_PARAMETER); if (fileParameter != null && fileParameter instanceof List && !((List) fileParameter).isEmpty()) { kvp.put(DownloadLinkHandler.FILE_PARAMETER, ((List) fileParameter).get(0)); } DirectDownloadType request = (DirectDownloadType) super.read(req, kvp, rawKvp); if (request.getResourceId() == null) { throw new ServiceException( "resourceId parameter not provided for DirectDownload operation", ServiceException.MISSING_PARAMETER_VALUE, "resourceId"); } return request; } }
@Override public Object read(Object req, Map kvp, Map rawKvp) throws Exception { GetRepositoryItemType request = (GetRepositoryItemType) super.read(req, kvp, rawKvp); if (request.getId() == null) { throw new ServiceException( "ID parameter not provided for GetRepositoryItemBean operation", ServiceException.MISSING_PARAMETER_VALUE, "id"); } return request; } }
@Override public Object read(Object req, Map kvp, Map rawKvp) throws Exception { GetRepositoryItemType request = (GetRepositoryItemType) super.read(req, kvp, rawKvp); if (request.getId() == null) { throw new ServiceException( "ID parameter not provided for GetRepositoryItemBean operation", ServiceException.MISSING_PARAMETER_VALUE, "id"); } return request; }
@Override public Object read(Object request, Map kvp, Map rawKvp) throws Exception { AbstractProductRequest apr = (AbstractProductRequest) super.read(request, kvp, rawKvp); // map uid String uid = (String) rawKvp.get("uid"); if (uid == null) { throw new OWS20Exception( "Missing mandatory uid parameter", OWS20Exception.OWSExceptionCode.MissingParameterValue, "uid"); } apr.setId(uid); // check parentId if required if (parentIdRequired && apr.getParentId() == null) { throw new OWS20Exception( "Missing mandatory parentId parameter", OWS20Exception.OWSExceptionCode.MissingParameterValue, "parentId"); } return apr; } }
public Object read(Object req, Map kvp, Map rawKvp) throws Exception { DescribeLayerRequest request = (DescribeLayerRequest) super.read(req, kvp, rawKvp); request.setRawKvp(rawKvp);
feature = (GetFeatureType) kvpReader.read(requestBean, data.getKvp(), data.getRawKvp()); } else { byte[] bytes = data.getPostRequest().getBytes(StandardCharsets.UTF_8.name());
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public GetCapabilitiesRequest read(Object req, Map kvp, Map rawKvp) throws Exception { GetCapabilitiesRequest request = (GetCapabilitiesRequest) super.read(req, kvp, rawKvp); request.setRawKvp(rawKvp);
/** * Simulates what the Dispatcher is doing when parsing a KVP request * * @param href * @param reader */ protected Object kvpParse(String href, KvpRequestReader reader) throws Exception { Map original = new KvpMap(KvpUtils.parseQueryString(href)); KvpUtils.normalize(original); Map parsed = new KvpMap(original); List<Throwable> errors = KvpUtils.parse(parsed); if (errors.size() > 0) { throw new WPSException("Failed to parse KVP request", errors.get(0)); } // hack to allow wcs filters to work... we should really upgrade the WCS models instead... Request r = Dispatcher.REQUEST.get(); if (r != null) { Map kvp = new HashMap(r.getKvp()); r.setKvp(new CaseInsensitiveMap(parsed)); } return reader.read(reader.createRequest(), parsed, original); }
/** * Simulates what the Dispatcher is doing when parsing a KVP request * * @param href * @param reader * @return */ Object kvpParse(String href, KvpRequestReader reader) throws Exception { Map original = new KvpMap(KvpUtils.parseQueryString(href)); KvpUtils.normalize(original); Map parsed = new KvpMap(original); List<Throwable> errors = KvpUtils.parse(parsed); if (errors.size() > 0) { throw new WPSException("Failed to parse KVP request", errors.get(0)); } // hack to allow wcs filters to work... we should really upgrade the WCS models instead... Request r = Dispatcher.REQUEST.get(); if (r != null) { Map kvp = new HashMap(r.getKvp()); r.setKvp(new CaseInsensitiveMap(parsed)); } return reader.read(reader.createRequest(), parsed, original); }
public Object read(Object request, Map kvp, Map rawKvp) throws Exception { GetMapRequest getMap = (GetMapRequest) super.read(request, kvp, rawKvp);
public GetLegendGraphicRequest read(Object req, Map kvp, Map rawKvp) throws Exception { GetLegendGraphicRequest request = (GetLegendGraphicRequest) super.read(req, kvp, rawKvp); request.setRawKvp(rawKvp); request.setKvp(kvp);
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public Object read(Object req, Map kvp, Map rawKvp) throws Exception { GetFeatureInfoRequest request = (GetFeatureInfoRequest) super.read(req, kvp, rawKvp); request.setRawKvp(rawKvp);
@SuppressWarnings("rawtypes") @Override public GetMapRequest read(Object request, Map kvp, Map rawKvp) throws Exception { GetMapRequest getMap = (GetMapRequest) super.read(request, kvp, rawKvp);
@Override public Object read(Object requestObject, Map kvp, Map rawKvp) throws Exception { SearchRequest request = (SearchRequest) super.read(requestObject, kvp, rawKvp);