/** * Encode the object for couchbase storage. * * @param source the source value. * @return the storable object. */ private Object encode(final Map<String, ByteIterator> source) { Map<String, String> stringMap = StringByteIterator.getStringMap(source); if (!useJson) { return stringMap; } ObjectNode node = JSON_MAPPER.createObjectNode(); for (Map.Entry<String, String> pair : stringMap.entrySet()) { node.put(pair.getKey(), pair.getValue()); } JsonFactory jsonFactory = new JsonFactory(); Writer writer = new StringWriter(); try { JsonGenerator jsonGenerator = jsonFactory.createGenerator(writer); JSON_MAPPER.writeTree(jsonGenerator, node); } catch (Exception e) { throw new RuntimeException("Could not encode JSON value"); } return writer.toString(); } }
@Override public void jsonWrite(JsonGenerator writer, JsonNode value) throws IOException { objectMapper.writeTree(writer, value); }
@Override public InputStream open(String path) throws IOException { final JsonNode originalNode = objectMapper.readTree(yamlFactory.createParser(delegate.open(defaultConfigurationPath))); final JsonNode overrideNode = objectMapper.readTree(yamlFactory.createParser(delegate.open(path))); if (!(originalNode instanceof ObjectNode && overrideNode instanceof ObjectNode)) { throw new SingularityConfigurationMergeException(String.format("Both %s and %s need to be YAML objects", defaultConfigurationPath, path)); } merge((ObjectNode)originalNode, (ObjectNode)overrideNode); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); objectMapper.writeTree(yamlFactory.createGenerator(baos), originalNode); return new ByteArrayInputStream(baos.toByteArray()); }
@Override public void jsonWrite(JsonGenerator writer, JsonNode value) throws IOException { objectMapper.writeTree(writer, value); }
@Override public void jsonWrite(JsonGenerator writer, JsonNode value) throws IOException { objectMapper.writeTree(writer, value); }
@Override public void writeTree(JsonGenerator jgen, TreeNode rootNode) { try { super.writeTree(jgen, rootNode); } catch (IOException e) { throw new UncheckedIOException(e); } }
@Override public void writeTree(JsonGenerator jgen, JsonNode rootNode) { try { super.writeTree(jgen, rootNode); } catch (IOException e) { throw new UncheckedIOException(e); } }
@Override public void writeTo(JsonNode jsonNode, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException { JsonGenerator generator = factory.createGenerator(entityStream); mapper.writeTree(generator, jsonNode); } }
@Override public void writeTo(JsonNode jsonNode, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException { JsonGenerator generator = factory.createGenerator(entityStream); mapper.writeTree(generator, jsonNode); } }
public void writeToJsonGenerator(final JsonGenerator gen) throws IOException { // writes '{eventName:<name>,payload:{<data>}}' --it's kind of silly but ultimately inconsequential to nest them like this. gen.writeStartObject(); gen.writeStringField("eventName", eventName); gen.writeFieldName("payload"); /* Note: output format used depends completely on generator we are being passed * and NOT on which mapper we use -- mappers are format independent and rely * on underlying JsonParser/JsonGenerator for low-level handling. */ getObjectMapper().writeTree(gen, root); gen.writeEndObject(); }
public String write_tostring(JsonNode json){ ObjectMapper mapper = new ObjectMapper(); StringWriter out = new StringWriter(); try { JsonFactory fac = new JsonFactory(); JsonGenerator gen = fac.createJsonGenerator(out); // Now write: mapper.writeTree(gen, json); gen.flush(); gen.close(); return out.toString(); } catch(Exception e) { exceptionCounter.incrementAndGet(); logger.warn("Exception in write_tostring: " + e); } return null; }
public SampleTweet() throws IOException { ObjectMapper om = new ObjectMapper(); JsonFactory factory = new JsonFactory(); ImmutableList.Builder<String> b = ImmutableList.builder(); InputStreamReader reader = new InputStreamReader(this.getClass().getResourceAsStream("sample_tweet.json")); try { String tweetArray = CharStreams.toString(reader); ArrayNode parsed = (ArrayNode)om.readTree(tweetArray); for (JsonNode tweet : parsed) { StringWriter sw = new StringWriter(); om.writeTree(factory.createGenerator(sw), tweet); b.add(sw.toString()); } sampleTweet = Iterators.cycle(b.build()); } finally { reader.close(); } }
public void write(JsonNode node) throws TransformerException { if (node != null) { File cfg = new File(fileName); FileOutputStream fos = null; try { fos = new FileOutputStream(cfg); JsonGenerator generator = mapper.getFactory().createGenerator(fos); generator.useDefaultPrettyPrinter(); mapper.writeTree(generator, node); } catch (Exception e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { throw new TransformerException("Error writting the configuration", e); } } } } }
/** * Pretty prints the given JSON node. * @param node the JSON node * @return the pretty-printed JSON */ public static String prettyPrint(JsonNode node) { ObjectMapper mapper = new ObjectMapper(); JsonFactory factory = new JsonFactory(); StringWriter writer = new StringWriter(); try { JsonGenerator generator = factory.createGenerator(writer); generator.setPrettyPrinter(new DefaultPrettyPrinter()); mapper.writeTree(generator, node); generator.close(); return writer.toString(); } catch (IOException e) { //should never be thrown throw new RuntimeException(e); } }
public void write(JsonNode node) throws TransformerException { if (node != null) { File cfg = new File(fileName); FileOutputStream fos = null; try { fos = new FileOutputStream(cfg); JsonGenerator generator = mapper.getFactory().createGenerator(fos); generator.useDefaultPrettyPrinter(); mapper.writeTree(generator, node); } catch (Exception e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { throw new TransformerException("Error writting the configuration", e); } } } } }
@Override public InputStream open(String path) throws IOException { final JsonNode originalNode = objectMapper.readTree(yamlFactory.createParser(delegate.open(defaultConfigurationPath))); final JsonNode overrideNode = objectMapper.readTree(yamlFactory.createParser(delegate.open(path))); if (!(originalNode instanceof ObjectNode && overrideNode instanceof ObjectNode)) { throw new SingularityConfigurationMergeException(String.format("Both %s and %s need to be YAML objects", defaultConfigurationPath, path)); } merge((ObjectNode)originalNode, (ObjectNode)overrideNode); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); objectMapper.writeTree(yamlFactory.createGenerator(baos), originalNode); return new ByteArrayInputStream(baos.toByteArray()); }
private void processEndArray() throws IOException { Level child; Level parent; child = stack.pop(); if( child.equals(bufferingLevel) ) { filterBufferedNode( child ); mapper.writeTree( generator, child.node ); bufferingLevel = null; bufferingConfig = null; } else if( bufferingLevel == null ) { generator.writeEndArray(); if( !stack.isEmpty() ) { parent = stack.peek(); switch( parent.node.asToken() ) { case START_ARRAY: ((ArrayNode)parent.node ).removeAll(); break; case START_OBJECT: ((ObjectNode)parent.node ).removeAll(); break; default: throw new IllegalStateException(); } } } }
private void processEndArray() throws IOException { Level child; Level parent; child = stack.pop(); if( bufferingLevel == child ) { filterBufferedNode( child ); mapper.writeTree( generator, child.node ); bufferingLevel = null; bufferingConfig = null; } else if( bufferingLevel == null ) { generator.writeEndArray(); if( !stack.isEmpty() ) { parent = stack.peek(); switch( parent.node.asToken() ) { case START_ARRAY: ((ArrayNode)parent.node ).removeAll(); break; case START_OBJECT: ((ObjectNode)parent.node ).removeAll(); break; default: throw new IllegalStateException(); } } } }
private void processEndObject() throws IOException { Level child; Level parent; child = stack.pop(); if( bufferingLevel == child ) { filterBufferedNode( child ); mapper.writeTree( generator, child.node ); bufferingLevel = null; bufferingConfig = null; } else if( bufferingLevel == null ) { generator.writeEndObject(); if( !stack.isEmpty() ) { parent = stack.peek(); switch( parent.node.asToken() ) { case START_ARRAY: ((ArrayNode)parent.node ).removeAll(); break; case START_OBJECT: ((ObjectNode)parent.node ).removeAll(); break; default: throw new IllegalStateException(); } } } }
private void processEndObject() throws IOException { Level child; Level parent; child = stack.pop(); if( child.equals(bufferingLevel) ) { filterBufferedNode( child ); mapper.writeTree( generator, child.node ); bufferingLevel = null; bufferingConfig = null; } else if( bufferingLevel == null ) { generator.writeEndObject(); if( !stack.isEmpty() ) { parent = stack.peek(); switch( parent.node.asToken() ) { case START_ARRAY: ((ArrayNode)parent.node ).removeAll(); break; case START_OBJECT: ((ObjectNode)parent.node ).removeAll(); break; default: throw new IllegalStateException(); } } } }