List of usage examples for com.fasterxml.jackson.databind.node ObjectNode size
public int size()
From source file:org.apache.streams.plugins.hive.StreamsHiveResourceGenerator.java
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character seperator) {//from ww w . j av a2s . c om ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if (propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, seperator); } return builder; }
From source file:org.apache.streams.plugins.hive.StreamsHiveResourceGenerator.java
private StringBuilder appendStructField(StringBuilder builder, Schema schema, String fieldId, ObjectNode propertiesNode, Character seperator) { // safe to append nothing Objects.requireNonNull(builder); Objects.requireNonNull(propertiesNode); if (propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { currentDepth += 1;//ww w . j ava 2 s .com if (StringUtils.isNotBlank(fieldId)) { builder.append(hqlEscape(fieldId)); builder.append(seperator); } builder.append("STRUCT"); builder.append(LS); builder.append("<"); builder.append(LS); builder = appendPropertiesNode(builder, schema, propertiesNode, ':'); builder.append(">"); builder.append(LS); currentDepth -= 1; } Objects.requireNonNull(builder); return builder; }
From source file:org.apache.streams.plugins.pig.StreamsPigResourceGenerator.java
protected StringBuilder appendRootObject(StringBuilder builder, Schema schema, String resourceId, Character separator) {// ww w . j a v a 2 s . co m ObjectNode propertiesNode = schemaStore.resolveProperties(schema, null, resourceId); if (propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { builder = appendPropertiesNode(builder, schema, propertiesNode, separator); } return builder; }
From source file:org.apache.streams.plugins.pig.StreamsPigResourceGenerator.java
private StringBuilder appendArrayObject(StringBuilder builder, Schema schema, String fieldId, ObjectNode fieldNode, Character seperator) { // safe to append nothing Objects.requireNonNull(builder); Objects.requireNonNull(fieldId); Objects.requireNonNull(fieldNode); ObjectNode propertiesNode = schemaStore.resolveProperties(schema, fieldNode, fieldId); if (propertiesNode.size() > 0) { builder.append("{t: ("); builder = appendStructField(builder, schema, "", propertiesNode, ':'); builder.append(")}"); }//from w w w . ja v a 2s. co m Objects.requireNonNull(builder); return builder; }
From source file:org.apache.streams.plugins.pig.StreamsPigResourceGenerator.java
private StringBuilder appendStructField(StringBuilder builder, Schema schema, String fieldId, ObjectNode propertiesNode, Character seperator) { // safe to append nothing Objects.requireNonNull(builder); Objects.requireNonNull(propertiesNode); if (propertiesNode != null && propertiesNode.isObject() && propertiesNode.size() > 0) { currentDepth += 1;// w w w. ja v a 2s.co m if (StringUtils.isNotBlank(fieldId)) { builder.append(pigEscape(fieldId)); builder.append(seperator); builder.append("("); builder = appendPropertiesNode(builder, schema, propertiesNode, ':'); builder.append(")"); } currentDepth -= 1; } Objects.requireNonNull(builder); return builder; }
From source file:org.apache.streams.util.schema.SchemaStoreImpl.java
@Override public ObjectNode resolveProperties(Schema schema, ObjectNode fieldNode, String resourceId) { // this should return something more suitable like: // Map<String, Pair<Schema, ObjectNode>> ObjectNode schemaProperties = NODE_FACTORY.objectNode(); ObjectNode parentProperties = NODE_FACTORY.objectNode(); if (fieldNode == null) { ObjectNode schemaContent = (ObjectNode) schema.getContent(); if (schemaContent.has("properties")) { schemaProperties = (ObjectNode) schemaContent.get("properties"); if (schema.getParentContent() != null) { ObjectNode parentContent = (ObjectNode) schema.getParentContent(); if (parentContent.has("properties")) { parentProperties = (ObjectNode) parentContent.get("properties"); }// ww w . j a va 2 s .com } } } else if (fieldNode.size() > 0) { if (fieldNode.has("properties") && fieldNode.get("properties").isObject() && fieldNode.get("properties").size() > 0) { schemaProperties = (ObjectNode) fieldNode.get("properties"); } URI parentUri = null; if (fieldNode.has("$ref") || fieldNode.has("extends")) { JsonNode refNode = fieldNode.get("$ref"); JsonNode extendsNode = fieldNode.get("extends"); if (refNode != null && refNode.isValueNode()) { parentUri = URI.create(refNode.asText()); } else if (extendsNode != null && extendsNode.isObject()) { parentUri = URI.create(extendsNode.get("$ref").asText()); } ObjectNode parentContent = null; URI absoluteUri; if (parentUri.isAbsolute()) { absoluteUri = parentUri; } else { absoluteUri = schema.getUri().resolve(parentUri); if (!absoluteUri.isAbsolute() || (absoluteUri.isAbsolute() && !getByUri(absoluteUri).isPresent())) { absoluteUri = schema.getParentUri().resolve(parentUri); } } if (absoluteUri.isAbsolute()) { if (getByUri(absoluteUri).isPresent()) { parentContent = (ObjectNode) getByUri(absoluteUri).get().getContent(); } if (parentContent != null && parentContent.isObject() && parentContent.has("properties")) { parentProperties = (ObjectNode) parentContent.get("properties"); } else if (absoluteUri.getPath().endsWith("#properties")) { absoluteUri = URI.create(absoluteUri.toString().replace("#properties", "")); parentProperties = (ObjectNode) getByUri(absoluteUri).get().getContent().get("properties"); } } } } ObjectNode resolvedProperties = NODE_FACTORY.objectNode(); if (parentProperties != null && parentProperties.size() > 0) { resolvedProperties = SchemaUtil.mergeProperties(schemaProperties, parentProperties); } else { resolvedProperties = schemaProperties.deepCopy(); } return resolvedProperties; }
From source file:org.apache.streams.util.schema.SchemaStoreImpl.java
/** * resolve full definition of 'items'.// w w w . j a v a 2 s .co m * @param schema Schema * @param fieldNode ObjectNode * @param resourceId resourceId * @return ObjectNode */ public ObjectNode resolveItems(Schema schema, ObjectNode fieldNode, String resourceId) { ObjectNode schemaItems = NODE_FACTORY.objectNode(); ObjectNode parentItems = NODE_FACTORY.objectNode(); if (fieldNode == null) { ObjectNode schemaContent = (ObjectNode) schema.getContent(); if (schemaContent.has("items")) { schemaItems = (ObjectNode) schemaContent.get("items"); if (schema.getParentContent() != null) { ObjectNode parentContent = (ObjectNode) schema.getParentContent(); if (parentContent.has("items")) { parentItems = (ObjectNode) parentContent.get("items"); } } } } else if (fieldNode.size() > 0) { if (fieldNode.has("items") && fieldNode.get("items").isObject() && fieldNode.get("items").size() > 0) { schemaItems = (ObjectNode) fieldNode.get("items"); } URI parentUri = null; if (fieldNode.has("$ref") || fieldNode.has("extends")) { JsonNode refNode = fieldNode.get("$ref"); JsonNode extendsNode = fieldNode.get("extends"); if (refNode != null && refNode.isValueNode()) { parentUri = URI.create(refNode.asText()); } else if (extendsNode != null && extendsNode.isObject()) { parentUri = URI.create(extendsNode.get("$ref").asText()); } ObjectNode parentContent = null; URI absoluteUri; if (parentUri.isAbsolute()) { absoluteUri = parentUri; } else { absoluteUri = schema.getUri().resolve(parentUri); if (!absoluteUri.isAbsolute() || (absoluteUri.isAbsolute() && !getByUri(absoluteUri).isPresent())) { absoluteUri = schema.getParentUri().resolve(parentUri); } } if (absoluteUri.isAbsolute()) { if (getByUri(absoluteUri).isPresent()) { parentContent = (ObjectNode) getByUri(absoluteUri).get().getContent(); } if (parentContent != null && parentContent.isObject() && parentContent.has("items")) { parentItems = (ObjectNode) parentContent.get("items"); } else if (absoluteUri.getPath().endsWith("#items")) { absoluteUri = URI.create(absoluteUri.toString().replace("#items", "")); parentItems = (ObjectNode) getByUri(absoluteUri).get().getContent().get("items"); } } } } ObjectNode resolvedItems = NODE_FACTORY.objectNode(); if (parentItems != null && parentItems.size() > 0) { resolvedItems = SchemaUtil.mergeProperties(schemaItems, parentItems); } else { resolvedItems = schemaItems.deepCopy(); } return resolvedItems; }