@Override public String toString() { StringBuilder sb = new StringBuilder(32 + (size() << 4)); sb.append("{"); int count = 0; for (Map.Entry<String, JsonNode> en : _children.entrySet()) { if (count > 0) { sb.append(","); } ++count; TextNode.appendQuoted(sb, en.getKey()); sb.append(':'); sb.append(en.getValue().toString()); } sb.append("}"); return sb.toString(); }
public boolean equals(Object o) { if (o == this) return true; if (o == null) return false; if (o.getClass() != getClass()) { return false; } ObjectNode other = (ObjectNode) o; if (other.size() != size()) { return false; } if (_children != null) { for (Map.Entry<String, JsonNode> en : _children.entrySet()) { String key = en.getKey(); JsonNode value = en.getValue(); JsonNode otherValue = other.get(key); if (otherValue == null || !otherValue.equals(value)) { return false; } } } return true; }
@Override public int length(Object obj) { if (isArray(obj)) { return toJsonArray(obj).size(); } else if (isMap(obj)) { return toJsonObject(obj).size(); } else { if (obj instanceof TextNode) { TextNode element = (TextNode) obj; return element.size(); } } throw new JsonPathException("length operation can not applied to " + obj != null ? obj.getClass().getName() : "null"); }
@Override public int length(Object obj) { if (isArray(obj)) { return toJsonArray(obj).size(); } else if (isMap(obj)) { return toJsonObject(obj).size(); } else { if (obj instanceof TextNode) { TextNode element = (TextNode) obj; return element.size(); } } throw new JsonPathException("length operation can not applied to " + obj != null ? obj.getClass().getName() : "null"); }
@Test public void testJsonStringAndJsonNode() { ObjectToJsonTransformer transformer = new ObjectToJsonTransformer(ObjectToJsonTransformer.ResultType.NODE); Object result = transformer.transform(new GenericMessage<>("{\"foo\": \"FOO\", \"bar\": 1}")).getPayload(); assertThat(result, instanceOf(ObjectNode.class)); ObjectNode objectNode = (ObjectNode) result; assertEquals(2, objectNode.size()); assertEquals("FOO", objectNode.path("foo").textValue()); assertEquals(1, objectNode.path("bar").intValue()); result = transformer.transform(new GenericMessage<>("foo")).getPayload(); assertThat(result, instanceOf(TextNode.class)); assertEquals("foo", ((TextNode) result).textValue()); }
@NotNull private JsonNode params() { if (objectParams.size() > 0) { if (arrayParams.size() > 0) { throw new IllegalArgumentException("Both object and array params are set"); } return objectParams; } return arrayParams; } }
private void encodeScalarCapabilities(ObjectNode jfc, FilterCapabilities fc) { ObjectNode sfc = jfc.objectNode(); // FIXME scalar filter capabilities if (sfc.size() > 0) { jfc.set(JSONConstants.SCALAR, sfc); } }
private void encodeScalarCapabilities(ObjectNode jfc, FilterCapabilities fc) { ObjectNode sfc = jfc.objectNode(); // FIXME scalar filter capabilities if (sfc.size() > 0) { jfc.put(SCALAR, sfc); } }
private void references(final JsonNode resourceDraftNode) { resourceDraftNode.findParents("typeId") .stream() .filter(node -> node.isObject()) .map(node -> (ObjectNode)node) .filter(node -> node.size() == 2 && node.has("id")) .forEach(node -> { final String id = keyToIdMap.get(node.get("id").asText()); node.replace("id", new TextNode(id)); }); } }
private void references(final JsonNode resourceDraftNode) { resourceDraftNode.findParents("typeId") .stream() .filter(node -> node.isObject()) .map(node -> (ObjectNode)node) .filter(node -> node.size() == 2 && node.has("id")) .forEach(node -> { final String id = keyToIdMap.get(node.get("id").asText()); node.replace("id", new TextNode(id)); }); } }
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character seperator) { ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if ( propertiesNode.get("id") != null ) { builder.append("id text PRIMARY KEY,"); builder.append(LS); propertiesNode.remove("id"); } if ( propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, seperator); } return builder; }
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character seperator) { ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if ( propertiesNode.get("id") != null ) { builder.append("id text PRIMARY KEY,"); builder.append(LS); propertiesNode.remove("id"); } if ( propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, seperator); } return builder; }
private void encodeSpatialCapabilities(ObjectNode jfc, FilterCapabilities fc) { ObjectNode sfc = jfc.objectNode(); encodeSpatialOperands(fc, sfc); encodeSpatialOperators(fc, sfc); if (sfc.size() > 0) { jfc.put(SPATIAL, sfc); } }
private void encodeTemporalCapabilities(ObjectNode jfc, FilterCapabilities fc) { ObjectNode tfc = jfc.objectNode(); encodeTemporalOperands(fc, tfc); encodeTemporalOperators(fc, tfc); if (tfc.size() > 0) { jfc.put(TEMPORAL, tfc); } }
@Override protected JsonNode _toJsonInternal(SerializationOptions options) { ObjectNode obj = _jsonObject(); for (Entry<String, JsonOverlay<V>> entry : overlays.entrySet()) { obj.set(entry.getKey(), entry.getValue()._toJson(options.minus(Option.KEEP_ONE_EMPTY))); } return obj.size() > 0 || options.isKeepThisEmpty() ? obj : _jsonMissing(); }
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character separator) { ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if (propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, separator); } return builder; }
private static void validateMultiAnalysisRequiredFields(ObjectNode requestNode) { // Should have 'event_collection', 'analyses' and 'timeframe' top-level keys, at least. assertTrue("Missing required top-level fields.", 3 <= requestNode.size()); assertEquals(TEST_EVENT_COLLECTION, requestNode.get(KeenQueryConstants.EVENT_COLLECTION).asText()); assertEquals("this_8_hours", requestNode.get(KeenQueryConstants.TIMEFRAME).asText()); }
@Test public void testListMeta() { final ObjectNode clientResponse = getMetadataResource(""); Assert.assertEquals(2, clientResponse.size()); Assert.assertEquals(restMetaURL+MetadataResource.PATH_SERVICE,clientResponse.get(MetadataResource.PATH_SERVICE).textValue()); Assert.assertEquals(restMetaURL+MetadataResource.PATH_RESOURCE,clientResponse.get(MetadataResource.PATH_RESOURCE).textValue()); } }
@Test public void testListService() { final ObjectNode clientResponse = getMetadataResource(MetadataResource.PATH_SERVICE); // EntityRepositoryScanner automatically scans entities, so we can't control the registered "services". // And hence we only verify summary here Assert.assertEquals(2, clientResponse.size()); Assert.assertNotNull(clientResponse.get(MetadataResource.SERVICE_COUNT)); Assert.assertNotNull(clientResponse.get(MetadataResource.SERVICE_SERVICES)); } @Test
private static void validatePersistentAnalysisRequiredFields(ObjectNode requestNode) { // Should have 'refresh_rate' and 'query' top-level keys, at least. assertTrue("Missing required top-level fields.", 2 <= requestNode.size()); assertTrue(requestNode.hasNonNull(KeenQueryConstants.REFRESH_RATE)); RefreshRate.validateRefreshRate(requestNode.get(KeenQueryConstants.REFRESH_RATE).asInt()); assertTrue(requestNode.hasNonNull(KeenQueryConstants.QUERY)); // The "query" should have the typical stuff (tested elsewhere) but also the "analysis_type" JsonNode queryNode = requestNode.get(KeenQueryConstants.QUERY); assertTrue(queryNode.hasNonNull(KeenQueryConstants.ANALYSIS_TYPE)); }