Example usage for com.fasterxml.jackson.core JsonParser getCodec

List of usage examples for com.fasterxml.jackson.core JsonParser getCodec

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser getCodec.

Prototype

public abstract ObjectCodec getCodec();

Source Link

Document

Accessor for ObjectCodec associated with this parser, if any.

Usage

From source file:com.wealdtech.jackson.modules.LocalDateDeserializer.java

@Override
public LocalDate deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext)
        throws IOException {
    final ObjectCodec oc = jsonParser.getCodec();
    final JsonNode node = oc.readTree(jsonParser);

    LocalDate result = null;/*from ww  w  .j  a v  a 2  s.  c o  m*/
    try {
        result = formatter.parseLocalDate(node.textValue());
    } catch (IllegalArgumentException iae) {
        LOGGER.warn("Attempt to deserialize invalid localdate {}", node.textValue());
        throw new IOException("Invalid localdate value \"" + node.textValue() + "\"", iae);
    }
    return result;
}

From source file:com.pkrete.locationservice.admin.deserializers.SubjectMatterJSONDeserializer.java

@Override
public SubjectMatter deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
        throws IOException {

    ObjectCodec oc = jsonParser.getCodec();
    JsonNode node = oc.readTree(jsonParser);
    // Parse id//from  w  w  w .j  a  va2 s.  co  m
    int id = node.get("id") == null ? 0 : node.get("id").intValue();
    // Parse index term
    String indexTerm = node.get("index_term") == null ? "" : node.get("index_term").textValue();
    // Parse language id
    int languageId = node.get("language_id") == null ? 0 : node.get("language_id").intValue();
    // Get languagesService bean from Application Context
    LanguagesService languagesService = (LanguagesService) ApplicationContextUtils.getApplicationContext()
            .getBean("languagesService");
    // Get language object matching the given id
    Language lang = languagesService.getLanguageById(languageId);
    // Return new SubjectMatter
    return new SubjectMatter(id, indexTerm, lang);
}

From source file:com.wealdtech.jackson.modules.PeriodDeserializer.java

@Override
public Period deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext)
        throws IOException {
    final ObjectCodec oc = jsonParser.getCodec();
    final JsonNode node = oc.readTree(jsonParser);

    Period result = null;/* w ww .  j  av a  2s  .c o  m*/
    try {
        result = formatter.parsePeriod(node.textValue());
    } catch (IllegalArgumentException iae) {
        LOGGER.warn("Attempt to deserialize invalid period {}", node.textValue());
        throw new IOException("Invalid period value", iae);
    }
    return result;
}

From source file:org.brutusin.json.impl.serializers.JsonNodeDeserializer.java

@Override
public JsonNode deserialize(JsonParser jp, DeserializationContext dc)
        throws IOException, JsonProcessingException {
    try {//from ww w  . j a  v a2 s .c  o m
        TreeNode tree = jp.getCodec().readTree(jp);
        return JsonCodec.getInstance().parse(tree.toString(),
                SerializationContext.getCurrentContext() != null
                        ? SerializationContext.getCurrentContext().getMap()
                        : null);
    } catch (ParseException ex) {
        throw new JsonParseException(ex.getMessage(), null);
    }
}

From source file:org.comicwiki.serializers.YearDeserializer.java

@Override
public Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
    ObjectMapper mapper = (ObjectMapper) p.getCodec();
    JsonNode valueNode = mapper.readTree(p);
    String dateText = valueNode.asText();
    try {/*  w ww .jav  a2  s  .  co  m*/
        Date time = new SimpleDateFormat("yyyy").parse(dateText);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(time);
        calendar.set(Calendar.ERA, (dateText.charAt(0) == '+') ? GregorianCalendar.AD : GregorianCalendar.BC);
        return calendar.getTime();
    } catch (ParseException e) {
        throw new IOException(e);
    }
}

From source file:io.gravitee.definition.jackson.datatype.services.healthcheck.deser.RequestDeserializer.java

