Example usage for com.fasterxml.jackson.databind.node JsonNodeFactory arrayNode

List of usage examples for com.fasterxml.jackson.databind.node JsonNodeFactory arrayNode

Introduction

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

Prototype

public ArrayNode arrayNode() 

Source Link

Usage

From source file:org.apache.streams.rss.serializer.SyndEntrySerializer.java

private void serializeContents(ObjectNode root, JsonNodeFactory factory, List contents) {
    if (contents == null || contents.size() == 0)
        return;//from   w  w w. ja v a2s. com
    ArrayNode contentsArray = factory.arrayNode();
    for (Object obj : contents) {
        ObjectNode content = factory.objectNode();
        if (obj instanceof Content) {
            Content rssContent = (Content) obj;
            content.put("type", rssContent.getType());
            content.put("value", rssContent.getValue());
        }
        if (obj instanceof com.sun.syndication.feed.atom.Content) {
            com.sun.syndication.feed.atom.Content atomContent = (com.sun.syndication.feed.atom.Content) obj;
            content.put("type", atomContent.getType());
            content.put("value", atomContent.getValue());
            content.put("mode", atomContent.getMode());
            content.put("src", atomContent.getSrc());
        }
        contentsArray.add(content);
    }
    root.put("contents", contentsArray);
}

From source file:org.apache.streams.rss.serializer.SyndEntrySerializer.java

private void serializeCategories(ObjectNode root, JsonNodeFactory factory, List categories) {
    if (categories == null || categories.size() == 0)
        return;/*from   w w w  .  java2  s. c o  m*/
    ArrayNode cats = factory.arrayNode();
    for (Object obj : categories) {
        if (obj instanceof Category) {
            ObjectNode catNode = factory.objectNode();
            Category category = (Category) obj;
            if (category.getDomain() != null)
                catNode.put("domain", category.getDomain());
            if (category.getValue() != null)
                catNode.put("value", category.getValue());
            cats.add(catNode);
        } else if (obj instanceof com.sun.syndication.feed.atom.Category) {
            com.sun.syndication.feed.atom.Category category = (com.sun.syndication.feed.atom.Category) obj;
            ObjectNode catNode = factory.objectNode();
            if (category.getLabel() != null)
                catNode.put("label", category.getLabel());
            if (category.getScheme() != null)
                catNode.put("scheme", category.getScheme());
            if (category.getSchemeResolved() != null)
                catNode.put("schemeResolved", category.getSchemeResolved());
            if (category.getTerm() != null)
                catNode.put("term", category.getTerm());
            cats.add(catNode);
        }
    }
    root.put("categories", cats);
}

From source file:org.apache.streams.rss.serializer.SyndEntrySerializer.java

private void serializeEnclosures(ObjectNode root, JsonNodeFactory factory, List enclosures) {
    if (enclosures == null || enclosures.size() == 0)
        return;/*from  w ww . j a  v a2 s.  com*/
    ArrayNode encls = factory.arrayNode();
    for (Object obj : enclosures) {
        if (obj instanceof Enclosure) {
            Enclosure enclosure = (Enclosure) obj;
            ObjectNode encl = factory.objectNode();
            if (enclosure.getType() != null)
                encl.put("type", enclosure.getType());
            if (enclosure.getUrl() != null)
                encl.put("url", enclosure.getUrl());
            encl.put("length", enclosure.getLength());
            encls.add(encl);
        } else if (obj instanceof SyndEnclosure) {
            SyndEnclosure enclosure = (SyndEnclosure) obj;
            ObjectNode encl = factory.objectNode();
            if (enclosure.getType() != null)
                encl.put("type", enclosure.getType());
            if (enclosure.getUrl() != null)
                encl.put("url", enclosure.getUrl());
            encl.put("length", enclosure.getLength());
            encls.add(encl);
        } else {
            LOGGER.warn("serializeEnclosures does not handle type : {}", obj.getClass().toString());
        }
    }
    root.put("enclosures", encls);
}

From source file:net.mostlyharmless.jghservice.connector.jira.UpdateVersionsOnIssue.java

