@Test public void testParse___QueryPost_QueryInBody() throws BodyParseException { RequestBodyParser parser = new JsonRequestBodyParser(); RequestBody body = parser.parse(queryPostJsonWithQuery).iterator().next(); Set<NamedPropertySet> setProperties = body.getNamedPropertySets(); assertEquals("foo=bar", body.getQueryString()); assertEquals(1, setProperties.size()); boolean contains1 = false; boolean contains2 = false; boolean contains3 = false; for (NamedPropertySet ps : setProperties) { assertEquals("", ps.getName()); Map<String, Object> mapProps = ps.getProperties(); for (Map.Entry<String, Object> entry : mapProps.entrySet()) { Set<Map<String, Object>> set = (Set<Map<String, Object>>) entry.getValue(); for (Map<String, Object> map : set) { String serviceName = (String) map.get("ServiceInfo/service_name"); if (serviceName.equals("unitTestService1")) { assertEquals(1, map.size()); contains1 = true; } else if (serviceName.equals("unitTestService2")) { assertEquals("prop1Value", map.get("ServiceInfo/property1")); assertEquals(2, map.size()); contains2 = true; } else if (serviceName.equals("unitTestService3")) { assertEquals("prop2Value", map.get("ServiceInfo/Category/property2")); assertEquals(2, map.size()); contains3 = true; } else { fail("Unexpected service name"); } } } } assertTrue(contains1); assertTrue(contains2); assertTrue(contains3); String b = body.getBody(); assertEquals(queryPostJsonWithQuery , b); body = parser.parse(b).iterator().next(); Set<NamedPropertySet> setProps2 = body.getNamedPropertySets(); assertEquals(1, setProps2.size()); assertEquals(setProperties, setProps2); }
@Override public Set<RequestBody> parse(String body) throws BodyParseException { Set<RequestBody> requestBodySet = new HashSet<RequestBody>(); RequestBody rootBody = new RequestBody(); rootBody.setBody(body); if (body != null && body.length() != 0) { ObjectMapper mapper = new ObjectMapper(); try { JsonNode root = mapper.readTree(ensureArrayFormat(body)); Iterator<JsonNode> iterator = root.getElements(); while (iterator.hasNext()) { JsonNode node = iterator.next(); Map<String, Object> mapProperties = new HashMap<String, Object>(); Map<String, String> requestInfoProps = new HashMap<String, String>(); NamedPropertySet propertySet = new NamedPropertySet("", mapProperties); processNode(node, "", propertySet, requestInfoProps); if (!requestInfoProps.isEmpty()) { RequestBody requestBody = new RequestBody(); requestBody.setBody(body); for (Map.Entry<String, String> entry : requestInfoProps.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); requestBody.addRequestInfoProperty(key, value); if (key.equals(QUERY_FIELD_NAME)) { requestBody.setQueryString(value); } } if (!propertySet.getProperties().isEmpty()) { requestBody.addPropertySet(propertySet); } requestBodySet.add(requestBody); } else { if (!propertySet.getProperties().isEmpty()) { rootBody.addPropertySet(propertySet); } requestBodySet.add(rootBody); } } } catch (IOException e) { if (LOG.isDebugEnabled()) { LOG.debug("Caught exception parsing msg body."); LOG.debug("Message Body: " + body, e); } throw new BodyParseException(e); } } if (requestBodySet.isEmpty()) { requestBodySet.add(rootBody); } return requestBodySet; }
JsonRequestBodyParser implements RequestBodyParser { @Override public Set<RequestBody> parse(String body) throws BodyParseException { Set<RequestBody> requestBodySet = new HashSet<RequestBody>(); RequestBody rootBody = new RequestBody(); rootBody.setBody(body); if (body != null && body.length() != 0) { ObjectMapper mapper = new ObjectMapper(); try { JsonNode root = mapper.readTree(ensureArrayFormat(body)); Iterator<JsonNode> iterator = root.getElements(); while (iterator.hasNext()) { JsonNode node = iterator.next(); Map<String, Object> mapProperties = new HashMap<String, Object>(); Map<String, String> requestInfoProps = new HashMap<String, String>(); NamedPropertySet propertySet = new NamedPropertySet("", mapProperties); processNode(node, "", propertySet, requestInfoProps); if (!requestInfoProps.isEmpty()) { RequestBody requestBody = new RequestBody(); requestBody.setBody(body); for (Map.Entry<String, String> entry : requestInfoProps.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); requestBody.addRequestInfoProperty(key, value); if (key.equals(QUERY_FIELD_NAME)) { requestBody.setQueryString(value); } } if (!propertySet.getProperties().isEmpty()) { requestBody.addPropertySet(propertySet); } requestBodySet.add(requestBody); } else { if (!propertySet.getProperties().isEmpty()) { rootBody.addPropertySet(propertySet); } requestBodySet.add(rootBody); } } } catch (IOException e) { if (LOG.isDebugEnabled()) { LOG.debug("Caught exception parsing msg body."); LOG.debug("Message Body: " + body, e); } throw new BodyParseException(e); } } if (requestBodySet.isEmpty()) { requestBodySet.add(rootBody); } return requestBodySet; } }
JsonRequestBodyParser implements RequestBodyParser { @Override public Set<RequestBody> parse(String body) throws BodyParseException { Set<RequestBody> requestBodySet = new HashSet<RequestBody>(); RequestBody rootBody = new RequestBody(); rootBody.setBody(body); if (body != null && body.length() != 0) { ObjectMapper mapper = new ObjectMapper(); try { JsonNode root = mapper.readTree(ensureArrayFormat(body)); Iterator<JsonNode> iterator = root.getElements(); while (iterator.hasNext()) { JsonNode node = iterator.next(); Map<String, Object> mapProperties = new HashMap<String, Object>(); Map<String, String> requestInfoProps = new HashMap<String, String>(); NamedPropertySet propertySet = new NamedPropertySet("", mapProperties); processNode(node, "", propertySet, requestInfoProps); if (!requestInfoProps.isEmpty()) { RequestBody requestBody = new RequestBody(); requestBody.setBody(body); for (Map.Entry<String, String> entry : requestInfoProps.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); requestBody.addRequestInfoProperty(key, value); if (key.equals(QUERY_FIELD_NAME)) { requestBody.setQueryString(value); } } if (!propertySet.getProperties().isEmpty()) { requestBody.addPropertySet(propertySet); } requestBodySet.add(requestBody); } else { if (!propertySet.getProperties().isEmpty()) { rootBody.addPropertySet(propertySet); } requestBodySet.add(rootBody); } } } catch (IOException e) { if (LOG.isDebugEnabled()) { LOG.debug("Caught exception parsing msg body."); LOG.debug("Message Body: " + body, e); } throw new BodyParseException(e); } } if (requestBodySet.isEmpty()) { requestBodySet.add(rootBody); } return requestBodySet; }  }
JsonRequestBodyParser implements RequestBodyParser { @Override public Set<RequestBody> parse(String body) throws BodyParseException { Set<RequestBody> requestBodySet = new HashSet<RequestBody>(); RequestBody rootBody = new RequestBody(); rootBody.setBody(body); if (body != null && body.length() != 0) { ObjectMapper mapper = new ObjectMapper(); try { JsonNode root = mapper.readTree(ensureArrayFormat(body)); Iterator<JsonNode> iterator = root.getElements(); while (iterator.hasNext()) { JsonNode node = iterator.next(); Map<String, Object> mapProperties = new HashMap<String, Object>(); Map<String, String> requestInfoProps = new HashMap<String, String>(); NamedPropertySet propertySet = new NamedPropertySet("", mapProperties); processNode(node, "", propertySet, requestInfoProps); if (!requestInfoProps.isEmpty()) { RequestBody requestBody = new RequestBody(); requestBody.setBody(body); for (Map.Entry<String, String> entry : requestInfoProps.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); requestBody.addRequestInfoProperty(key, value); if (key.equals(QUERY_FIELD_NAME)) { requestBody.setQueryString(value); } } if (!propertySet.getProperties().isEmpty()) { requestBody.addPropertySet(propertySet); } requestBodySet.add(requestBody); } else { if (!propertySet.getProperties().isEmpty()) { rootBody.addPropertySet(propertySet); } requestBodySet.add(rootBody); } } } catch (IOException e) { if (LOG.isDebugEnabled()) { LOG.debug("Caught exception parsing msg body."); LOG.debug("Message Body: " + body, e); } throw new BodyParseException(e); } } if (requestBodySet.isEmpty()) { requestBodySet.add(rootBody); } return requestBodySet; }  @Override Set<RequestBody> parse(String body); }
JsonRequestBodyParser implements RequestBodyParser { @Override public Set<RequestBody> parse(String body) throws BodyParseException { Set<RequestBody> requestBodySet = new HashSet<RequestBody>(); RequestBody rootBody = new RequestBody(); rootBody.setBody(body); if (body != null && body.length() != 0) { ObjectMapper mapper = new ObjectMapper(); try { JsonNode root = mapper.readTree(ensureArrayFormat(body)); Iterator<JsonNode> iterator = root.getElements(); while (iterator.hasNext()) { JsonNode node = iterator.next(); Map<String, Object> mapProperties = new HashMap<String, Object>(); Map<String, String> requestInfoProps = new HashMap<String, String>(); NamedPropertySet propertySet = new NamedPropertySet("", mapProperties); processNode(node, "", propertySet, requestInfoProps); if (!requestInfoProps.isEmpty()) { RequestBody requestBody = new RequestBody(); requestBody.setBody(body); for (Map.Entry<String, String> entry : requestInfoProps.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); requestBody.addRequestInfoProperty(key, value); if (key.equals(QUERY_FIELD_NAME)) { requestBody.setQueryString(value); } } if (!propertySet.getProperties().isEmpty()) { requestBody.addPropertySet(propertySet); } requestBodySet.add(requestBody); } else { if (!propertySet.getProperties().isEmpty()) { rootBody.addPropertySet(propertySet); } requestBodySet.add(rootBody); } } } catch (IOException e) { if (LOG.isDebugEnabled()) { LOG.debug("Caught exception parsing msg body."); LOG.debug("Message Body: " + body, e); } throw new BodyParseException(e); } } if (requestBodySet.isEmpty()) { requestBodySet.add(rootBody); } return requestBodySet; }  @Override Set<RequestBody> parse(String body);  }