org.geoserver.ows.Request类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(12.4k)|赞(0)|评价(0)|浏览(195)

本文整理了Java中org.geoserver.ows.Request类的一些代码示例,展示了Request类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Request类的具体详情如下:
包路径:org.geoserver.ows.Request
类名称:Request

Request介绍

[英]A collection of the informations collected and parsed by the Dispatcher while doing its dispatching work. In case of dispatching exceptions some fields may be left blank, depending how far the dispatching went.
[中]调度员在执行其调度工作时收集和分析的信息的集合。在调度异常的情况下,某些字段可能会留空,具体取决于调度的执行程度。

代码示例

代码示例来源:origin: geoserver/geoserver

Operation dispatch(Request req, Service serviceDescriptor) throws Throwable {
  if (req.getRequest() == null) {
    String msg =
        "Could not determine geoserver request from http request "
            + req.getHttpRequest();
    throw new ServiceException(msg, "MissingParameterValue", "request");
  if (!exists && req.getKvp().get("request") != null) {
    req.setRequest(normalize(KvpUtils.getSingleValue(req.getKvp(), "request")));
    exists = operationExists(req, serviceDescriptor);
  Method operation = OwsUtils.method(serviceBean.getClass(), req.getRequest());
    throw new ServiceException(msg, "OperationNotSupported", req.getRequest());
      parameters[i] = req.getHttpRequest();
    } else if (parameterType.isAssignableFrom(HttpServletResponse.class)) {
      parameters[i] = req.getHttpResponse();
      parameters[i] = req.getHttpRequest().getInputStream();
    } else if (parameterType.isAssignableFrom(OutputStream.class)) {
      parameters[i] = req.getHttpResponse().getOutputStream();
    } else {
      if (req.getKvp() != null && req.getKvp().size() > 0) {
      if (req.getInput() != null) {
        requestBean = parseRequestXML(requestBean, req.getInput(), req);
        xmlParsed = true;

代码示例来源:origin: geoserver/geoserver

public void testParseXML() throws Exception {
  URL url = getClass().getResource("applicationContext.xml");
  FileSystemXmlApplicationContext context =
      new FileSystemXmlApplicationContext(url.toString());
  Dispatcher dispatcher = (Dispatcher) context.getBean("dispatcher");
  String body = "<Hello service=\"hello\" message=\"Hello world!\"/>";
  File file = File.createTempFile("geoserver", "req");
  try {
    FileOutputStream output = new FileOutputStream(file);
    output.write(body.getBytes());
    output.flush();
    output.close();
    BufferedReader input =
        new BufferedReader(new InputStreamReader(new FileInputStream(file)));
    input.mark(8192);
    Request req = new Request();
    req.setInput(input);
    Object object = dispatcher.parseRequestXML(null, input, req);
    assertEquals(new Message("Hello world!"), object);
  } finally {
    file.delete();
  }
}

代码示例来源:origin: geoserver/geoserver

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;
}

代码示例来源:origin: geoserver/geoserver

public String toString() {
  return getService() + " " + getVersion() + " " + getRequest();
}

代码示例来源:origin: geoserver/geoserver

private boolean shouldApplyFilter() {
  Request request = Dispatcher.REQUEST.get();
  // for the moment, match any recognized OGC request
  return request != null && request.getService() != null && request.getRequest() != null;
}

代码示例来源:origin: geoserver/geoserver

void preParseKVP(Request req) throws ServiceException {
  HttpServletRequest request = req.getHttpRequest();
  // unparsed kvp set
  Map kvp = request.getParameterMap();
  if (kvp == null || kvp.isEmpty()) {
    req.setKvp(new HashMap());
    // req.kvp = null;
    return;
  }
  // track parsed kvp and unparsd
  Map parsedKvp = KvpUtils.normalize(kvp);
  Map rawKvp = new KvpMap(parsedKvp);
  req.setKvp(parsedKvp);
  req.setRawKvp(rawKvp);
}

代码示例来源:origin: geoserver/geoserver

if (req.getKvp() != null) {
  req.setService(normalize(KvpUtils.getSingleValue(req.getKvp(), "service")));
  req.setVersion(
      normalizeVersion(normalize(KvpUtils.getSingleValue(req.getKvp(), "version"))));
  req.setRequest(normalize(KvpUtils.getSingleValue(req.getKvp(), "request")));
  req.setOutputFormat(normalize(KvpUtils.getSingleValue(req.getKvp(), "outputFormat")));
if (req.getInput() != null && "POST".equalsIgnoreCase(req.getHttpRequest().getMethod())) {
  Map xml = readOpPost(req.getInput());
  if (xml.get("service") != null) {
    req.setService(normalize((String) xml.get("service")));
    req.setVersion(normalizeVersion(normalize((String) xml.get("version"))));
    req.setRequest(normalize((String) xml.get("request")));
    req.setOutputFormat(normalize((String) xml.get("outputFormat")));
    req.setNamespace(normalize((String) xml.get("namespace")));
String service = req.getService();
if ((service == null) || (req.getRequest() == null)) {
  Map map = readOpContext(req);
      req.setService(service);
  if (req.getRequest() == null) {

代码示例来源:origin: geoserver/geoserver

Request request = new Request();
request.setService("WMS");
request.setRequest("GetCapabilities");
Dispatcher.REQUEST.set(request);
assertNull(catalog.getLayerByName(getLayerId(SystemTestData.BASIC_POLYGONS)));

代码示例来源:origin: org.geoserver/gs-gwc

@Override
public Request init(Request request) {
  String context = request.getContext();
  if (context == null || !isGwcServiceTargeted(context)) {
    return null;
  GWC_OPERATION.set((String) request.getKvp().get("REQUEST"));
  if (localWorkspace != null) {
    String layerName = (String) request.getKvp().get("LAYER");
    if (layerName == null) {
      layerName = (String) request.getKvp().get("layer");
    request.setHttpRequest(
        new VirtualServiceRequest(
            request.getHttpRequest(),
            localWorkspace.getName(),
            localPublishedName,
            layerName));
  } else if (localPublished != null) {
    request.setHttpRequest(
        new VirtualServiceRequest(
            request.getHttpRequest(), localPublished.getName(), null, null));
  request.setKvp(kvp);
  request.setRawKvp(kvp);

代码示例来源:origin: org.geoserver.community/gs-oseo-core

@Override
public Service serviceDispatched(Request request, Service service) throws ServiceException {
  final Map kvp = request.getKvp();
  final Map rawKvp = request.getRawKvp();
  if ("oseo".equalsIgnoreCase(request.getService())) {
    if (kvp.isEmpty()) {
      if ("description".equals(request.getRequest())) {
        kvp.put("service", "oseo");
        request.setRawKvp(kvp);
      } else if ("search".equals(request.getRequest())) {
        kvp.put("service", "oseo");
        kvp.put("httpAccept", AtomSearchResponse.MIME);
      request.setRawKvp(kvp);
    } else {
      for (String key : new HashSet<String>(request.getRawKvp().keySet())) {
        Object value = rawKvp.get(key);
        if ((!(value instanceof String) || StringUtils.isEmpty((String) value))

代码示例来源:origin: org.geoserver.community/gs-colormap

new Operation(
        "getLegendGraphic", wmsService, null, new Object[] {getLegendGraphics});
Request request = new Request();
request.setKvp(params);
request.setRawKvp(params);
Dispatcher.REQUEST.set(request);
DynamicGetLegendGraphicDispatcherCallback callback =

代码示例来源:origin: geoserver/geoserver

HttpServletRequest owsRequest = Dispatcher.REQUEST.get().getHttpRequest();
Arrays.asList(Headers.values())
    .forEach(

代码示例来源:origin: geoserver/geoserver

/**
 * Returns an eventual filter included among the parsed kvp map of the current request. Will
 * work for CQL_FILTER, FILTER and FEATURE_ID
 */
public static Filter getRequestFilter() {
  Request request = Dispatcher.REQUEST.get();
  if (request == null) {
    return null;
  }
  Object filter = request.getKvp().get("FILTER");
  if (!(filter instanceof Filter)) {
    filter = request.getKvp().get("CQL_FILTER");
    if (filter instanceof List) {
      List list = (List) filter;
      if (list.size() > 0) {
        filter = list.get(0);
      }
    }
  }
  if (!(filter instanceof Filter)) {
    filter = request.getKvp().get("FEATURE_ID");
  }
  if (filter instanceof Filter) {
    return (Filter) filter;
  } else {
    return null;
  }
}

代码示例来源:origin: org.geoserver.community/gs-nsg-wfs-profile

@Override
public Operation operationDispatched(Request request, Operation operation) {
  String version = request.getVersion();
  String method = request.getRequest();
  long timeout = getTimeoutMilliseconds(operation);
  if ("WFS".equalsIgnoreCase(request.getService())
      && (version == null || V_20.compareTo(new Version(version)) <= 0)
      && method != null
      && (method.equalsIgnoreCase("GetFeature")
          || method.equalsIgnoreCase("GetFeatureWithLock")
          || method.equalsIgnoreCase("GetPropertyValue"))
      && timeout > 0
      && operation.getParameters().length > 0
      && operation.getParameters()[0] instanceof BaseRequestType) {
    if (LOGGER.isLoggable(Level.FINE)) {
      LOGGER.fine("Starting to track NSG timeout on this request");
    }
    // start tracking time
    TimeoutVerifier timeoutVerifier =
        new TimeoutVerifier((BaseRequestType) operation.getParameters()[0], timeout);
    // need to wrap the http response and its output stream
    request.setHttpResponse(
        new TimeoutCancellingResponse(request.getHttpResponse(), timeoutVerifier));
    // set in the thread local for later use
    TIMEOUT_VERIFIER.set(timeoutVerifier);
  }
  return operation;
}

代码示例来源:origin: geoserver/geoserver

if (useServiceVersion && request.getServiceDescriptor() != null) {
  version = request.getServiceDescriptor().getVersion().toString();
    Ows11Util.exceptionReport(exception, verboseExceptions, version);
HttpServletResponse response = request.getHttpResponse();
if (!request.isSOAP()) {
encoder.setIndentSize(2);
encoder.setLineWidth(60);
encoder.setOmitXMLDeclaration(request.isSOAP());
    buildSchemaURL(baseURL(request.getHttpRequest()), "ows/1.1.0/owsAll.xsd");
encoder.setSchemaLocation(OWS.NAMESPACE, schemaLocation);

代码示例来源:origin: org.geoserver.community/gs-params-extractor

@Override
public void mangleURL(
    StringBuilder baseURL, StringBuilder path, Map<String, String> kvp, URLType type) {
  Request request = Dispatcher.REQUEST.get();
  if (request == null || !"GetCapabilities".equalsIgnoreCase(request.getRequest())) {
    return;
  }
  forwardOriginalUri(request, path);
  Map requestRawKvp = request.getRawKvp();
  if (request.getHttpRequest() instanceof RequestWrapper) {
    RequestWrapper requestWrapper = (RequestWrapper) request.getHttpRequest();
    Map parameters = requestWrapper.getOriginalParameters();
    requestRawKvp = new KvpMap(KvpUtils.normalize(parameters));
  }
  forwardParameters(requestRawKvp, kvp);
}

代码示例来源:origin: geoserver/geoserver

Request init(Request request) throws ServiceException, IOException {
  HttpServletRequest httpRequest = request.getHttpRequest();
  request.setGet("GET".equalsIgnoreCase(httpRequest.getMethod()) || isForm(reqContentType));
  if (!request.isGet()) { // && httpRequest.getInputStream().available() > 0) {
      request.setSOAP(true);
      request.setInput(soapReader(httpRequest, request));
    } else if (reqContentType != null
        && ServletFileUpload.isMultipartContent(httpRequest)) {
            kvpFileItems.put(item.getFieldName(), item);
          } else {
            request.setInput(fileItemReader(item));
      if (request.getInput() == null) {
        FileItem body = kvpFileItems.get("body");
        if (body != null) {
          request.setInput(fileItemReader(body));
          kvpFileItems.remove("body");
      request.setOrAppendKvp(parseKVP(request, kvpFileItems));
    } else {
      request.setInput(reader(httpRequest));
    int read = request.getInput().read(req, 0, xmlPostRequestLogBufferSize);
        request.setInput(null);

代码示例来源:origin: geoserver/geoserver

report.getException().add(e);
if (!request.isSOAP()) {
  request.getHttpResponse().setContentType("application/xml");
encoder.setIndentSize(2);
encoder.setLineWidth(60);
encoder.setOmitXMLDeclaration(request.isSOAP());
        baseURL(request.getHttpRequest()), "ows/1.0.0/owsExceptionReport.xsd");
encoder.setSchemaLocation(org.geoserver.ows.xml.v1_0.OWS.NAMESPACE, schemaLocation);
      report,
      org.geoserver.ows.xml.v1_0.OWS.EXCEPTIONREPORT,
      request.getHttpResponse().getOutputStream());
} catch (Exception ex) {
} finally {
  try {
    request.getHttpResponse().getOutputStream().flush();
  } catch (IOException ioe) {

代码示例来源:origin: geoserver/geoserver

((HttpServletRequestAware) xmlReader).setHttpRequest(request.getHttpRequest());
return xmlReader.read(requestBean, input, request.getKvp());

代码示例来源:origin: org.geoserver.extension/gs-wps-core

/**
 * 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);
}

相关文章