@Override
public String getJson() throws JsonProcessingException {
    JsonNodeFactory factory = JsonNodeFactory.instance;
    ObjectNode root = factory.objectNode();
    ObjectNode update = factory.objectNode();
    root.put("update", update);

    if (!fixVersionsAdded.isEmpty() || !fixVersionsRemoved.isEmpty()) {
        ArrayNode fixVersions = factory.arrayNode();
        for (String version : fixVersionsAdded) {
            ObjectNode add = factory.objectNode();
            ObjectNode addVersion = factory.objectNode();
            addVersion.put("name", version);
            add.put("add", addVersion);
            fixVersions.add(add);//w  ww.j av a2  s.  c  om
        }

        for (String version : fixVersionsRemoved) {
            ObjectNode remove = factory.objectNode();
            ObjectNode removeVersion = factory.objectNode();
            removeVersion.put("name", version);
            remove.put("remove", removeVersion);
            fixVersions.add(remove);
        }

        update.put("fixVersions", fixVersions);
    }

    if (!affectsVersionsAdded.isEmpty() || !affectsVersionsRemoved.isEmpty()) {
        ArrayNode affectsVersions = factory.arrayNode();
        for (String version : affectsVersionsAdded) {
            ObjectNode add = factory.objectNode();
            ObjectNode addVersion = factory.objectNode();
            addVersion.put("name", version);
            add.put("add", addVersion);
            affectsVersions.add(add);
        }

        for (String version : affectsVersionsRemoved) {
            ObjectNode remove = factory.objectNode();
            ObjectNode removeVersion = factory.objectNode();
            removeVersion.put("name", version);
            remove.put("remove", removeVersion);
            affectsVersions.add(remove);
        }

        update.put("versions", affectsVersions);
    }

    return new ObjectMapper().writeValueAsString(root);

}

From source file:com.cloudera.cdk.morphline.json.JsonMorphlineTest.java

@Test
public void testComplexDocuments() throws Exception {
    morphline = createMorphline("test-morphlines/extractJsonPaths");
    File file = new File(RESOURCES_DIR + "/test-documents/complex.json");
    InputStream in = new FileInputStream(file);
    Record record = new Record();
    record.put(Fields.ATTACHMENT_BODY, in);

    startSession();//from  ww w . j a va  2s.c  o m
    assertEquals(1, collector.getNumStartEvents());
    assertTrue(morphline.process(record));

    assertEquals(1, collector.getRecords().size());
    JsonNode rootNode = (JsonNode) new ObjectMapper().reader(JsonNode.class).readValues(file).next();
    JsonNodeFactory factory = new JsonNodeFactory(false);

    assertEquals(Arrays.asList(10), collector.getFirstRecord().get("/docId"));
    assertEquals(Arrays.asList(rootNode.get("links")), collector.getFirstRecord().get("/links"));

    assertEquals(Arrays.asList(factory.arrayNode()), collector.getFirstRecord().get("/links/backward"));
    assertEquals(factory.arrayNode(), rootNode.get("links").get("backward"));

    List expected = Arrays.asList(factory.arrayNode().add(20).add(40).add(60).add(true).add(false).add(32767)
            .add(2147483647).add(9223372036854775807L).add(1.23).add(1.7976931348623157E308));
    assertEquals(expected, collector.getFirstRecord().get("/links/forward"));
    assertEquals(expected, collector.getFirstRecord().get("/links/forward/[]"));
    assertEquals(expected, collector.getFirstRecord().get("/links/forward[]"));
    assertEquals(Arrays.asList(rootNode.get("name")), collector.getFirstRecord().get("/name"));
    assertEquals(Arrays.asList("en-us", "en", "en-gb"),
            collector.getFirstRecord().get("/name/[]/language/[]/code"));
    assertEquals(Arrays.asList("en-us", "en", "en-gb"),
            collector.getFirstRecord().get("/name[]/language[]/code"));
    assertEquals(Arrays.asList("us", "gb"), collector.getFirstRecord().get("/name/[]/language/[]/country"));
    assertEquals(Arrays.asList("us", "gb"), collector.getFirstRecord().get("/name[]/language[]/country"));
    assertEquals(Arrays.asList(), collector.getFirstRecord().get("/unknownField"));
    assertEquals(Arrays.asList(true), collector.getFirstRecord().get("/links/bool"));
    assertEquals(Arrays.asList(32767), collector.getFirstRecord().get("/links/short"));
    assertEquals(Arrays.asList(2147483647), collector.getFirstRecord().get("/links/int"));
    assertEquals(Arrays.asList(9223372036854775807L), collector.getFirstRecord().get("/links/long"));
    assertEquals(Arrays.asList(1.7976931348623157E308), collector.getFirstRecord().get("/links/double"));

    in.close();
}

From source file:com.redhat.lightblue.crud.CRUDFindRequest.java

/**
 * Populates an object node with the JSON representation of this
 *///w  w  w  .j  a va2  s .co m
