@Override public JsonGenerator setCodec(ObjectCodec oc) { delegate.setCodec(oc); return this; }
/** * Serialize as a String */ public String toJson() throws IOException { StringWriter writer = new StringWriter(); try (JsonGenerator generator = jsonFactory.createJsonGenerator(writer) .setCodec(objectMapper)) { toJsonUtf8(generator); } return writer.toString(); }
/** * Serialize as a UTF8 encoded JSON string. */ public byte[] toJsonUtf8() { try { ByteArrayOutputStream bOs = new ByteArrayOutputStream(512); try (JsonGenerator generator = jsonFactory.createJsonGenerator(bOs, JsonEncoding.UTF8) .setCodec(objectMapper)) { toJsonUtf8(generator); } return bOs.toByteArray(); } catch (IOException e) { throw new RuntimeException("Unexpected IOException serializing to ByteArray", e); } }
public String getId() { if (cachedId != null) { return cachedId; } if (datasetLevel.size() == 0 && fileLevel.size() == 0) { cachedId = EMPTY_ID; return cachedId; } try { // ID is calculated by serializing body to JSON and then taking that hash ByteArrayOutputStream bOs = new ByteArrayOutputStream(512); MessageDigest md5Digest = MessageDigest.getInstance("MD5"); try (JsonGenerator generator = jsonFactory.createJsonGenerator(bOs, JsonEncoding.UTF8).setCodec(objectMapper)) { generator.writeStartObject(); bodyToJsonUtf8(generator); generator.writeEndObject(); } byte[] digestBytes = md5Digest.digest(bOs.toByteArray()); cachedId = DatatypeConverter.printHexBinary(digestBytes); return cachedId; } catch (IOException|NoSuchAlgorithmException e) { throw new RuntimeException("Unexpected exception generating id", e); } }
@Override public Iterable<RecordWithMetadata<byte[]>> convertRecord(String outputSchema, RecordWithMetadata<?> inputRecord, WorkUnitState workUnit) throws DataConversionException { try { updateRecordMetadata(inputRecord); ByteArrayOutputStream bOs = new ByteArrayOutputStream(512); try (JsonGenerator generator = jsonFactory.createJsonGenerator(bOs, JsonEncoding.UTF8).setCodec(objectMapper)) { generator.writeStartObject(); writeHeaders(inputRecord, generator); writeRecord(inputRecord, generator); generator.writeEndObject(); } return Collections.singleton(new RecordWithMetadata<byte[]>(bOs.toByteArray(), inputRecord.getMetadata())); } catch (IOException e) { throw new DataConversionException(e); } }
@Override public JsonGenerator setCodec(ObjectCodec oc) { delegate.setCodec(oc); return this; }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec oc) { delegate.setCodec(oc); return this; }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec oc) { delegate.setCodec(oc); return this; }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
@Override public JsonGenerator setCodec(ObjectCodec codec) { return generator.setCodec(codec); }
/** * Serialize as a String */ public String toJson() throws IOException { StringWriter writer = new StringWriter(); try (JsonGenerator generator = jsonFactory.createJsonGenerator(writer) .setCodec(objectMapper)) { toJsonUtf8(generator); } return writer.toString(); }
/** * Serialize as a String */ public String toJson() throws IOException { StringWriter writer = new StringWriter(); try (JsonGenerator generator = jsonFactory.createJsonGenerator(writer) .setCodec(objectMapper)) { toJsonUtf8(generator); } return writer.toString(); }
@Override public void writeJsonTo(final Appendable appendable) throws IOException { JsonGenerator gen = Json.FACTORY.createJsonGenerator(new AppendableWriter(appendable)); gen.setCodec(Json.MAPPER); writeJsonTo(gen); gen.flush(); }
@Override public void writeJsonTo(final Appendable appendable) throws IOException { JsonGenerator gen = Json.FACTORY.createJsonGenerator(new AppendableWriter(appendable)); gen.setCodec(Json.MAPPER); writeJsonTo(gen); gen.flush(); }