Example usage for com.fasterxml.jackson.databind.node ArrayNode add

List of usage examples for com.fasterxml.jackson.databind.node ArrayNode add

Introduction

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

Prototype

public ArrayNode add(JsonNode paramJsonNode) 

Source Link

Usage

From source file:org.wrml.runtime.format.application.vnd.wrml.design.schema.SchemaDesignFormatter.java

public static ObjectNode buildSchemaNode(final ObjectMapper objectMapper, final URI schemaUri,
        final SchemaLoader schemaLoader, final Set<URI> addedBaseSchemaUris) {

    final Prototype prototype = schemaLoader.getPrototype(schemaUri);
    if (prototype == null) {
        return null;
    }//www.j a  va 2  s .co  m

    final ObjectNode schemaNode = objectMapper.createObjectNode();
    schemaNode.put(PropertyName.localName.name(), prototype.getUniqueName().getLocalName());
    schemaNode.put(PropertyName.title.name(), prototype.getTitle());
    schemaNode.put(PropertyName.uri.name(), schemaUri.toString());
    schemaNode.put(PropertyName.version.name(), prototype.getVersion());

    String titleSlotName = prototype.getTitleSlotName();
    if (StringUtils.isNotBlank(titleSlotName)) {
        schemaNode.put(PropertyName.titleSlotName.name(), titleSlotName);
    } else {
        titleSlotName = getTitleSlotName(schemaUri, schemaLoader);
        if (StringUtils.isNotBlank(titleSlotName)) {
            schemaNode.put(PropertyName.titleSlotName.name(), titleSlotName);
        }
    }

    final Set<String> allSlotNames = prototype.getAllSlotNames();
    if (allSlotNames != null && !allSlotNames.isEmpty()) {
        final ArrayNode propertyNamesNode = objectMapper.createArrayNode();

        for (final String slotName : allSlotNames) {
            final ProtoSlot protoSlot = prototype.getProtoSlot(slotName);
            if (protoSlot instanceof LinkProtoSlot) {
                continue;
            }

            if (protoSlot.getDeclaringSchemaUri().equals(schemaUri)) {
                propertyNamesNode.add(slotName);
            }
        }
        if (propertyNamesNode.size() > 0) {
            schemaNode.put(PropertyName.propertyNames.name(), propertyNamesNode);
        }
    }

    final Set<String> keySlotNames = prototype.getDeclaredKeySlotNames();
    if (keySlotNames != null && !keySlotNames.isEmpty()) {
        final ArrayNode keyPropertyNamesNode = objectMapper.createArrayNode();

        for (final String keySlotName : keySlotNames) {
            keyPropertyNamesNode.add(keySlotName);
        }

        if (keyPropertyNamesNode.size() > 0) {
            schemaNode.put(PropertyName.keyPropertyNames.name(), keyPropertyNamesNode);
        }
    }

    final Set<String> allKeySlotNames = prototype.getAllKeySlotNames();
    final ArrayNode allKeySlotNamesNode = objectMapper.createArrayNode();
    schemaNode.put(PropertyName.allKeySlotNames.name(), allKeySlotNamesNode);

    for (final String keySlotName : allKeySlotNames) {
        allKeySlotNamesNode.add(keySlotName);
    }

    final Set<String> comparablePropertyNames = prototype.getComparableSlotNames();
    if (comparablePropertyNames != null && !comparablePropertyNames.isEmpty()) {
        final ArrayNode comparablePropertyNamesNode = objectMapper.createArrayNode();

        for (final String comparablePropertyName : comparablePropertyNames) {
            comparablePropertyNamesNode.add(comparablePropertyName);
        }

        if (comparablePropertyNamesNode.size() > 0) {
            schemaNode.put(PropertyName.comparablePropertyNames.name(), comparablePropertyNamesNode);
        }
    }

    final Map<URI, LinkProtoSlot> linkProtoSlots = prototype.getLinkProtoSlots();
    if (linkProtoSlots != null && !linkProtoSlots.isEmpty()) {
        final ArrayNode linkNamesNode = objectMapper.createArrayNode();

        for (final LinkProtoSlot linkProtoSlot : linkProtoSlots.values()) {
            if (linkProtoSlot.getDeclaringSchemaUri().equals(schemaUri)) {
                linkNamesNode.add(linkProtoSlot.getName());
            }
        }

        if (linkNamesNode.size() > 0) {
            schemaNode.put(PropertyName.linkNames.name(), linkNamesNode);
        }
    }

    final Set<URI> declaredBaseSchemaUris = prototype.getDeclaredBaseSchemaUris();
    if (declaredBaseSchemaUris != null && !declaredBaseSchemaUris.isEmpty() && addedBaseSchemaUris != null) {

        final ArrayNode baseSchemasNode = objectMapper.createArrayNode();
        for (final URI baseSchemaUri : declaredBaseSchemaUris) {
            if (!addedBaseSchemaUris.contains(baseSchemaUri)) {
                final ObjectNode baseSchemaNode = buildSchemaNode(objectMapper, baseSchemaUri, schemaLoader,
                        addedBaseSchemaUris);
                baseSchemasNode.add(baseSchemaNode);
                addedBaseSchemaUris.add(baseSchemaUri);
            }
        }

        if (baseSchemasNode.size() > 0) {
            schemaNode.put(PropertyName.baseSchemas.name(), baseSchemasNode);
        }
    }

    return schemaNode;
}

From source file:org.opendaylight.sfc.sbrest.provider.task.SbRestSfstTaskTest.java

