List of usage examples for com.fasterxml.jackson.databind.node JsonNodeFactory arrayNode
public ArrayNode arrayNode()
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; }