public void toJson(JsonNodeFactory factory, ObjectNode node) {
    if (query != null) {
        node.set("query", query.toJson());
    }
    if (projection != null) {
        node.set("projection", projection.toJson());
    }
    if (sort != null) {
        node.set("sort", sort.toJson());
    }
    if (from != null && to != null) {
        ArrayNode arr = factory.arrayNode();
        arr.add(from);
        arr.add(to);
        node.set("range", arr);
    }
}

From source file:org.kitesdk.apps.streaming.StreamDescription.java

private TreeNode toJson() {

    JsonNodeFactory js = JsonNodeFactory.instance;

    ObjectNode root = js.objectNode();// www  .  j av a  2s.  c  o m

    root.put(NAME, getJobName());
    root.put(JOBCLASS, getJobClass().getName());

    ArrayNode streamsArray = js.arrayNode();

    for (Stream stream : getStreams().values()) {

        ObjectNode streamNode = streamsArray.addObject();

        streamNode.put(NAME, stream.getName());

        ObjectNode properties = js.objectNode();

        for (Map.Entry<String, String> prop : stream.getProperties().entrySet()) {

            properties.put(prop.getKey(), prop.getValue());
        }

        streamNode.put(PROPS, properties);
    }

    root.put(STREAMS, streamsArray);

    ArrayNode viewsArray = js.arrayNode();

    for (Map.Entry<String, URI> view : getViewUris().entrySet()) {

        ObjectNode viewNode = viewsArray.addObject();

        viewNode.put(NAME, view.getKey());
        viewNode.put(URI_PROP, view.getValue().toString());
    }

    root.put(VIEWS, viewsArray);

    return root;
}

From source file:org.apache.streams.rss.serializer.SyndEntrySerializer.java

private void serializeLinks(ObjectNode root, JsonNodeFactory factory, List links) {
    if (links == null || links.size() == 0) {
        return;/*from w ww  . j a  va2s .c o m*/
    } else if (links.get(0) instanceof String) {
        serializeListOfStrings(links, "links", root, factory);
    } else if (links.get(0) instanceof SyndLinkImpl) {
        ArrayNode linksArray = factory.arrayNode();
        SyndLinkImpl syndLink;
        ObjectNode linkNode;
        for (Object obj : links) {
            linkNode = factory.objectNode();
            syndLink = (SyndLinkImpl) obj;
            linkNode.put("rel", syndLink.getRel());
            linkNode.put("href", syndLink.getHref());
            linkNode.put("type", syndLink.getType());
            linkNode.put("length", syndLink.getLength());
            linkNode.put("hrefLang", syndLink.getHreflang());
            linkNode.put("title", syndLink.getTitle());
            linksArray.add(linkNode);
        }
        root.put("links", linksArray);
    } else {
        LOGGER.error("No implementation for handling links of class : {}", links.get(0).getClass().toString());
    }
}

From source file:com.redhat.lightblue.eval.ArrayProjector.java

/**
 * Sorts the given array node using the sort criteria given in this ArrayProjector
 *
 * @param array The array node to sort//  w  w  w  .j a  va2  s  . co m
 * @param factory Json node factory
 *
 * If there is a sort criteria defined in <code>this</code>, the array elements are
 * sorted using that.
 *
 * @return A new ArrayNode containing the sorted elements, or if
 * there is no sort defined, the <code>array</code> itself
 */
public ArrayNode sortArray(ArrayNode array, JsonNodeFactory factory) {
    if (sort == null) {
        return array;
    } else {
        List<SortableElement> list = new ArrayList<>(array.size());
        for (Iterator<JsonNode> itr = array.elements(); itr.hasNext();) {
            list.add(new SortableElement(itr.next(), sortFields));
        }
        Collections.sort(list);
        ArrayNode newNode = factory.arrayNode();
        for (SortableElement x : list)
            newNode.add(x.node);
        return newNode;
    }
}

From source file:com.redhat.smonkey.RndArr.java

@Override
public JsonNode generate(JsonNodeFactory nodeFactory, JsonNode data, Monkey mon) {
    int minlength = 1;
    int maxlength = 32;
    int length = -1;

    minlength = Utils.asInt(data.get("minlength"), minlength);
    maxlength = Utils.asInt(data.get("maxlength"), maxlength);
    length = Utils.asInt(data.get("length"), length);
    JsonNode el = data.get("element");
    if (el == null)
        throw new RuntimeException("element is required");

    if (length <= 0) {
        length = Utils.rndi(minlength, maxlength);
    }//from   ww  w  .  j  a  v a  2 s.  c om
    ArrayNode node = nodeFactory.arrayNode();
    for (int i = 0; i < length; i++) {
        node.add(mon.generateNode(el));
    }
    return node;
}