private ObjectNode buildServiceFunctionSchedulerTypeObjectNode() {
    ObjectNode topNode = mapper.createObjectNode();
    ObjectNode sfstNode = mapper.createObjectNode();
    sfstNode.put(SfstExporterFactory._NAME, SFST_NAME);
    ArrayNode arrayNode = mapper.createArrayNode();

    arrayNode.add(sfstNode);
    topNode.put(SfstExporterFactory._SERVICE_FUNCTION_SCHEDULE_TYPE, arrayNode);
    return topNode;
}

From source file:org.envirocar.server.rest.encoding.json.UsersJSONEncoder.java

@Override
public ObjectNode encodeJSON(Users t, AccessRights rights, MediaType mediaType) {
    ObjectNode root = getJsonFactory().objectNode();
    ArrayNode users = root.putArray(JSONConstants.USERS_KEY);
    for (User u : t) {
        users.add(userEncoder.encodeJSON(u, rights, mediaType));
    }//from  w w w.  j  ava  2  s. c  o  m
    return root;
}

From source file:com.redhat.lightblue.query.ProjectionList.java

@Override
public JsonNode toJson() {
    ArrayNode arr = getFactory().arrayNode();
    for (Projection x : items) {
        arr.add(x.toJson());
    }/*  w ww . j a  v  a 2  s .co m*/
    return arr;
}

From source file:org.opendaylight.sfc.sbrest.json.SfstExporterFactory.java

@Override
public String exportJsonNameOnly(DataObject dataObject) {
    String ret = null;/*from ww w .j a va2  s.c  o m*/

    if (dataObject instanceof ServiceFunctionSchedulerType) {
        ServiceFunctionSchedulerType obj = (ServiceFunctionSchedulerType) dataObject;

        ObjectNode node = mapper.createObjectNode();
        node.put(_NAME, obj.getName());
        ArrayNode sfstArray = mapper.createArrayNode();
        sfstArray.add(node);
        ret = "{\"" + _SERVICE_FUNCTION_SCHEDULE_TYPE + "\":" + sfstArray.toString() + "}";
    } else {
        throw new IllegalArgumentException("Argument is not an instance of ServiceFunctionSchedulerType");
    }

    return ret;
}

From source file:org.envirocar.server.rest.encoding.json.GroupsJSONEncoder.java

@Override
public ObjectNode encodeJSON(Groups t, AccessRights rights, MediaType mediaType) {
    ObjectNode root = getJsonFactory().objectNode();
    ArrayNode groups = root.putArray(JSONConstants.GROUPS_KEY);
    for (Group u : t) {
        groups.add(groupEncoder.encodeJSON(u, rights, mediaType));
    }// www.  j a  v a2 s .co m
    return root;
}

From source file:org.envirocar.server.rest.encoding.json.TracksJSONEncoder.java

@Override
public ObjectNode encodeJSON(Tracks t, AccessRights rights, MediaType mediaType) {
    ObjectNode root = getJsonFactory().objectNode();
    ArrayNode tracks = root.putArray(JSONConstants.TRACKS_KEY);
    for (Track u : t) {
        tracks.add(trackEncoder.encodeJSON(u, rights, mediaType));
    }/*w w  w.j  a  va  2  s. c  om*/
    return root;
}

From source file:com.github.fge.jsonschema.keyword.validator.callback.draftv3.DraftV3TypeValidatorTest.java

@Override
protected void checkKoKo(final ProcessingReport report) throws ProcessingException {
    final ArgumentCaptor<ProcessingMessage> captor = ArgumentCaptor.forClass(ProcessingMessage.class);

    verify(report).error(captor.capture());

    final ProcessingMessage message = captor.getValue();
    final ObjectNode reports = FACTORY.objectNode();

    final ArrayNode oneReport = FACTORY.arrayNode();
    oneReport.add(MSG.asJson());
    reports.put(ptr1.toString(), oneReport);
    reports.put(ptr2.toString(), oneReport);

    assertMessage(message).isValidationError(keyword, BUNDLE.printf("err.common.schema.noMatch", 2))
            .hasField("reports", reports);
}

From source file:org.envirocar.server.rest.encoding.json.BadgesJSONEncoder.java

@Override
public ObjectNode encodeJSON(Badges badges, AccessRights rights, MediaType mediaType) {
    ObjectNode root = getJsonFactory().objectNode();
    ArrayNode annos = root.putArray(JSONConstants.BADGES_KEY);

    for (Badge b : badges) {
        annos.add(badgeEncoder.encodeJSON(b, rights, mediaType));
    }/*from   w  w  w  .j  a v  a  2s . c  o m*/
    return root;
}

From source file:com.pros.jsontransform.plugin.sort.ArraySortByAvgAge.java

public static void sort(final ArrayNode arrayNode, final JsonNode sortNode, final ObjectTransformer transformer)
        throws ObjectTransformerException {
    // target array does not contain age information so
    // we need to use the source array from transformer context to perform the sort
    ArrayNode sourceArray = (ArrayNode) transformer.getSourceNode();

    // move source and target array nodes to sorting array
    int size = arrayNode.size();
    ArrayList<JsonNode> sortingArray = new ArrayList<JsonNode>(arrayNode.size());
    for (int i = 0; i < size; i++) {
        ObjectNode sortingElement = transformer.mapper.createObjectNode();
        sortingElement.put("source", sourceArray.get(i));
        sortingElement.put("target", arrayNode.remove(0));
        sortingArray.add(sortingElement);
    }//from w  w w .ja va  2  s. c  o m

    // sort array
    sortingArray.sort(new AvgAgeComparator(sortNode));

    // move nodes back to targetArray
    for (int i = 0; i < sortingArray.size(); i++) {
        arrayNode.add(sortingArray.get(i).get("target"));
    }
}