Example usage for com.fasterxml.jackson.databind.node ObjectNode size

List of usage examples for com.fasterxml.jackson.databind.node ObjectNode size

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.node ObjectNode size.

Prototype

public int size() 

Source Link

Usage

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;
}