Example usage for com.fasterxml.jackson.core JsonGenerator writeObjectFieldStart

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeObjectFieldStart

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeObjectFieldStart.

Prototype

public final void writeObjectFieldStart(String fieldName) throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") (that will contain a JSON Object value), and the START_OBJECT marker.

Usage

From source file:com.arpnetworking.logback.serialization.ArrayOfJsonSerialziationStrategy.java

/**
 * Serialize an event.//  w  w w  . j a v a 2 s .  c  o m
 *
 * @param event The event.
 * @param eventName The event name.
 * @param keys The message keys.
 * @param jsonValues The message json values.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName, final String[] keys,
        final String[] jsonValues) {
    final StringWriter jsonWriter = new StringWriter();
    try {
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);
        // Start wrapper
        startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        final int argsLength = jsonValues == null ? 0 : jsonValues.length;
        if (keys != null) {
            for (int i = 0; i < keys.length; i++) {
                if (i >= argsLength) {
                    jsonGenerator.writeObjectField(keys[i], null);
                } else {
                    jsonGenerator.writeFieldName(keys[i]);
                    jsonGenerator.writeRawValue(jsonValues[i]);
                }
            }
        }
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        endStenoWrapper(event, eventName, jsonGenerator, _objectMapper);
    } catch (final IOException e) {
        return "Unknown exception: " + e.getMessage();
    }

    return jsonWriter.toString();
}

From source file:com.arpnetworking.logback.serialization.MapSerialziationStrategy.java

/**
 * Serialize an event./*w  w  w. j  a v a 2s  .c  o  m*/
 *
 * @param event The event.
 * @param eventName The event name.
 * @param map The message key to value pairs.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName,
        final Map<String, ? extends Object> map) {
    final StringWriter jsonWriter = new StringWriter();

    try {
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);
        // Start wrapper
        startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        if (map != null) {
            for (final Map.Entry<String, ? extends Object> entry : map.entrySet()) {
                if (isSimpleType(entry.getValue())) {
                    jsonGenerator.writeObjectField(entry.getKey(), entry.getValue());
                } else {
                    jsonGenerator.writeFieldName(entry.getKey());
                    _objectMapper.writeValue(jsonGenerator, entry.getValue());
                }
            }
        }
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        endStenoWrapper(event, eventName, jsonGenerator, _objectMapper);
    } catch (final IOException e) {
        return "Unknown exception: " + e.getMessage();
    }

    return jsonWriter.toString();
}

From source file:com.boundary.zoocreeper.Backup.java

private void dumpNode(JsonGenerator jgen, String path, Stat stat, List<ACL> acls, byte[] data)
        throws IOException {
    jgen.writeObjectFieldStart(path);

    // The number of changes to the ACL of this znode.
    jgen.writeNumberField(FIELD_AVERSION, stat.getAversion());

    // The time in milliseconds from epoch when this znode was created.
    jgen.writeNumberField(FIELD_CTIME, stat.getCtime());

    // The number of changes to the children of this znode.
    jgen.writeNumberField(FIELD_CVERSION, stat.getCversion());

    // The zxid of the change that caused this znode to be created.
    jgen.writeNumberField(FIELD_CZXID, stat.getCzxid());

    // The length of the data field of this znode.
    // jgen.writeNumberField("dataLength", stat.getDataLength());

    // The session id of the owner of this znode if the znode is an ephemeral node. If it is not an ephemeral node,
    // it will be zero.
    jgen.writeNumberField(FIELD_EPHEMERAL_OWNER, stat.getEphemeralOwner());

    // The time in milliseconds from epoch when this znode was last modified.
    jgen.writeNumberField(FIELD_MTIME, stat.getMtime());

    // The zxid of the change that last modified this znode.
    jgen.writeNumberField(FIELD_MZXID, stat.getMzxid());

    // The number of children of this znode.
    jgen.writeNumberField("numChildren", stat.getNumChildren());

    // last modified children?
    jgen.writeNumberField(FIELD_PZXID, stat.getPzxid());

    // The number of changes to the data of this znode.
    jgen.writeNumberField(FIELD_VERSION, stat.getVersion());

    if (data != null) {
        jgen.writeBinaryField(FIELD_DATA, data);
    } else {//from w  w w  .  java2 s.c  o m
        jgen.writeNullField(FIELD_DATA);
    }

    jgen.writeArrayFieldStart(FIELD_ACLS);
    for (ACL acl : acls) {
        jgen.writeStartObject();
        jgen.writeStringField(FIELD_ACL_ID, acl.getId().getId());
        jgen.writeStringField(FIELD_ACL_SCHEME, acl.getId().getScheme());
        jgen.writeNumberField(FIELD_ACL_PERMS, acl.getPerms());
        jgen.writeEndObject();
    }
    jgen.writeEndArray();

    jgen.writeEndObject();
}

