List of usage examples for com.fasterxml.jackson.databind DeserializationContext mappingException
public JsonMappingException mappingException(String paramString)
From source file:com.basho.riak.client.raw.http.NamedJSFunctionDeserializer.java
@Override public NamedJSFunction deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken token = jp.getCurrentToken(); if (JsonToken.START_OBJECT.equals(token)) { String name = null;// ww w . j ava 2 s. co m while (!JsonToken.END_OBJECT.equals(token)) { String field = jp.getCurrentName(); if (Constants.FL_SCHEMA_FUN_NAME.equals(field)) { jp.nextToken(); name = jp.getText(); } token = jp.nextToken(); } if (name != null) { return new NamedJSFunction(name); } else { return null; } } throw ctxt.mappingException(NamedJSFunction.class); }
From source file:javaslang.jackson.datatype.deserialize.OptionDeserializer.java
@Override public Option<?> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (plainMode) { Object obj = deserializer(0).deserialize(p, ctxt); return Option.of(obj); }/*from w ww . ja v a 2 s .c o m*/ boolean defined = false; Object value = null; int cnt = 0; while (p.nextToken() != JsonToken.END_ARRAY) { cnt++; switch (cnt) { case 1: String def = (String) stringDeserializer.deserialize(p, ctxt); if ("defined".equals(def)) { defined = true; } else if ("undefined".equals(def)) { defined = false; } else { throw ctxt.mappingException(javaType.getRawClass()); } break; case 2: value = deserializer(0).deserialize(p, ctxt); break; } } if (defined) { if (cnt != 2) { throw ctxt.mappingException(javaType.getRawClass()); } return Option.some(value); } else { if (cnt != 1) { throw ctxt.mappingException(javaType.getRawClass()); } return Option.none(); } }
From source file:org.agorava.twitter.jackson.LocalTrendsDeserializer.java
@Override public LocalTrendsHolder deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode tree = jp.readValueAsTree(); Iterator<JsonNode> dayIt = tree.iterator(); if (dayIt.hasNext()) { JsonNode day = dayIt.next();//from w w w . j ava2s . c o m Date createdAt = toDate(day.get("created_at").asText()); JsonNode trendNodes = day.get("trends"); List<Trend> trends = new ArrayList<Trend>(); for (Iterator<JsonNode> trendsIt = trendNodes.iterator(); trendsIt.hasNext();) { JsonNode trendNode = trendsIt.next(); trends.add(new Trend(trendNode.get("name").asText(), trendNode.get("query").textValue())); } jp.skipChildren(); return new LocalTrendsHolder(new Trends(createdAt, trends)); } throw ctxt.mappingException(LocalTrendsHolder.class); }
From source file:org.springframework.social.twitter.api.impl.LocalTrendsDeserializer.java
@Override public LocalTrendsHolder deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.readValueAs(JsonNode.class); Iterator<JsonNode> dayIt = node.iterator(); if (dayIt.hasNext()) { JsonNode day = dayIt.next();//from w w w . ja v a 2s . co m Date createdAt = toDate(day.get("created_at").asText()); JsonNode trendNodes = day.get("trends"); List<Trend> trends = new ArrayList<Trend>(); for (Iterator<JsonNode> trendsIt = trendNodes.iterator(); trendsIt.hasNext();) { JsonNode trendNode = trendsIt.next(); trends.add(new Trend(trendNode.get("name").asText(), trendNode.get("query").asText())); } jp.skipChildren(); return new LocalTrendsHolder(new Trends(createdAt, trends)); } throw ctxt.mappingException(LocalTrendsHolder.class); }
From source file:com.basho.riak.client.raw.http.NamedErlangFunctionDeserializer.java
@Override public NamedErlangFunction deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken token = jp.getCurrentToken(); if (JsonToken.START_OBJECT.equals(token)) { String mod = null;/*from w ww. j av a 2s . c o m*/ String fun = null; while (!JsonToken.END_OBJECT.equals(token)) { String field = jp.getCurrentName(); if (Constants.FL_SCHEMA_FUN_MOD.equals(field)) { jp.nextToken(); mod = jp.getText(); } else if (Constants.FL_SCHEMA_FUN_FUN.equals(field)) { jp.nextToken(); fun = jp.getText(); } token = jp.nextToken(); } if (mod != null && fun != null) { return new NamedErlangFunction(mod, fun); } else { return null; } } throw ctxt.mappingException(NamedErlangFunction.class); }
From source file:io.swagger.inflector.config.DirectionDeserializer.java
@Override public Set<Configuration.Direction> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.VALUE_FALSE) { return EnumSet.noneOf(Configuration.Direction.class); } else if (token == JsonToken.VALUE_TRUE) { return EnumSet.allOf(Configuration.Direction.class); } else if (token == JsonToken.START_ARRAY) { final Set<Configuration.Direction> items = EnumSet.noneOf(Configuration.Direction.class); while (true) { final JsonToken next = jp.nextToken(); if (next == JsonToken.VALUE_STRING) { final String name = jp.getText(); items.add(Configuration.Direction.valueOf(name)); } else if (next == JsonToken.END_ARRAY) { return items; } else { break; }/*from w ww .ja v a 2s . c o m*/ } } throw ctxt.mappingException(Configuration.Direction.class); }
From source file:com.addthis.bundle.value.ValueDeserializer.java
@Override public ValueObject deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken();/*from ww w. j a va 2 s . c o m*/ switch (t) { case VALUE_TRUE: case VALUE_FALSE: case VALUE_STRING: return jp.readValueAs(ValueString.class); case VALUE_NUMBER_INT: return jp.readValueAs(ValueLong.class); case VALUE_NUMBER_FLOAT: return jp.readValueAs(ValueDouble.class); case START_ARRAY: return jp.readValueAs(ValueArray.class); case START_OBJECT: case FIELD_NAME: return jp.readValueAs(ValueMap.class); case END_OBJECT: // calling jp.readValueAs here will return null rather than an empty map, so make empty map in tokens jp.nextToken(); ObjectNode objectNode = ctxt.getNodeFactory().objectNode(); JsonParser emptyObjectParser = jp.getCodec().treeAsTokens(objectNode); emptyObjectParser.nextToken(); return emptyObjectParser.readValueAs(ValueMap.class); case VALUE_EMBEDDED_OBJECT: default: throw ctxt.mappingException(handledType()); } }
From source file:com.tikinou.schedulesdirect.core.jackson.deser.BooleanYNDeserializer.java
@Override public Boolean deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken();//from w ww. j a v a 2s. c o m if (t == JsonToken.VALUE_TRUE) { return Boolean.TRUE; } if (t == JsonToken.VALUE_FALSE) { return Boolean.FALSE; } if (t == JsonToken.VALUE_NULL) { return null; } if (t == JsonToken.VALUE_NUMBER_INT) { return (jp.getIntValue() != 0); } if (t == JsonToken.VALUE_STRING) { String text = jp.getText().trim(); if ("true".equals(text)) { return Boolean.TRUE; } if ("false".equals(text) || text.length() == 0) { return Boolean.FALSE; } if ("N".equalsIgnoreCase(text) || text.length() == 0) { return Boolean.FALSE; } if ("Y".equalsIgnoreCase(text)) { return Boolean.TRUE; } throw ctxt.weirdStringException(text, Boolean.class, "only \"true\" or \"false\" recognized"); } // Otherwise, no can do: throw ctxt.mappingException(Boolean.class); }
From source file:com.kaaprotech.satu.jackson.SatuDeserializers.java
@Override public JsonDeserializer<?> findCollectionDeserializer(final CollectionType type, final DeserializationConfig config, final BeanDescription beanDesc, final TypeDeserializer elementTypeDeserializer, final JsonDeserializer<?> elementDeserializer) throws JsonMappingException { if (ImmutableSet.class.isAssignableFrom(type.getRawClass())) { return new StdDeserializer<Object>(type) { private static final long serialVersionUID = 1L; @Override/*from w w w . j a v a 2 s . c o m*/ public Object deserialize(JsonParser jp, DeserializationContext context) throws IOException { if (jp.isExpectedStartArrayToken()) { JsonToken t; MutableSet<Object> s = Sets.mutable.of(); while ((t = jp.nextToken()) != JsonToken.END_ARRAY) { Object value; if (t == JsonToken.VALUE_NULL) { value = null; } else if (elementDeserializer == null) { value = jp.readValueAs(type.getContentType().getRawClass()); } else if (elementTypeDeserializer == null) { value = elementDeserializer.deserialize(jp, context); } else { value = elementDeserializer.deserializeWithType(jp, context, elementTypeDeserializer); } s.add(value); } return s.toImmutable(); } throw context.mappingException(type.getRawClass()); } }; } return super.findCollectionDeserializer(type, config, beanDesc, elementTypeDeserializer, elementDeserializer); }
From source file:org.apache.ode.jacob.soup.jackson.MessageDeserializer.java
@Override public Message deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { long id = 0;//from w w w. j ava 2 s.co m String action = null; ChannelRef to = null; ChannelRef replyTo = null; Map<String, Object> headers = null; Object body = null; while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldname = jp.getCurrentName(); if (jp.getCurrentToken() == JsonToken.FIELD_NAME) { // if we're not already on the field, advance by one. jp.nextToken(); } if ("id".equals(fieldname)) { id = jp.getLongValue(); } else if ("action".equals(fieldname)) { action = jp.getText(); } else if ("to".equals(fieldname)) { to = jp.readValueAs(ChannelRef.class); } else if ("replyTo".equals(fieldname)) { replyTo = jp.readValueAs(ChannelRef.class); } else if ("headers".equals(fieldname)) { headers = jp.readValueAs(mapTypeRef); } else if ("body".equals(fieldname)) { body = jp.readValueAs(Object.class); } } if (action == null) { throw ctxt.mappingException(Message.class); } if (to == null) { throw ctxt.mappingException(Message.class); } Message msg = new Message(to, replyTo, action); msg.setHeaders(headers); msg.setBody(body); msg.setId(id); return msg; }