public static void toJson(AdapterRequest obj, JsonObject json) { if (obj.getAdapterParams() != null) { json.put("adapterParams", obj.getAdapterParams()); } if (obj.getParams() != null) { json.put("params", obj.getParams()); } if (obj.getRequest() != null) { json.put("request", obj.getRequest().toJson()); } } }
private JsonObject buildResultObject(AdapterRequest adapterRequest, AdapterResponse adapterResponse) { JsonObject object = new JsonObject(); String rawData = adapterResponse.getResponse().getBody().toString().trim(); if (rawData.charAt(0) == '[') { object.put(RESULT_NAMESPACE_KEY, new JsonArray(rawData)); } else if (rawData.charAt(0) == '{') { object.put(RESULT_NAMESPACE_KEY, new JsonObject(rawData)); } else { LOGGER.error("Result of [{} {}] neither Json Array nor Json Object: [{}]", adapterRequest.getRequest().getMethod(), adapterRequest.getRequest().getPath(), StringUtils.abbreviate(rawData, 15)); } object.put(RESPONSE_NAMESPACE_KEY, new JsonObject() .put("statusCode", Integer.toString(adapterResponse.getResponse().getStatusCode()))); return object; } }
private Pair<ClientRequest, ServiceSettings> prepareRequestData(AdapterRequest adapterRequest) { final Pair<ClientRequest, ServiceSettings> serviceData; final JsonObject params = adapterRequest.getParams(); final ClientRequest serviceRequest = buildServiceRequest(adapterRequest.getRequest(), params); final Optional<ServiceSettings> serviceMetadata = findServiceMetadata(serviceRequest.getPath()); if (serviceMetadata.isPresent()) { final ServiceSettings metadata = serviceMetadata.get(); if (params.containsKey(HEADERS_PROPERTY_KEY)) { metadata.setAdditionalHeaders(params.getJsonObject(HEADERS_PROPERTY_KEY)); } if (params.containsKey(QUERY_PARAMS_PROPERTY_KEY)) { metadata.setQueryParams(params.getJsonObject(QUERY_PARAMS_PROPERTY_KEY)); } serviceData = Pair.of(serviceRequest, metadata); } else { final String error = String .format("No matching service definition for the requested path '%s'", serviceRequest.getPath()); throw new UnsupportedServiceException(error); } return serviceData; }