From source file:com.arpnetworking.logback.serialization.ArraySerialziationStrategy.java

/**
 * Serialize an event.//from w  ww . ja va  2s .  c  o m
 *
 * @param event The event.
 * @param eventName The event name.
 * @param keys The message keys.
 * @param values The message values.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName, final String[] keys,
        final Object[] values) {

    final StringWriter jsonWriter = new StringWriter();
    try {
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);
        // Start wrapper
        startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        final int argsLength = values == null ? 0 : values.length;
        if (keys != null) {
            for (int i = 0; i < keys.length; i++) {
                if (i >= argsLength) {
                    jsonGenerator.writeObjectField(keys[i], null);
                } else if (isSimpleType(values[i])) {
                    jsonGenerator.writeObjectField(keys[i], values[i]);
                } else {
                    jsonGenerator.writeFieldName(keys[i]);
                    _objectMapper.writeValue(jsonGenerator, values[i]);
                }
            }
        }
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        endStenoWrapper(event, eventName, jsonGenerator, _objectMapper);
    } catch (final IOException e) {
        return "Unknown exception: " + e.getMessage();
    }

    return jsonWriter.toString();
}

From source file:com.microsoft.azure.storage.core.EncryptionData.java

public void serialize(JsonGenerator generator) throws IOException {

    // write wrapped content key
    generator.writeObjectFieldStart(Constants.EncryptionConstants.WRAPPED_CONTENT_KEY);
    this.getWrappedContentKey().serialize(generator);
    generator.writeEndObject();//from   w w w.  j a v a 2 s .c o  m

    // write encryption agent
    generator.writeObjectFieldStart(Constants.EncryptionConstants.ENCRYPTION_AGENT);
    this.getEncryptionAgent().serialize(generator);
    generator.writeEndObject();

    // write content encryption IV
    generator.writeBinaryField(Constants.EncryptionConstants.CONTENT_ENCRYPTION_IV,
            this.getContentEncryptionIV());

    // write key wrapping metadata
    generator.writeObjectFieldStart(Constants.EncryptionConstants.KEY_WRAPPING_METADATA);
    for (String key : this.keyWrappingMetadata.keySet()) {
        generator.writeStringField(key, this.keyWrappingMetadata.get(key));
    }
    generator.writeEndObject();

}

From source file:net.logstash.logback.composite.loggingevent.CallerDataJsonProvider.java

@Override
public void writeTo(JsonGenerator generator, ILoggingEvent event) throws IOException {
    StackTraceElement callerData = extractCallerData(event);
    if (callerData == null) {
        return;/*  ww  w  . j  av a2s .c  o m*/
    }
    if (getFieldName() != null) {
        generator.writeObjectFieldStart(getFieldName());
    }
    JsonWritingUtils.writeStringField(generator, classFieldName, callerData.getClassName());
    JsonWritingUtils.writeStringField(generator, methodFieldName, callerData.getMethodName());
    JsonWritingUtils.writeStringField(generator, fileFieldName, callerData.getFileName());
    JsonWritingUtils.writeNumberField(generator, lineFieldName, callerData.getLineNumber());
    if (getFieldName() != null) {
        generator.writeEndObject();
    }
}

From source file:com.attribyte.essem.es.BooleanQuery.java

