@Override public Response responseDispatched( Request request, Operation operation, Object result, Response response) { List<String> warnings = WARNINGS.get(); if ("WMS".equalsIgnoreCase(request.getService()) && warnings != null && !warnings.isEmpty()) { HttpServletResponse httpResponse = request.getHttpResponse(); for (String warning : warnings) { httpResponse.addHeader(HttpHeaders.WARNING, warning); } return super.responseDispatched(request, operation, result, response); } return response; }
@Override public Request init(Request request) { return super.init(request); }
@Override public Object operationExecuted(Request request, Operation operation, Object result) { if (delaySeconds > 0 && result instanceof FeatureCollectionResponse) { FeatureCollectionResponse featureCollectionResponse = (FeatureCollectionResponse) result; List<FeatureCollection> collections = featureCollectionResponse.getFeatures(); List<FeatureCollection> wrappers = collections .stream() .map(fc -> new DelayFeatureCollection((SimpleFeatureCollection) fc)) .collect(Collectors.toList()); featureCollectionResponse.setFeatures(wrappers); } return super.operationExecuted(request, operation, result); }
@Override public Operation operationDispatched(Request request, Operation operation) { Operation newOperation = operation; // Change operation from PageResults to GetFeature to allow management of request as // standard get feature if (operation.getId().equals("PageResults")) { newOperation = new Operation( "GetFeature", operation.getService(), operation.getMethod(), operation.getParameters()); } return super.operationDispatched(request, newOperation); }
return super.operationExecuted(request, operation, result);
@Override public Response responseDispatched( Request request, Operation operation, Object result, Response response) { Response newResponse = response; if (request.getKvp().get(RESULT_TYPE_INDEX_PARAMETER) != null && (Boolean) request.getKvp().get(RESULT_TYPE_INDEX_PARAMETER)) { IndexOutputFormat r = new IndexOutputFormat(this.gs, this.indexConfiguration); r.setRequest(request); newResponse = r; } return super.responseDispatched(request, operation, result, newResponse); } }
@Override @SuppressWarnings("unchecked") public Request init(Request request) { Object resultType = request.getKvp().get(RESULT_TYPE_PARAMETER); if (resultType != null && resultType.toString().equals(RESULT_TYPE_INDEX)) { request.getKvp().put(RESULT_TYPE_PARAMETER, ResultTypeType.HITS); request.getKvp().put(RESULT_TYPE_INDEX_PARAMETER, true); } return super.init(request); }