List of usage examples for com.fasterxml.jackson.core JsonParser getCodec
public abstract ObjectCodec getCodec();
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); } }