public void generate(final JsonGenerator generator) throws IOException {

    if (isEmpty()) {
        return; //Write nothing...there's no constraint.
    }//w  ww  . j a va 2s.c o  m

    generator.writeStartObject();
    {
        generator.writeObjectFieldStart("bool");
        {
            if (mustTerms.size() > 0) {
                generator.writeArrayFieldStart("must");
                for (QueryComponent query : mustTerms) {
                    query.generate(generator);
                }
                generator.writeEndArray();
            }

            if (mustNotTerms.size() > 0) {
                generator.writeArrayFieldStart("must_not");
                for (QueryComponent query : mustNotTerms) {
                    query.generate(generator);
                }
                generator.writeEndArray();
            }

            if (shouldTerms.size() > 0) {
                generator.writeArrayFieldStart("should");
                for (QueryComponent query : shouldTerms) {
                    query.generate(generator);
                }
                generator.writeEndArray();
            }
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();

}

From source file:net.uncontended.precipice.reporting.registry.ToJSON.java

private void writeSlice(JsonGenerator generator, Slice<Result, Rejected> slice) throws IOException {
    generator.writeStartObject();// w ww.j  a  va2s. c  o m
    generator.writeObjectField("start-epoch", slice.startEpoch);
    generator.writeObjectField("end-epoch", slice.endEpoch);

    generator.writeObjectFieldStart("total-result-counts");
    for (Result result : slice.resultClazz.getEnumConstants()) {
        generator.writeObjectField(result.toString(), slice.totalResultCounts[result.ordinal()]);
    }
    generator.writeEndObject();

    generator.writeObjectFieldStart("result-counts");
    for (Result result : slice.resultClazz.getEnumConstants()) {
        generator.writeObjectField(result.toString(), slice.resultCounts[result.ordinal()]);
    }
    generator.writeEndObject();

    generator.writeObjectFieldStart("total-rejected-counts");
    for (Rejected result : slice.rejectedClazz.getEnumConstants()) {
        generator.writeObjectField(result.toString(), slice.totalRejectedCounts[result.ordinal()]);
    }
    generator.writeEndObject();

    generator.writeObjectFieldStart("rejected-counts");
    for (Rejected result : slice.rejectedClazz.getEnumConstants()) {
        generator.writeObjectField(result.toString(), slice.rejectedCounts[result.ordinal()]);
    }
    generator.writeEndObject();

    generator.writeEndObject();
}

From source file:com.cloudera.exhibit.server.json.ExhibitSerializer.java

@Override
public void serialize(Exhibit exhibit, JsonGenerator gen, SerializerProvider provider) throws IOException {
    ExhibitDescriptor desc = exhibit.descriptor();
    // start object
    gen.writeStartObject();//from  w w  w.  ja v  a2s.co m

    // Write attrs
    gen.writeObjectFieldStart("attrs");
    serializeObs(exhibit.attributes(), exhibit.attributes().descriptor(), gen);
    gen.writeEndObject();

    // Write frame column names
    gen.writeObjectFieldStart("columns");
    for (Map.Entry<String, ObsDescriptor> fd : desc.frames().entrySet()) {
        gen.writeArrayFieldStart(fd.getKey());
        for (ObsDescriptor.Field f : fd.getValue()) {
            // TODO: type info?
            gen.writeString(f.name);
        }
        gen.writeEndArray();
    }
    gen.writeEndObject();

    // Write frame obs
    gen.writeObjectFieldStart("frames");
    for (Map.Entry<String, ObsDescriptor> fd : desc.frames().entrySet()) {
        gen.writeArrayFieldStart(fd.getKey());
        ObsDescriptor od = fd.getValue();
        for (Obs obs : exhibit.frames().get(fd.getKey())) {
            gen.writeStartArray();
            serializeObsArray(obs, fd.getValue(), gen);
            gen.writeEndArray();
        }
        gen.writeEndArray();
    }
    gen.writeEndObject();

    // finish object
    gen.writeEndObject();
}

From source file:com.strategicgains.hyperexpress.serialization.siren.jackson.SirenResourceSerializer.java

private void writeProperties(Map<String, Object> properties, JsonGenerator jgen)
        throws JsonProcessingException, IOException {
    if (properties == null || properties.isEmpty())
        return;/*from w w  w.j a  va2s  . c om*/

    jgen.writeObjectFieldStart(PROPERTIES);

    for (Entry<String, Object> entry : properties.entrySet()) {
        jgen.writeObjectField(entry.getKey(), entry.getValue());
    }

    jgen.writeEndObject();
}