Example usage for com.fasterxml.jackson.databind.util TokenBuffer asParser

List of usage examples for com.fasterxml.jackson.databind.util TokenBuffer asParser

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.util TokenBuffer asParser.

Prototype

public JsonParser asParser() 

Source Link

Usage

From source file:com.proofpoint.event.collector.LocalEventClient.java

private <T> Event serializeEvent(T event) throws IOException {
    TokenBuffer tokenBuffer = new TokenBuffer(objectMapper, false);
    eventSerializer.serialize(event, null, tokenBuffer);
    return objectMapper.readValue(tokenBuffer.asParser(), Event.class);
}

From source file:com.opentable.logging.JsonLogEncoder.java

@Override
public void doEncode(ILoggingEvent event) throws IOException {
    final ObjectNode logLine;

    if (customEventClass != null && customEventClass.isAssignableFrom(event.getClass())) {
        final TokenBuffer buf = new TokenBuffer(mapper, false);
        mapper.writerWithType(customEventClass).writeValue(buf, event);
        logLine = mapper.readTree(buf.asParser());
    } else {/*w w w  .  j  av  a 2 s.  c  o  m*/
        logLine = mapper.valueToTree(new ApplicationLogEvent(event));
    }

    final Marker marker = event.getMarker();
    if (marker instanceof LogMetadata) {
        ObjectNode metadataNode = mapper.valueToTree(((LogMetadata) marker).getMetadata());
        logLine.setAll(metadataNode);

        for (Object o : ((LogMetadata) marker).getInlines()) {
            metadataNode = mapper.valueToTree(o);
            logLine.setAll(metadataNode);
        }
    }

    for (Entry<String, String> e : event.getMDCPropertyMap().entrySet()) {
        if (!logLine.has(e.getKey())) {
            logLine.put(e.getKey(), e.getValue());
        }
    }

    logLine.put("sequencenumber", LOG_SEQUENCE_NUMBER.incrementAndGet());

    writeJsonNode(logLine);
}

From source file:org.emfjson.jackson.databind.deser.EObjectDeserializer.java

protected EObject postDeserialize(TokenBuffer buffer, EObject object, EClass defaultType,
        DeserializationContext ctxt) throws IOException {
    if (object == null && defaultType == null) {
        return null;
    }//from  w w  w .ja  va2  s .com

    if (object == null) {
        object = EcoreUtil.create(defaultType);
    }

    final Resource resource = getResource(ctxt);
    final JsonParser jp = buffer.asParser();
    final EObjectPropertyMap propertyMap = builder.construct(object.eClass());

    while (jp.nextToken() != null) {
        final String field = jp.getCurrentName();
        final EObjectProperty property = propertyMap.findProperty(field);

        if (property != null) {
            property.deserializeAndSet(jp, object, ctxt, resource);
        } else {
            handleUnknownProperty(jp, resource, ctxt);
        }
    }
    jp.close();
    buffer.close();
    return object;
}

From source file:org.emfjson.jackson.streaming.StreamReader.java

protected EObject parseObject(JsonParser parser, EReference containment, EObject owner, EClass currentClass)
        throws IOException {

    EObject current = null;//www . j av a 2s  . c  o m

    if (currentClass != null) {
        current = EcoreUtil.create(currentClass);
    }

    final TokenBuffer buffer = new TokenBuffer(parser);

    while (parser.nextToken() != JsonToken.END_OBJECT) {
        final String fieldName = parser.getCurrentName();

        switch (fieldName) {
        case EJS_TYPE_KEYWORD:
            current = create(parser.nextTextValue());
            break;
        case EJS_UUID_ANNOTATION:
            if (resource instanceof UuidResource) {
                if (current != null) {
                    ((UuidResource) resource).setID(current, parser.nextTextValue());
                }
            }
            break;
        default:
            if (current == null && containment != null) {
                final EClass defaultType = containment.getEReferenceType();

                if (!defaultType.isAbstract()) {
                    current = EcoreUtil.create(defaultType);
                }
            }

            if (current != null) {
                readFeature(parser, current, fieldName);
            } else {
                buffer.copyCurrentStructure(parser);
            }
            break;
        }
    }

    buffer.close();

    if (current != null) {
        final JsonParser bufferedParser = buffer.asParser();

        while (bufferedParser.nextToken() != null) {
            readFeature(bufferedParser, current, bufferedParser.getCurrentName());
        }

        bufferedParser.close();
    }

    if (current != null && containment != null && owner != null) {
        EObjects.setOrAdd(owner, containment, current);
    }

    return current;
}