public static ObjectNode createChildShape(String id, String type, double lowerRightX, double lowerRightY, double upperLeftX, double upperLeftY) { ObjectNode shapeNode = objectMapper.createObjectNode(); shapeNode.set(EDITOR_BOUNDS, createBoundsNode(lowerRightX, lowerRightY, upperLeftX, upperLeftY)); shapeNode.put(EDITOR_SHAPE_ID, id); ArrayNode shapesArrayNode = objectMapper.createArrayNode(); shapeNode.set(EDITOR_CHILD_SHAPES, shapesArrayNode); ObjectNode stencilNode = objectMapper.createObjectNode(); stencilNode.put(EDITOR_STENCIL_ID, type); shapeNode.set(EDITOR_STENCIL, stencilNode); return shapeNode; }
@Override public LoadManagerReport deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { ObjectMapper mapper = ObjectMapperFactory.getThreadLocal(); ObjectNode root = ObjectMapperFactory.getThreadLocal().readTree(jsonParser); if ((root.has("loadReportType") && root.get("loadReportType").asText().equals(LoadReport.loadReportType)) || (root.has("underLoaded"))) { return mapper.readValue(root.toString(), LoadReport.class); } else { return mapper.readValue(root.toString(), LocalBrokerData.class); } } }
public static String toJson(Object o, String exclude) { final ObjectNode jsonNode = MAPPER.valueToTree(o); jsonNode.remove(exclude); return jsonNode.toString(); }
protected void setLocalizationProperty(String language, String id, String propertyName, String propertyValue, ObjectNode infoNode) { ObjectNode localizationNode = createOrGetLocalizationNode(infoNode); if (!localizationNode.has(language)) { localizationNode.putObject(language); } ObjectNode languageNode = (ObjectNode) localizationNode.get(language); if (!languageNode.has(id)) { languageNode.putObject(id); } ((ObjectNode) languageNode.get(id)).put(propertyName, propertyValue); }
@Override public JsonNode digest(final JsonNode schema) { // TODO: return an array directly (same for "required" in v4) final ObjectNode ret = FACTORY.objectNode(); final ArrayNode required = FACTORY.arrayNode(); ret.put("required", required); final JsonNode node = schema.get(keyword); final List<String> list = Lists.newArrayList(node.fieldNames()); Collections.sort(list); for (final String field: list) if (node.get(field).path("required").asBoolean(false)) required.add(field); return ret; } }
@Override public MatrixResponse route(GHMRequest ghRequest) { ObjectNode requestJson = factory.objectNode(); ArrayNode outArrayListJson = factory.arrayNode(); for (String str : outArraysList) { outArrayListJson.add(str); requestJson.putArray("points").addAll(createPointList(ghRequest.getFromPoints())); requestJson.putArray("point_hints").addAll(createStringList(ghRequest.getFromPointHints())); } else { ArrayNode fromPointList = createPointList(ghRequest.getFromPoints()); ArrayNode toPointList = createPointList(ghRequest.getToPoints()); requestJson.putArray("from_points").addAll(fromPointList); requestJson.putArray("from_point_hints").addAll(createStringList(ghRequest.getFromPointHints())); requestJson.putArray("to_points").addAll(toPointList); requestJson.putArray("to_point_hints").addAll(createStringList(ghRequest.getToPointHints())); requestJson.putArray("out_arrays").addAll(outArrayListJson); requestJson.put("vehicle", ghRequest.getVehicle()); requestJson.put("elevation", hasElevation); requestJson.put(hintKey, hint); if (responseJson.has("message")) { matrixResponse.addErrors(readErrors(responseJson)); return matrixResponse;
ObjectMapper mapper = new ObjectMapper(); ObjectNode dataTable = mapper.createObjectNode(); ArrayNode aa = dataTable.putArray("aaData");
private ObjectNode arraySchema(JsonNode exampleArray) { ObjectNode schema = this.objectMapper.createObjectNode(); schema.put("type", "array"); if (exampleArray.size() > 0) { JsonNode exampleItem = exampleArray.get(0).isObject() ? mergeArrayItems(exampleArray) : exampleArray.get(0); schema.set("items", schemaFromExample(exampleItem)); } return schema; }
@Test public void mergeDefinitions_EncodedArrayWithKey_RetainsFieldsOnlySpecifiedInSource() throws Exception { // Given JsonNode a = mapper.readTree("{\"a\": \"[{\\\"name\\\": \\\"key\\\", \\\"value\\\": \\\"source\\\"}]\"}"); JsonNode b = mapper.readTree("{\"a\": \"[]\"}"); // When JsonNode result = JsonMerger.merge(a, b, mergeStrategy().encodedArrayWithKey("a", "name")); // Then assertThat(result).hasSize(1); JsonNode mergedArray = mapper.readTree(result.get("a").textValue()); assertThat(mergedArray).containsExactlyInAnyOrder( mapper.createObjectNode().put("name", "key").put("value", "source") ); }
@Override public JsonNode digest(final JsonNode schema) { final ObjectNode ret = FACTORY.objectNode(); final ArrayNode allowedTypes = FACTORY.arrayNode(); ret.put(keyword, allowedTypes); final JsonNode node = schema.get(keyword); final EnumSet<NodeType> typeSet = EnumSet.noneOf(NodeType.class); if (node.isTextual()) // Single type typeSet.add(NodeType.fromName(node.textValue())); else // More than one type for (final JsonNode element: node) typeSet.add(NodeType.fromName(element.textValue())); if (typeSet.contains(NodeType.NUMBER)) typeSet.add(NodeType.INTEGER); /* * Note that as this is an enumset, order is guaranteed */ for (final NodeType type: typeSet) allowedTypes.add(type.toString()); return ret; } }
@Override public T deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { ObjectMapper mapper = (ObjectMapper) p.getCodec(); ObjectNode root = mapper.readTree(p); Iterator<Map.Entry<String, JsonNode>> iterator = root.fields(); while (iterator.hasNext()) { Map.Entry<String, JsonNode> entry = iterator.next(); if (entry.getKey().equals(TYPE_KEY)) { Class<? extends T> configClass = concreteFactory.apply(entry.getValue().asText()); root.remove(TYPE_KEY); return mapper.convertValue(root, configClass); } } throw new ConfigurationException("Failed to deserialize polymorphic " + _valueClass.getSimpleName() + " configuration"); } }
private ObjectNode objectSchema(JsonNode exampleObject) { ObjectNode schema = this.objectMapper.createObjectNode(); schema.put("type", "object"); ObjectNode properties = this.objectMapper.createObjectNode(); for (Iterator<String> iter = exampleObject.fieldNames(); iter.hasNext();) { String property = iter.next(); properties.set(property, schemaFromExample(exampleObject.get(property))); } schema.set("properties", properties); return schema; }
@Override public JsonNode digest(final JsonNode schema) { final ObjectNode ret = FACTORY.objectNode(); final ObjectNode propertyDeps = FACTORY.objectNode(); ret.put("propertyDeps", propertyDeps); final ArrayNode schemaDeps = FACTORY.arrayNode(); ret.put("schemaDeps", schemaDeps); final List<String> list = Lists.newArrayList(); final Map<String, JsonNode> map = JacksonUtils.asMap(schema.get(keyword)); String key; JsonNode value; for (final Map.Entry<String, JsonNode> entry: map.entrySet()) { key = entry.getKey(); value = entry.getValue(); if (value.isObject()) // schema dep list.add(key); else // property dep propertyDeps.put(key, sortedSet(value)); } for (final String s: Ordering.natural().sortedCopy(list)) schemaDeps.add(s); return ret; }
@Override protected JsonNode generateDigest() { final ArrayNode schemaDeps = FACTORY.arrayNode(); schemaDeps.add("a"); schemaDeps.add("b"); final ObjectNode ret = FACTORY.objectNode(); ret.put("propertyDeps", FACTORY.objectNode()); ret.put("schemaDeps", schemaDeps); return ret; } }
private void addApiDefinitionBody(JsonNode resources) throws IOException { for (Entry<String, File> api : apis.entrySet()) { JsonNode swagger = inputMapper.readTree(api.getValue()); ObjectNode properties = (ObjectNode) resources.get(api.getKey()).get("Properties"); properties.set("DefinitionBody", swagger); } } }
@Test public void mergeDefinitions_ReplacesKeysFromSourceWithReplacement() throws Exception { // Given ObjectNode a = mapper.createObjectNode(); ObjectNode b = mapper.createObjectNode(); a.put("a", "a"); b.put("a", "b"); // When JsonNode result = JsonMerger.merge(a, b, mergeStrategy()); // Then assertThat(result).hasSize(1); assertThat(result.get("a")).isEqualTo(TextNode.valueOf("b")); }
public void changeUserTaskCandidateGroup(String id, String candidateGroup, boolean overwriteOtherChangedEntries, ObjectNode infoNode) { ArrayNode valuesNode = null; if (overwriteOtherChangedEntries) { valuesNode = processEngineConfiguration.getObjectMapper().createArrayNode(); } else { if (doesElementPropertyExist(id, USER_TASK_CANDIDATE_GROUPS, infoNode)) { valuesNode = (ArrayNode) infoNode.get(BPMN_NODE).get(id).get(USER_TASK_CANDIDATE_GROUPS); } if (valuesNode == null || valuesNode.isNull()) { valuesNode = processEngineConfiguration.getObjectMapper().createArrayNode(); } } valuesNode.add(candidateGroup); setElementProperty(id, USER_TASK_CANDIDATE_GROUPS, valuesNode, infoNode); }
private String removeNode(String json, ObjectMapper mapper, String toRemove) throws Exception { ObjectNode node = mapper.getFactory().createParser(json).readValueAsTree(); node.remove(toRemove); String result = mapper.writeValueAsString(node); JSONAssert.assertNotEquals(json, result, false); return result; }