@Override
public Request deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonNode node = jp.getCodec().readTree(jp);

    Request request = new Request();

    JsonNode uriNode = node.get("uri");
    if (uriNode != null) {
        request.setUri(uriNode.asText());
    } else {/*from  w w w  .  jav a2  s. c om*/
        throw ctxt.mappingException("[healthcheck] URI is required");
    }

    final JsonNode methodNode = node.get("method");
    if (methodNode != null) {
        request.setMethod(HttpMethod.valueOf(methodNode.asText().toUpperCase()));
    } else {
        throw ctxt.mappingException("[healthcheck] Method is required");
    }

    JsonNode bodyNode = node.get("body");
    if (bodyNode != null) {
        request.setBody(bodyNode.asText());
    }

    JsonNode headersNode = node.get("headers");
    if (headersNode != null) {
        List<HttpHeader> headers = new ArrayList<>();
        headersNode.elements().forEachRemaining(headerNode -> {
            HttpHeader header = new HttpHeader();
            header.setName(headerNode.findValue("name").asText());
            header.setValue(headerNode.findValue("value").asText());
            headers.add(header);
        });

        request.setHeaders(headers);
    }

    return request;
}

From source file:com.vinidsl.googleioextended.rest.talk.TalkListDeserializer.java

@Override
public TalkListResponse deserialize(JsonParser jsonParser, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    ObjectCodec oc = jsonParser.getCodec();
    JsonNode node = oc.readTree(jsonParser);
    TalkListResponse responseData = new TalkListResponse();
    if (node.has("results")) {
        String nodeAsString = node.get("results").toString();
        ArrayList<Talk> talks = new ObjectMapper().readValue(nodeAsString,
                new TypeReference<ArrayList<Talk>>() {
                });//from   w w  w.j ava 2s  .  c o m
        responseData.setTalkList(talks);
    } else {
        responseData
                .setResponseError(new WrappedError(new Exception("Error while deserializing response result")));
    }
    return responseData;
}

From source file:org.mycontroller.standalone.api.jaxrs.mixins.deserializers.DashboardRowsDeserializer.java

@Override
public String deserialize(JsonParser parser, DeserializationContext context)
        throws IOException, JsonProcessingException {
    final Object obj = OBJECT_MAPPER.treeToValue(parser.getCodec().readTree(parser), Object.class);
    final String rows = OBJECT_MAPPER.writeValueAsString(obj);
    return rows;/*w w  w .  j  a  v  a 2 s.  c  o m*/
}

From source file:com.cloudant.mazha.json.OpenRevisionDeserializer.java

@Override
public OpenRevision deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    ObjectNode node = jp.readValueAsTree();
    if (node.has("ok")) {
        return jp.getCodec().treeToValue(node, OkOpenRevision.class);
    } else if (node.has("missing")) {
        return jp.getCodec().treeToValue(node, MissingOpenRevision.class);
    } else {/*  w ww. j  a v  a2 s. c  o  m*/
        // Should never happen
        throw new IllegalStateException("Unexpected object in open revisions response.");
    }
}

From source file:com.aol.one.patch.DefaultPatchOperationDeser.java

@Override
public DefaultPatchOperation deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
        throws IOException {

    JsonNode node = jsonParser.getCodec().readTree(jsonParser);

    String op = node.get("op").asText();
    String path = node.get("path").asText();

    if (op.equalsIgnoreCase("remove")) {
        try {/* w ww  .j  a  v a2s  .com*/
            return new RemoveOperation(path);
        } catch (PatchException ex) {
            throw new PatchRuntimeException(ErrorCodes.ERR_INVALID_PATH, path, ex);
        }
    }

    if (!op.equalsIgnoreCase("add") && !op.equalsIgnoreCase("replace")) {
        throw new PatchRuntimeException(ErrorCodes.ERR_UNSUPPORTED_PATCH_OP, "unknown op: " + op);
    }

    JsonNode value = node.get("value");
    if (op.equalsIgnoreCase("add")) {
        try {
            return new AddOperation(path, value);
        } catch (PatchException ex) {
            throw new PatchRuntimeException(ErrorCodes.ERR_INVALID_PATH, path, ex);
        }
    }

    try {
        return new ReplaceOperation(path, value);
    } catch (PatchException ex) {
        throw new PatchRuntimeException(ErrorCodes.ERR_INVALID_PATH, path, ex);
    }
}