Java Examples for com.fasterxml.jackson.databind.JsonDeserializer
The following java examples will help you to understand the usage of com.fasterxml.jackson.databind.JsonDeserializer. These source code samples are taken from different open source projects.
Example 1
| Project: requery-master File: DeserializerModifier.java View source code |
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (deserializer instanceof BeanDeserializer) { BeanDeserializer beanDeserializer = (BeanDeserializer) deserializer; return new EntityBeanDeserializer(beanDeserializer, deserializer.getObjectIdReader()); } return super.modifyDeserializer(config, beanDesc, deserializer); }
Example 2
| Project: restx-master File: MessageParams.java View source code |
@Override
@SuppressWarnings("unchecked")
public MessageParams deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
JsonDeserializer<Object> mapDeser = ctxt.findRootValueDeserializer(MapType.construct(LinkedHashMap.class, SimpleType.construct(String.class), SimpleType.construct(Object.class)));
Map<String, Object> m = (Map<String, Object>) mapDeser.deserialize(jp, ctxt);
return new MessageParams(ImmutableMap.copyOf(m));
}Example 3
| Project: components-ness-jackson-master File: CommonsLang3Module.java View source code |
@Override
public Pair<?, ?> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
JsonDeserializer<Object> deserK = ctxt.findContextualValueDeserializer(type.containedType(0), null);
JsonDeserializer<Object> deserV = ctxt.findContextualValueDeserializer(type.containedType(1), null);
Object k = null, v = null;
if (!(jp.hasCurrentToken() && jp.getCurrentToken() == JsonToken.START_OBJECT)) {
expect(jp.nextToken(), JsonToken.START_OBJECT, jp, ctxt);
}
while (true) {
JsonToken nextToken = jp.nextToken();
if (nextToken == JsonToken.END_OBJECT) {
break;
}
expect(nextToken, JsonToken.FIELD_NAME, jp, ctxt);
jp.nextToken();
if (KEY_NAMES.contains(jp.getCurrentName())) {
if (k != null) {
throw new JsonMappingException("Multiple key properties for Pair", jp.getCurrentLocation());
}
k = deserK.deserialize(jp, ctxt);
} else if (VALUE_NAMES.contains(jp.getCurrentName())) {
if (v != null) {
throw new JsonMappingException("Multiple value properties for Pair", jp.getCurrentLocation());
}
v = deserV.deserialize(jp, ctxt);
} else {
if (!ctxt.handleUnknownProperty(jp, this, Map.Entry.class, jp.getCurrentName())) {
throw new JsonMappingException("Unknown Pair property " + jp.getCurrentName(), jp.getCurrentLocation());
}
}
}
return Pair.of(k, v);
}Example 4
| Project: elasticsearch-osem-master File: ElasticSearchOsemAnnotationIntrospector.java View source code |
@Override public Class<? extends JsonDeserializer<?>> findDeserializer(Annotated a) { Class clazz = a.getRawType(); if (Collection.class.isAssignableFrom(clazz)) { // Collection should be handled in findContentDeserializer(Annotated a) return null; } Class<? extends JsonDeserializer<?>> deserializer = findDeserializerToUse(a); if (deserializer != null) { return deserializer; } return super.findDeserializer(a); }
Example 5
| Project: ijoyplus-android-master File: BeanPropertyMap.java View source code |
/**
* Factory method for constructing a map where all entries use given
* prefix
*/
public BeanPropertyMap renameAll(NameTransformer transformer) {
if (transformer == null || (transformer == NameTransformer.NOP)) {
return this;
}
Iterator<SettableBeanProperty> it = iterator();
ArrayList<SettableBeanProperty> newProps = new ArrayList<SettableBeanProperty>();
while (it.hasNext()) {
SettableBeanProperty prop = it.next();
String newName = transformer.transform(prop.getName());
prop = prop.withName(newName);
JsonDeserializer<?> deser = prop.getValueDeserializer();
if (deser != null) {
@SuppressWarnings("unchecked") JsonDeserializer<Object> newDeser = (JsonDeserializer<Object>) deser.unwrappingDeserializer(transformer);
if (newDeser != deser) {
prop = prop.withValueDeserializer(newDeser);
}
}
newProps.add(prop);
}
// should we try to re-index? Ordering probably changed but called probably doesn't want changes...
return new BeanPropertyMap(newProps);
}Example 6
| Project: jackson-databind-master File: UntypedObjectDeserializer.java View source code |
/*
/**********************************************************
/* Initialization
/**********************************************************
*/
/**
* We need to implement this method to properly find things to delegate
* to: it can not be done earlier since delegated deserializers almost
* certainly require access to this instance (at least "List" and "Map" ones)
*/
@SuppressWarnings("unchecked")
@Override
public void resolve(DeserializationContext ctxt) throws JsonMappingException {
JavaType obType = ctxt.constructType(Object.class);
JavaType stringType = ctxt.constructType(String.class);
TypeFactory tf = ctxt.getTypeFactory();
// So: first find possible custom instances
if (_listType == null) {
_listDeserializer = _clearIfStdImpl(_findCustomDeser(ctxt, tf.constructCollectionType(List.class, obType)));
} else {
// NOTE: if non-default List type, always consider to be non-standard deser
_listDeserializer = _findCustomDeser(ctxt, _listType);
}
if (_mapType == null) {
_mapDeserializer = _clearIfStdImpl(_findCustomDeser(ctxt, tf.constructMapType(Map.class, stringType, obType)));
} else {
// NOTE: if non-default Map type, always consider to be non-standard deser
_mapDeserializer = _findCustomDeser(ctxt, _mapType);
}
_stringDeserializer = _clearIfStdImpl(_findCustomDeser(ctxt, stringType));
_numberDeserializer = _clearIfStdImpl(_findCustomDeser(ctxt, tf.constructType(Number.class)));
// and then do bogus contextualization, in case custom ones need to resolve dependencies of
// their own
JavaType unknown = TypeFactory.unknownType();
_mapDeserializer = (JsonDeserializer<Object>) ctxt.handleSecondaryContextualization(_mapDeserializer, null, unknown);
_listDeserializer = (JsonDeserializer<Object>) ctxt.handleSecondaryContextualization(_listDeserializer, null, unknown);
_stringDeserializer = (JsonDeserializer<Object>) ctxt.handleSecondaryContextualization(_stringDeserializer, null, unknown);
_numberDeserializer = (JsonDeserializer<Object>) ctxt.handleSecondaryContextualization(_numberDeserializer, null, unknown);
}Example 7
| Project: jackson-datatype-guava-master File: GuavaMultimapDeserializer.java View source code |
/**
* We need to use this method to properly handle possible contextual variants of key and value
* deserializers, as well as type deserializers.
*/
@Override
public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException {
KeyDeserializer kd = keyDeserializer;
if (kd == null) {
kd = ctxt.findKeyDeserializer(type.getKeyType(), property);
}
JsonDeserializer<?> ed = elementDeserializer;
if (ed == null) {
ed = ctxt.findContextualValueDeserializer(type.getContentType(), property);
}
// Type deserializer is slightly different; must be passed, but needs to become contextual:
TypeDeserializer etd = elementTypeDeserializer;
if (etd != null && property != null) {
etd = etd.forProperty(property);
}
return (_createContextual(type, kd, etd, ed, creatorMethod));
}Example 8
| Project: jackson-datatype-jsr310-master File: InstantDeserializer.java View source code |
@SuppressWarnings("unchecked")
@Override
public JsonDeserializer<T> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException {
InstantDeserializer<T> deserializer = (InstantDeserializer<T>) super.createContextual(ctxt, property);
if (deserializer != this) {
JsonFormat.Value val = findFormatOverrides(ctxt, property, handledType());
if (val != null) {
return new InstantDeserializer<>(deserializer, val.getFeature(JsonFormat.Feature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE));
}
}
return this;
}Example 9
| Project: konik-master File: ZinvoiceApiConfig.java View source code |
public ObjectMapper getDefaulObjectMapper() {
SimpleModule module = new SimpleModule();
module.addDeserializer(ZfDate.class, new JsonDeserializer<ZfDate>() {
@Override
public ZfDate deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
Long timestamp = jp.readValueAs(Long.class);
return new ZfDateDay(timestamp);
}
});
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.registerModule(module);
return objectMapper;
}Example 10
| Project: mongojack-master File: TestCustomObjectMapper.java View source code |
private ObjectMapper createObjectMapper() {
SimpleModule module = new SimpleModule("MySimpleModule", new Version(1, 0, 0, null, "", ""));
module.addDeserializer(Custom.class, new JsonDeserializer<Custom>() {
@Override
public Custom deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
JsonNode node = jp.readValueAsTree();
return new Custom(node.get("v1").asText(), node.get("v2").asText());
}
});
module.addSerializer(Custom.class, new JsonSerializer<Custom>() {
@Override
public void serialize(Custom value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
jgen.writeStartObject();
jgen.writeFieldName("v1");
jgen.writeString(value.value1);
jgen.writeFieldName("v2");
jgen.writeString(value.value2);
jgen.writeEndObject();
}
});
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(module);
MongoJackModule.configure(objectMapper);
return objectMapper;
}Example 11
| Project: alien4cloud-master File: JSonMapEntryArrayDeSerializer.java View source code |
@Override public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException { if (ConditionalEnabledHelper.isEnabled(ctxt, property)) { return new JSonMapEntryArrayDeSerializer(property.getType().getKeyType(), property.getType().getContentType()); } BeanDescription beanDesc = ctxt.getConfig().introspect(property.getType()); JsonDeserializer<?> deserializer = ctxt.getFactory().createMapDeserializer(ctxt, (MapType) property.getType(), beanDesc); if (deserializer instanceof ContextualDeserializer) { return ((ContextualDeserializer) deserializer).createContextual(ctxt, property); } return deserializer; }
Example 12
| Project: bonita-ui-designer-master File: JacksonDeserializationProblemHandler.java View source code |
@Override
public boolean handleUnknownProperty(DeserializationContext ctxt, com.fasterxml.jackson.core.JsonParser jp, JsonDeserializer<?> deserializer, Object beanOrClass, String propertyName) throws IOException {
if (beanOrClass instanceof Asset && "inactive".equals(propertyName)) {
logger.info("inactive asset is deprecated since 1.0.1");
return true;
}
if (beanOrClass instanceof Property && "bidirectional".equals(propertyName)) {
logger.info("bidirectional property is deprecated since 1.0.2");
return true;
}
//By default return false
return super.handleUnknownProperty(ctxt, jp, deserializer, beanOrClass, propertyName);
}Example 13
| Project: gennai-master File: TupleValuesDeserializer.java View source code |
public JsonDeserializer<?> findTypedValueDeserializer(FieldType fieldType) {
if (fieldType == null) {
return null;
}
if (fieldType.equals(STRING)) {
return new StringDeserializer();
} else if (fieldType.equals(TINYINT)) {
return new ByteDeserializer(Byte.class, null);
} else if (fieldType.equals(SMALLINT)) {
return new ShortDeserializer(Short.class, null);
} else if (fieldType.equals(INT)) {
return new IntegerDeserializer(Integer.class, null);
} else if (fieldType.equals(BIGINT)) {
return new LongDeserializer(Long.class, null);
} else if (fieldType.equals(FLOAT)) {
return new FloatDeserializer(Float.class, null);
} else if (fieldType.equals(DOUBLE)) {
return new DoubleDeserializer(Double.class, null);
} else if (fieldType.equals(BOOLEAN)) {
return new BooleanDeserializer(Boolean.class, null);
} else if (fieldType instanceof TimestampType) {
return new TimestampDeserializer((TimestampType) fieldType);
} else if (fieldType instanceof ListType) {
return new ListDeserializer((ListType) fieldType, this);
} else if (fieldType instanceof MapType) {
return new MapDeserializer((MapType) fieldType, this);
} else if (fieldType instanceof StructType) {
return new StructDeserializer((StructType) fieldType, this);
}
return null;
}Example 14
| Project: jackson-datatype-protobuf-master File: ProtobufDeserializer.java View source code |
private Object readValue(Message.Builder builder, FieldDescriptor field, Message defaultInstance, JsonParser parser, DeserializationContext context) throws IOException {
final Object value;
if (parser.getCurrentToken() == JsonToken.START_ARRAY) {
if (field.isRepeated()) {
return readArray(builder, field, defaultInstance, parser, context);
} else {
throw mappingException(field, context);
}
}
switch(field.getJavaType()) {
case INT:
value = _parseInteger(parser, context);
if (value == null) {
new NullProvider(SimpleType.construct(Integer.TYPE), 0).nullValue(context);
}
break;
case LONG:
value = _parseLong(parser, context);
if (value == null) {
new NullProvider(SimpleType.construct(Long.TYPE), 0L).nullValue(context);
}
break;
case FLOAT:
value = _parseFloat(parser, context);
if (value == null) {
new NullProvider(SimpleType.construct(Float.TYPE), 0.0f).nullValue(context);
}
break;
case DOUBLE:
value = _parseDouble(parser, context);
if (value == null) {
new NullProvider(SimpleType.construct(Double.TYPE), 0.0d).nullValue(context);
}
break;
case BOOLEAN:
value = _parseBoolean(parser, context);
if (value == null) {
new NullProvider(SimpleType.construct(Boolean.TYPE), false).nullValue(context);
}
break;
case STRING:
switch(parser.getCurrentToken()) {
case VALUE_STRING:
value = parser.getText();
break;
case VALUE_NULL:
value = null;
break;
default:
value = _parseString(parser, context);
}
break;
case BYTE_STRING:
switch(parser.getCurrentToken()) {
case VALUE_STRING:
value = ByteString.copyFrom(context.getBase64Variant().decode(parser.getText()));
break;
case VALUE_NULL:
value = null;
break;
default:
throw mappingException(field, context);
}
break;
case ENUM:
switch(parser.getCurrentToken()) {
case VALUE_STRING:
value = field.getEnumType().findValueByName(parser.getText());
if (value == null && !ignorableEnum(parser.getText().trim(), context)) {
throw context.weirdStringException(parser.getText(), field.getEnumType().getClass(), "value not one of declared Enum instance names");
}
break;
case VALUE_NUMBER_INT:
if (allowNumbersForEnums(context)) {
value = field.getEnumType().findValueByNumber(parser.getIntValue());
if (value == null && !ignoreUnknownEnums(context)) {
throw context.weirdNumberException(parser.getIntValue(), field.getEnumType().getClass(), "index value outside legal index range " + indexRange(field.getEnumType()));
}
} else {
throw context.mappingException("Not allowed to deserialize Enum value out of JSON number " + "(disable DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS to allow)");
}
break;
case VALUE_NULL:
value = null;
break;
default:
throw mappingException(field, context);
}
break;
case MESSAGE:
switch(parser.getCurrentToken()) {
case START_OBJECT:
JsonDeserializer<Object> deserializer = deserializerCache.get(field);
if (deserializer == null) {
final Class<?> subType;
if (defaultInstance == null) {
Message.Builder subBuilder = builder.newBuilderForField(field);
subType = subBuilder.getDefaultInstanceForType().getClass();
} else {
subType = defaultInstance.getClass();
}
JavaType type = SimpleType.construct(subType);
deserializer = context.findContextualValueDeserializer(type, null);
deserializerCache.put(field, deserializer);
}
value = deserializer.deserialize(parser, context);
break;
case VALUE_NULL:
value = null;
break;
default:
throw mappingException(field, context);
}
break;
default:
throw mappingException(field, context);
}
return value;
}Example 15
| Project: paymill-java-master File: Deserializer.java View source code |
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (beanDesc.getBeanClass() == Client.class) { return new Deserializer<Client>(deserializer); } else if (beanDesc.getBeanClass() == Fee.class) { return new Deserializer<Fee>(deserializer); } else if (beanDesc.getBeanClass() == Interval.class) { return new Deserializer<Interval>(deserializer); } else if (beanDesc.getBeanClass() == Offer.class) { return new Deserializer<Offer>(deserializer); } else if (beanDesc.getBeanClass() == Payment.class) { return new Deserializer<Payment>(deserializer); } else if (beanDesc.getBeanClass() == Preauthorization.class) { return new Deserializer<Preauthorization>(deserializer); } else if (beanDesc.getBeanClass() == Refund.class) { return new Deserializer<Refund>(deserializer); } else if (beanDesc.getBeanClass() == Subscription.class) { return new Deserializer<Subscription>(deserializer); } else if (beanDesc.getBeanClass() == Transaction.class) { return new Deserializer<Transaction>(deserializer); } else if (beanDesc.getBeanClass() == Webhook.class) { return new Deserializer<Webhook>(deserializer); } else { return deserializer; } }
Example 16
| Project: profile-master File: AbstractRestHandlerTestBase.java View source code |
protected HttpMessageConvertingResponseWriter createResponseWriter() {
ContentNegotiationManagerFactoryBean factoryBean = new ContentNegotiationManagerFactoryBean();
factoryBean.afterPropertiesSet();
ContentNegotiationManager contentNegotiationManager = factoryBean.getObject();
List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
List<JsonSerializer<?>> serializers = new ArrayList<>();
serializers.add(new ObjectIdSerializer());
Map<Class<?>, JsonDeserializer<?>> deserializers = new HashMap<>();
deserializers.put(ObjectId.class, new ObjectIdDeserializer());
CustomSerializationObjectMapper objectMapper = new CustomSerializationObjectMapper();
objectMapper.setSerializers(serializers);
objectMapper.setDeserializers(deserializers);
objectMapper.init();
MappingJackson2HttpMessageConverter jsonMessageConverter = new MappingJackson2HttpMessageConverter();
jsonMessageConverter.setObjectMapper(objectMapper);
messageConverters.add(jsonMessageConverter);
return new HttpMessageConvertingResponseWriter(contentNegotiationManager, messageConverters);
}Example 17
| Project: rapidoid-master File: RapidoidThingsTest.java View source code |
@Test
public void classesShouldExtendRapidoidThing() {
for (String cls : Cls.getRapidoidClasses()) {
Class<?> clazz = Cls.get(cls);
if (!clazz.isInterface() && !clazz.isEnum() && !clazz.isAnnotation()) {
U.must(RapidoidThing.class.isAssignableFrom(clazz) || clazz == TestCommons.class || cls.startsWith("org.rapidoid.fluent.") || cls.startsWith("org.rapidoid.benchmark.") || Exception.class.isAssignableFrom(clazz) || ClassLoader.class.isAssignableFrom(clazz) || HibernatePersistenceProvider.class.isAssignableFrom(clazz) || OutputStream.class.isAssignableFrom(clazz) || Map.class.isAssignableFrom(clazz) || AbstractMojo.class.isAssignableFrom(clazz) || EmbeddedMavenCli.class.isAssignableFrom(clazz) || JsonSerializer.class.isAssignableFrom(clazz) || JsonDeserializer.class.isAssignableFrom(clazz) || LogFactory.class.isAssignableFrom(clazz) || Thread.class.isAssignableFrom(clazz), "" + cls);
}
}
}Example 18
| Project: solarnetwork-common-master File: ObjectMapperFactoryBean.java View source code |
@Override
public ObjectMapper getObject() throws Exception {
ObjectMapper mapper = getObjectMapper();
if (mapper == null) {
mapper = new ObjectMapper();
setObjectMapper(mapper);
}
SimpleModule module = new SimpleModule(getModuleName(), getModuleVersion());
if (getSerializers() != null) {
for (JsonSerializer<?> serializer : getSerializers()) {
module.addSerializer(serializer);
}
}
if (getDeserializers() != null) {
for (JsonDeserializer<?> deserializer : getDeserializers()) {
registerDeserializer(module, deserializer);
}
}
if (getKeyDeserializers() != null) {
for (TypedKeyDeserializer deserializer : getKeyDeserializers()) {
module.addKeyDeserializer(deserializer.getClass(), deserializer.getKeyDeserializer());
}
}
if (getKeySerializers() != null) {
for (JsonSerializer<?> serializer : getKeySerializers()) {
registerKeySerializer(module, serializer);
}
}
if (serializationInclusion != null) {
mapper.setSerializationInclusion(serializationInclusion);
}
setupFeatures(mapper, featuresToEnable, true);
setupFeatures(mapper, featuresToDisable, false);
mapper.registerModule(module);
return mapper;
}Example 19
| Project: camel-master File: StringMultiSelectPicklistDeserializer.java View source code |
@Override
public JsonDeserializer<?> createContextual(DeserializationContext context, BeanProperty property) throws JsonMappingException {
final Class<?> rawClass = property.getType().getRawClass();
final Class<?> componentType = rawClass.getComponentType();
if (componentType == null || componentType != String.class) {
throw new JsonMappingException(context.getParser(), "Pick list String array expected for " + rawClass);
}
return new StringMultiSelectPicklistDeserializer(rawClass);
}Example 20
| Project: cas-master File: JasigRegisteredServiceDeserializationProblemHandler.java View source code |
@Override
public boolean handleUnknownProperty(final DeserializationContext ctxt, final JsonParser p, final JsonDeserializer<?> deserializer, final Object beanOrClass, final String propertyName) throws IOException {
boolean handled = false;
if (beanOrClass instanceof CachingPrincipalAttributesRepository) {
final CachingPrincipalAttributesRepository repo = CachingPrincipalAttributesRepository.class.cast(beanOrClass);
switch(propertyName) {
case "duration":
p.nextToken();
p.nextToken();
p.nextToken();
p.nextToken();
p.nextToken();
p.nextToken();
final String timeUnit = p.getText();
p.nextToken();
p.nextToken();
p.nextToken();
final int expiration = p.getValueAsInt();
repo.setTimeUnit(timeUnit);
repo.setExpiration(expiration);
LOGGER.warn("CAS has converted legacy JSON property [{}] for type [{}]. It parsed 'expiration' value [{}] with time unit of [{}]." + "It is STRONGLY recommended that you review the configuration and upgrade the legacy syntax.", propertyName, beanOrClass.getClass().getName(), expiration, timeUnit);
handled = true;
break;
default:
break;
}
}
return handled;
}Example 21
| Project: dropwizard-master File: FuzzyEnumModule.java View source code |
@Override
@SuppressWarnings("unchecked")
public JsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription desc) throws JsonMappingException {
// If the user configured to use `toString` method to deserialize enums
if (config.hasDeserializationFeatures(DeserializationFeature.READ_ENUMS_USING_TO_STRING.getMask())) {
return null;
}
// If there is a JsonCreator annotation we should use that instead of the PermissiveEnumDeserializer
final Collection<AnnotatedMethod> factoryMethods = desc.getFactoryMethods();
if (factoryMethods != null) {
for (AnnotatedMethod am : factoryMethods) {
if (am.hasAnnotation(JsonCreator.class)) {
return null;
}
}
}
// Jackson to do the deserialization
for (Field field : type.getFields()) {
for (Annotation annotation : field.getAnnotations()) {
final String packageName = annotation.annotationType().getPackage().getName();
if (packageName.equals("com.fasterxml.jackson.annotation")) {
return null;
}
}
}
return new PermissiveEnumDeserializer((Class<Enum<?>>) type);
}Example 22
| Project: emfjson-jackson-master File: CustomDeserializersTest.java View source code |
@Test
public void testDeserializeReferenceAsStrings() throws JsonProcessingException {
EMFModule module = new EMFModule();
module.configure(EMFModule.Feature.OPTION_USE_ID, true);
module.configure(EMFModule.Feature.OPTION_SERIALIZE_TYPE, false);
module.setReferenceDeserializer(new JsonDeserializer<ReferenceEntry>() {
@Override
public ReferenceEntry deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
final EObject parent = EMFContext.getParent(ctxt);
final EReference reference = EMFContext.getReference(ctxt);
if (p.getCurrentToken() == JsonToken.FIELD_NAME) {
p.nextToken();
}
return new ReferenceEntry.Base(parent, reference, p.getText());
}
});
mapper.registerModule(module);
JsonNode data = mapper.createArrayNode().add(mapper.createObjectNode().put("@id", "1").put("name", "Paul").put("uniqueFriend", "2")).add(mapper.createObjectNode().put("@id", "2").put("name", "Franck"));
Resource resource = mapper.reader().withAttribute(RESOURCE_SET, resourceSet).withAttribute(ROOT_ELEMENT, ModelPackage.Literals.USER).treeToValue(data, Resource.class);
assertEquals(2, resource.getContents().size());
User u1 = (User) resource.getContents().get(0);
User u2 = (User) resource.getContents().get(1);
assertSame(u2, u1.getUniqueFriend());
}Example 23
| Project: java-jwt-master File: HeaderDeserializerTest.java View source code |
@Test
public void shouldThrowOnNullTree() throws Exception {
exception.expect(JWTDecodeException.class);
exception.expectMessage("Parsing the Header's JSON resulted on a Null map");
JsonDeserializer deserializer = new HeaderDeserializer();
JsonParser parser = mock(JsonParser.class);
ObjectCodec codec = mock(ObjectCodec.class);
DeserializationContext context = mock(DeserializationContext.class);
when(codec.readValue(eq(parser), any(TypeReference.class))).thenReturn(null);
when(parser.getCodec()).thenReturn(codec);
deserializer.deserialize(parser, context);
}Example 24
| Project: jbot-master File: SlackDao.java View source code |
public RTM startRTM(String slackToken) {
try {
restTemplate = new RestTemplate();
rtm = new RTM();
// Custom Deserializers
List<HttpMessageConverter<?>> httpMessageConverters = new ArrayList<>();
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
Jackson2ObjectMapperBuilder mapperBuilder = new Jackson2ObjectMapperBuilder();
mapperBuilder.deserializerByType(RTM.class, new JsonDeserializer<RTM>() {
@Override
public RTM deserialize(JsonParser p, DeserializationContext ctxt) {
try {
final ObjectMapper objectMapper = new ObjectMapper();
JsonNode node = p.readValueAsTree();
RTM rtm = new RTM();
rtm.setWebSocketUrl(node.get("url").asText());
rtm.setUser(objectMapper.treeToValue(node.get("self"), User.class));
List<String> dmChannels = new ArrayList<>();
Iterator<JsonNode> iterator = node.get("ims").iterator();
while (iterator.hasNext()) {
dmChannels.add(iterator.next().get("id").asText());
}
rtm.setDmChannels(dmChannels);
List<User> users = new ArrayList<>();
Iterator<JsonNode> userIterator = node.get("users").iterator();
while (userIterator.hasNext()) {
users.add(objectMapper.treeToValue(userIterator.next(), User.class));
}
rtm.setUsers(users);
return rtm;
} catch (Exception e) {
logger.error("Error de-serializing RTM.start(): ", e);
return null;
}
}
});
jsonConverter.setObjectMapper(mapperBuilder.build());
httpMessageConverters.add(jsonConverter);
restTemplate.setMessageConverters(httpMessageConverters);
ResponseEntity<RTM> response = restTemplate.getForEntity(rtmUrl, RTM.class, slackToken);
if (response.getBody() != null) {
rtm.setWebSocketUrl(response.getBody().getWebSocketUrl());
rtm.setDmChannels(response.getBody().getDmChannels());
rtm.setUser(response.getBody().getUser());
rtm.setUsers(response.getBody().getUsers());
logger.debug("RTM connection successful. WebSocket URL: {}", rtm.getWebSocketUrl());
} else {
logger.debug("RTM response invalid. Response: {}", response);
}
} catch (RestClientException e) {
logger.error("RTM connection error. Exception: {}", e.getMessage());
}
return rtm;
}Example 25
| Project: mayocat-shop-master File: PermissiveFuzzyEnumModule.java View source code |
@Override
@SuppressWarnings("unchecked")
public JsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription desc) throws JsonMappingException {
// If there is a JsonCreator annotation we should use that instead of the PermissiveEnumDeserializer
final Collection<AnnotatedMethod> factoryMethods = desc.getFactoryMethods();
if (factoryMethods != null) {
for (AnnotatedMethod am : factoryMethods) {
final JsonCreator creator = am.getAnnotation(JsonCreator.class);
if (creator != null) {
return EnumDeserializer.deserializerForCreator(config, type, am);
}
}
}
return new PermissiveEnumDeserializer((Class<Enum<?>>) type);
}Example 26
| Project: solarnetwork-node-master File: SimpleBatteryAPIClientTests.java View source code |
private ObjectMapper getObjectMapper() {
ObjectMapperFactoryBean factory = new ObjectMapperFactoryBean();
factory.setDeserializers(Arrays.asList(new JsonDeserializer<?>[] { new BatteryDataDeserializer() }));
try {
return factory.getObject();
} catch (Exception e) {
throw new RuntimeException(e);
}
}Example 27
| Project: spring-boot-master File: JsonComponentModule.java View source code |
private void addJsonBean(Object bean) {
if (bean instanceof JsonSerializer) {
addSerializerWithDeducedType((JsonSerializer<?>) bean);
}
if (bean instanceof JsonDeserializer) {
addDeserializerWithDeducedType((JsonDeserializer<?>) bean);
}
for (Class<?> innerClass : bean.getClass().getDeclaredClasses()) {
if (JsonSerializer.class.isAssignableFrom(innerClass) || JsonDeserializer.class.isAssignableFrom(innerClass)) {
try {
addJsonBean(innerClass.newInstance());
} catch (Exception ex) {
throw new IllegalStateException(ex);
}
}
}
}Example 28
| Project: web-framework-master File: FuzzyEnumModule.java View source code |
@Override
@SuppressWarnings("unchecked")
public JsonDeserializer<?> findEnumDeserializer(Class<?> type, DeserializationConfig config, BeanDescription desc) throws JsonMappingException {
// If the user configured to use `toString` method to deserialize enums
if (config.hasDeserializationFeatures(DeserializationFeature.READ_ENUMS_USING_TO_STRING.getMask())) {
return null;
}
// If there is a JsonCreator annotation we should use that instead of the PermissiveEnumDeserializer
final Collection<AnnotatedMethod> factoryMethods = desc.getFactoryMethods();
if (factoryMethods != null) {
for (AnnotatedMethod am : factoryMethods) {
if (am.hasAnnotation(JsonCreator.class)) {
return null;
}
}
}
// Jackson to do the deserialization
for (Field field : type.getFields()) {
for (Annotation annotation : field.getAnnotations()) {
final String packageName = annotation.annotationType().getPackage().getName();
if (packageName.equals("com.fasterxml.jackson.annotation")) {
return null;
}
}
}
return new PermissiveEnumDeserializer((Class<Enum<?>>) type);
}Example 29
| Project: eMonocot-master File: CustomHandlerInstantiator.java View source code |
@Override
public JsonDeserializer<?> deserializerInstance(DeserializationConfig deserializerConfig, Annotated annotated, Class<?> jsonDeserializerClass) {
logger.debug("deserializerInstance " + deserializerConfig + " " + jsonDeserializerClass);
try {
if (jsonDeserializerClass.equals(TaxonDeserializer.class)) {
TaxonDeserializer taxonDeserializer = TaxonDeserializer.class.newInstance();
taxonDeserializer.setService(taxonService);
return taxonDeserializer;
} else if (jsonDeserializerClass.equals(ReferenceDeserializer.class)) {
ReferenceDeserializer referenceDeserializer = ReferenceDeserializer.class.newInstance();
referenceDeserializer.setService(referenceService);
return referenceDeserializer;
} else if (jsonDeserializerClass.equals(ImageDeserializer.class)) {
ImageDeserializer imageDeserializer = ImageDeserializer.class.newInstance();
imageDeserializer.setService(imageService);
return imageDeserializer;
} else if (jsonDeserializerClass.equals(UserDeserializer.class)) {
UserDeserializer userDeserializer = UserDeserializer.class.newInstance();
userDeserializer.setService(userService);
return userDeserializer;
} else if (jsonDeserializerClass.equals(GroupDeserializer.class)) {
GroupDeserializer groupDeserializer = GroupDeserializer.class.newInstance();
groupDeserializer.setService(groupService);
return groupDeserializer;
} else if (jsonDeserializerClass.equals(OrganisationDeserialiser.class)) {
OrganisationDeserialiser sourceDeserializer = OrganisationDeserialiser.class.newInstance();
sourceDeserializer.setService(organisationService);
return sourceDeserializer;
} else if (jsonDeserializerClass.equals(IdentificationKeyDeserializer.class)) {
IdentificationKeyDeserializer identificationKeyDeserializer = IdentificationKeyDeserializer.class.newInstance();
identificationKeyDeserializer.setService(identificationKeyService);
return identificationKeyDeserializer;
} else if (jsonDeserializerClass.equals(PhylogeneticTreeDeserializer.class)) {
PhylogeneticTreeDeserializer phylogeneticTreeDeserializer = PhylogeneticTreeDeserializer.class.newInstance();
phylogeneticTreeDeserializer.setService(phylogeneticTreeService);
return phylogeneticTreeDeserializer;
} else if (jsonDeserializerClass.equals(ConceptDeserializer.class)) {
ConceptDeserializer conceptDeserializer = ConceptDeserializer.class.newInstance();
conceptDeserializer.setService(conceptService);
return conceptDeserializer;
} else if (jsonDeserializerClass.equals(PrincipalDeserializer.class)) {
PrincipalDeserializer principalDeserializer = PrincipalDeserializer.class.newInstance();
principalDeserializer.setUserService(userService);
principalDeserializer.setGroupService(groupService);
return principalDeserializer;
} else if (jsonDeserializerClass.equals(AnnotatableObjectDeserializer.class)) {
AnnotatableObjectDeserializer annotatableObjectDeserializer = AnnotatableObjectDeserializer.class.newInstance();
annotatableObjectDeserializer.addService(taxonService);
annotatableObjectDeserializer.addService(imageService);
annotatableObjectDeserializer.addService(referenceService);
annotatableObjectDeserializer.addService(organisationService);
return annotatableObjectDeserializer;
}
} catch (IllegalAccessException iae) {
return null;
} catch (InstantiationException ie) {
return null;
}
return null;
}Example 30
| Project: glowroot-master File: ObjectMappers.java View source code |
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public JsonDeserializer<Enum> modifyEnumDeserializer(DeserializationConfig config, final JavaType type, BeanDescription beanDesc, final JsonDeserializer<?> deserializer) {
return new JsonDeserializer<Enum>() {
@Override
public Enum<?> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
Class<? extends Enum> rawClass = (Class<Enum>) type.getRawClass();
return Enum.valueOf(rawClass, jp.getValueAsString().replace('-', '_').toUpperCase(Locale.ENGLISH));
}
};
}Example 31
| Project: olingo-odata4-master File: ClientODataDeserializerImpl.java View source code |
protected XmlMapper getXmlMapper() {
final XmlMapper xmlMapper = new XmlMapper(new XmlFactory(new InputFactoryImpl(), new OutputFactoryImpl()), new JacksonXmlModule());
xmlMapper.setInjectableValues(new InjectableValues.Std().addValue(Boolean.class, Boolean.FALSE));
xmlMapper.addHandler(new DeserializationProblemHandler() {
@Override
public boolean handleUnknownProperty(final DeserializationContext ctxt, final JsonParser jp, final com.fasterxml.jackson.databind.JsonDeserializer<?> deserializer, final Object beanOrClass, final String propertyName) throws IOException, JsonProcessingException {
// skip any unknown property
ctxt.getParser().skipChildren();
return true;
}
});
return xmlMapper;
}Example 32
| Project: verjson-master File: ObjectMapperFactory.java View source code |
@SuppressWarnings({ "unchecked", "rawtypes" })
protected void registerSerializer(ObjectMapper result, SimpleModule module, Versions versions) {
// Default serializer
module.addSerializer(new DateSerializer());
module.addDeserializer(Date.class, new DateDeserializer());
module.addSerializer(new ZonedDateTimeSerializer());
module.addDeserializer(ZonedDateTime.class, new ZonedDateTimeDeserializer());
// Serializer
for (JsonSerializer<?> serializer : versions.getSerializer()) {
module.addSerializer(serializer);
}
// Deserializer
for (JsonDeserializer deserializer : versions.getDeserializer()) {
Method method = null;
try {
method = deserializer.getClass().getMethod("deserialize", JsonParser.class, DeserializationContext.class);
module.addDeserializer(method.getReturnType(), deserializer);
} catch (NullPointerExceptionNoSuchMethodException | SecurityException | ex) {
String methodName = (method == null) ? "null" : method.getName();
String returnTypeName = (method == null || method.getReturnType() == null) ? "null" : method.getReturnType().toString();
LOG.error("Unable to register deserializer for Class<" + returnTypeName + ">." + methodName + "(..)", ex);
}
}
}Example 33
| Project: airlift-master File: ObjectMapperProvider.java View source code |
@Override
public ObjectMapper get() {
ObjectMapper objectMapper = new ObjectMapper();
// ignore unknown fields (for backwards compatibility)
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
// do not allow converting a float to an integer
objectMapper.disable(DeserializationFeature.ACCEPT_FLOAT_AS_INT);
// use ISO dates
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
// skip fields that are null instead of writing an explicit json null value
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_ABSENT);
// disable auto detection of json properties... all properties must be explicit
objectMapper.disable(MapperFeature.AUTO_DETECT_CREATORS);
objectMapper.disable(MapperFeature.AUTO_DETECT_FIELDS);
objectMapper.disable(MapperFeature.AUTO_DETECT_SETTERS);
objectMapper.disable(MapperFeature.AUTO_DETECT_GETTERS);
objectMapper.disable(MapperFeature.AUTO_DETECT_IS_GETTERS);
objectMapper.disable(MapperFeature.USE_GETTERS_AS_SETTERS);
objectMapper.disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS);
objectMapper.disable(MapperFeature.INFER_PROPERTY_MUTATORS);
objectMapper.disable(MapperFeature.ALLOW_FINAL_FIELDS_AS_MUTATORS);
if (jsonSerializers != null || jsonDeserializers != null || keySerializers != null || keyDeserializers != null) {
SimpleModule module = new SimpleModule(getClass().getName(), new Version(1, 0, 0, null, null, null));
if (jsonSerializers != null) {
for (Entry<Class<?>, JsonSerializer<?>> entry : jsonSerializers.entrySet()) {
addSerializer(module, entry.getKey(), entry.getValue());
}
}
if (jsonDeserializers != null) {
for (Entry<Class<?>, JsonDeserializer<?>> entry : jsonDeserializers.entrySet()) {
addDeserializer(module, entry.getKey(), entry.getValue());
}
}
if (keySerializers != null) {
for (Entry<Class<?>, JsonSerializer<?>> entry : keySerializers.entrySet()) {
addKeySerializer(module, entry.getKey(), entry.getValue());
}
}
if (keyDeserializers != null) {
for (Entry<Class<?>, KeyDeserializer> entry : keyDeserializers.entrySet()) {
module.addKeyDeserializer(entry.getKey(), entry.getValue());
}
}
modules.add(module);
}
for (Module module : modules) {
objectMapper.registerModule(module);
}
return objectMapper;
}Example 34
| Project: drill-master File: Sequence.java View source code |
@Override
public LogicalOperator deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
ObjectIdGenerator<Integer> idGenerator = new ObjectIdGenerators.IntSequenceGenerator();
JsonLocation start = jp.getCurrentLocation();
JsonToken t = jp.getCurrentToken();
LogicalOperator parent = null;
LogicalOperator first = null;
LogicalOperator prev = null;
Integer id = null;
while (true) {
String fieldName = jp.getText();
t = jp.nextToken();
switch(// switch on field names.
fieldName) {
case "@id":
id = _parseIntPrimitive(jp, ctxt);
break;
case "input":
JavaType tp = ctxt.constructType(LogicalOperator.class);
JsonDeserializer<Object> d = ctxt.findRootValueDeserializer(tp);
parent = (LogicalOperator) d.deserialize(jp, ctxt);
break;
case "do":
if (!jp.isExpectedStartArrayToken()) {
throwE(jp, "The do parameter of sequence should be an array of SimpleOperators. Expected a JsonToken.START_ARRAY token but received a " + t.name() + "token.");
}
int pos = 0;
while ((t = jp.nextToken()) != JsonToken.END_ARRAY) {
// logger.debug("Reading sequence child {}.", pos);
// get current location
JsonLocation l = jp.getCurrentLocation();
// first so we can
// correctly reference the
// start of the object in
// the case that the type
// is wrong.
LogicalOperator o = jp.readValueAs(LogicalOperator.class);
if (pos == 0) {
if (!(o instanceof SingleInputOperator) && !(o instanceof SourceOperator)) {
throwE(l, "The first operator in a sequence must be either a ZeroInput or SingleInput operator. The provided first operator was not. It was of type " + o.getClass().getName());
}
first = o;
} else {
if (!(o instanceof SingleInputOperator)) {
throwE(l, "All operators after the first must be single input operators. The operator at position " + pos + " was not. It was of type " + o.getClass().getName());
}
SingleInputOperator now = (SingleInputOperator) o;
now.setInput(prev);
}
prev = o;
pos++;
}
break;
default:
throwE(jp, "Unknown field name provided for Sequence: " + jp.getText());
}
t = jp.nextToken();
if (t == JsonToken.END_OBJECT) {
break;
}
}
if (first == null) {
throwE(start, "A sequence must include at least one operator.");
}
if ((parent == null && first instanceof SingleInputOperator) || (parent != null && first instanceof SourceOperator)) {
throwE(start, "A sequence must either start with a ZeroInputOperator or have a provided input. It cannot have both or neither.");
}
if (parent != null && first instanceof SingleInputOperator) {
((SingleInputOperator) first).setInput(parent);
}
// set input reference.
if (id != null) {
ReadableObjectId rid = ctxt.findObjectId(id, idGenerator);
rid.bindItem(prev);
// logger.debug("Binding id {} to item {}.", rid.id, rid.item);
}
return first;
}Example 35
| Project: Ektorp-master File: EktorpBeanDeserializerModifier.java View source code |
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (deserializer instanceof BeanDeserializer) { List<ConstructibleAnnotatedCollection> fields = collectFields(config, beanDesc); if (!fields.isEmpty()) { return new BackReferencedBeanDeserializer((BeanDeserializer) deserializer, fields, db, beanDesc.getType().getRawClass()); } } return super.modifyDeserializer(config, beanDesc, deserializer); }
Example 36
| Project: EMB-master File: TaskSerDe.java View source code |
@Override
public void setupModule(SetupContext context) {
context.addDeserializers(new Deserializers.Base() {
@Override
public JsonDeserializer<?> findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException {
Class<?> raw = type.getRawClass();
if (Task.class.isAssignableFrom(raw)) {
return newTaskDeserializer(raw);
}
return super.findBeanDeserializer(type, config, beanDesc);
}
});
}Example 37
| Project: embulk-master File: TaskSerDe.java View source code |
@Override
public void setupModule(SetupContext context) {
context.addDeserializers(new Deserializers.Base() {
@Override
public JsonDeserializer<?> findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException {
Class<?> raw = type.getRawClass();
if (Task.class.isAssignableFrom(raw)) {
return newTaskDeserializer(raw);
}
return super.findBeanDeserializer(type, config, beanDesc);
}
});
}Example 38
| Project: jsr352-master File: MappingJsonFactoryObjectFactory.java View source code |
static void configureCustomSerializersAndDeserializers(final ObjectMapper objectMapper, final String customSerializers, final String customDeserializers, final String customDataTypeModules, final ClassLoader classLoader) throws Exception {
if (customDeserializers != null || customSerializers != null) {
final SimpleModule simpleModule = new SimpleModule("custom-serializer-deserializer-module");
if (customSerializers != null) {
final StringTokenizer st = new StringTokenizer(customSerializers, ", ");
while (st.hasMoreTokens()) {
final Class<?> aClass = classLoader.loadClass(st.nextToken());
simpleModule.addSerializer(aClass, (JsonSerializer) aClass.newInstance());
}
}
if (customDeserializers != null) {
final StringTokenizer st = new StringTokenizer(customDeserializers, ", ");
while (st.hasMoreTokens()) {
final Class<?> aClass = classLoader.loadClass(st.nextToken());
simpleModule.addDeserializer(aClass, (JsonDeserializer) aClass.newInstance());
}
}
objectMapper.registerModule(simpleModule);
}
if (customDataTypeModules != null) {
final StringTokenizer st = new StringTokenizer(customDataTypeModules, ", ");
while (st.hasMoreTokens()) {
final Class<?> aClass = classLoader.loadClass(st.nextToken());
objectMapper.registerModule((Module) aClass.newInstance());
}
}
}Example 39
| Project: ode-master File: JsonOmDeserializer.java View source code |
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public OProcess deserialize() throws SerializaionRtException {
mapper = new ObjectMapper(factory);
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
mapper.setSerializerFactory(TypeBeanSerializerFactory.instance);
SimpleModule simpleModule = new SimpleModule("SimpleModule");
for (Class<?> d : deserializers.keySet()) {
simpleModule.addDeserializer((Class) d, (JsonDeserializer) deserializers.get(d));
}
simpleModule.setDeserializerModifier(new WsdlElementDeserModifier());
simpleModule.addKeyDeserializer(Object.class, new KeyAsJsonDeserializer());
simpleModule.addKeyDeserializer(String.class, new KeyAsJsonDeserializer());
mapper.registerModule(simpleModule);
try {
process = mapper.readValue(is, OProcess.class);
} catch (Exception e1) {
SerializaionRtException e = new SerializaionRtException("Error when deseriaze process during deseriazation");
e.initCause(e1);
throw e;
}
return process;
}Example 40
| Project: simple-spring-memcached-master File: JsonTranscoderTest.java View source code |
private JsonObjectMapper createMapper() {
JsonObjectMapper mapper = new JsonObjectMapper();
Map<Class<?>, JsonSerializer<?>> serializers = new HashMap<Class<?>, JsonSerializer<?>>();
serializers.put(Point.class, new PointSerializerWithTypeInfo());
mapper.setSerializers(serializers);
Map<Class<?>, JsonDeserializer<?>> deserializers = new HashMap<Class<?>, JsonDeserializer<?>>();
deserializers.put(Point.class, new PointDeserializer());
mapper.setDeserializers(deserializers);
return mapper;
}Example 41
| Project: udaLib-master File: UdaModule.java View source code |
/**
* Metodo que se ejecuta despues de finalizar el contructor. Se inicializa
* el modulo configurando los serializadores y deserializadores indicados.
* Se anyade por defecto el deserializador MultiBeanDeserializer para
* permitir la deserializacion de multiples entidades no anidadas en la
* misma peticion.
*/
@PostConstruct
public void initialize() {
// Se registran los serializadores indicados.
if (this.serializers != null) {
Set<Entry<Class<? extends Object>, JsonSerializer<Object>>> serializerEntrySet = this.serializers.entrySet();
for (Iterator<Entry<Class<? extends Object>, JsonSerializer<Object>>> iterator = serializerEntrySet.iterator(); iterator.hasNext(); ) {
Entry<Class<? extends Object>, JsonSerializer<Object>> entry = (Entry<Class<? extends Object>, JsonSerializer<Object>>) iterator.next();
this.addSerializer(entry.getKey(), entry.getValue());
}
}
// Se registran los deserializadores indicados.
if (this.deserializers != null) {
Set<Entry<Class<Object>, JsonDeserializer<? extends Object>>> deserializerEntrySet = this.deserializers.entrySet();
for (Iterator<Entry<Class<Object>, JsonDeserializer<? extends Object>>> iterator = deserializerEntrySet.iterator(); iterator.hasNext(); ) {
Entry<Class<Object>, JsonDeserializer<? extends Object>> entry = (Entry<Class<Object>, JsonDeserializer<? extends Object>>) iterator.next();
this.addDeserializer(entry.getKey(), entry.getValue());
}
}
// Se registra el deserializador MultiBeanDeserializer. Este bean
// permite la deserializacion de multiples entidades no anidadas en la
// misma peticion.
this.addDeserializer(Map.class, new MultiModelDeserializer());
}Example 42
| Project: beam-master File: ValueProvider.java View source code |
@Override
public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException {
checkNotNull(ctxt, "Null DeserializationContext.");
JavaType type = checkNotNull(ctxt.getContextualType(), "Invalid type: %s", getClass());
JavaType[] params = type.findTypeParameters(ValueProvider.class);
if (params.length != 1) {
throw new RuntimeException("Unable to derive type for ValueProvider: " + type.toString());
}
JavaType param = params[0];
return new Deserializer(param);
}Example 43
| Project: ODataJClient-master File: Deserializer.java View source code |
@Override
public boolean handleUnknownProperty(final DeserializationContext ctxt, final JsonParser jp, final JsonDeserializer<?> deserializer, final Object beanOrClass, final String propertyName) throws IOException, JsonProcessingException {
// 1. special handling of AbstractAnnotatedEdm's fields
if (beanOrClass instanceof AbstractAnnotatedEdm && AbstractAnnotatedEdmUtils.isAbstractAnnotatedProperty(propertyName)) {
AbstractAnnotatedEdmUtils.parseAnnotatedEdm((AbstractAnnotatedEdm) beanOrClass, jp);
} else // 2. skip any other unknown property
{
ctxt.getParser().skipChildren();
}
return true;
}Example 44
| Project: orb-master File: JsonMessageSerializer.java View source code |
protected Object _deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
if (jp.canReadTypeId()) {
Object typeId = jp.getTypeId();
if (typeId != null) {
return _deserializeWithNativeTypeId(jp, ctxt, typeId);
}
}
String typeId = _locateTypeId(jp, ctxt);
JsonDeserializer<Object> deser = _findDeserializer(ctxt, typeId);
if (_typeIdVisible && !_usesExternalId() && jp.getCurrentToken() == JsonToken.START_OBJECT) {
TokenBuffer tb = new TokenBuffer(null, false);
tb.writeStartObject();
tb.writeFieldName(_typePropertyName);
tb.writeString(typeId);
jp = JsonParserSequence.createFlattened(tb.asParser(jp), jp);
jp.nextToken();
}
Object value = deser.deserialize(jp, ctxt);
return value;
}Example 45
| Project: orbit-master File: JsonMessageSerializer.java View source code |
protected Object _deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
if (jp.canReadTypeId()) {
Object typeId = jp.getTypeId();
if (typeId != null) {
return _deserializeWithNativeTypeId(jp, ctxt, typeId);
}
}
String typeId = _locateTypeId(jp, ctxt);
JsonDeserializer<Object> deser = _findDeserializer(ctxt, typeId);
if (_typeIdVisible && !_usesExternalId() && jp.getCurrentToken() == JsonToken.START_OBJECT) {
TokenBuffer tb = new TokenBuffer(null, false);
tb.writeStartObject();
tb.writeFieldName(_typePropertyName);
tb.writeString(typeId);
jp = JsonParserSequence.createFlattened(tb.asParser(jp), jp);
jp.nextToken();
}
Object value = deser.deserialize(jp, ctxt);
return value;
}Example 46
| Project: spring-data-rest-master File: PersistentEntityJackson2Module.java View source code |
/*
* (non-Javadoc)
* @see com.fasterxml.jackson.databind.deser.BeanDeserializerModifier#updateBuilder(com.fasterxml.jackson.databind.DeserializationConfig, com.fasterxml.jackson.databind.BeanDescription, com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder)
*/
@Override
public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder) {
Iterator<SettableBeanProperty> properties = builder.getProperties();
entities.getPersistentEntity(beanDesc.getBeanClass()).ifPresent( entity -> {
while (properties.hasNext()) {
SettableBeanProperty property = properties.next();
entity.getPersistentProperty(property.getName()).ifPresent( persistentProperty -> {
if (associationLinks.isLookupType(persistentProperty)) {
RepositoryInvokingDeserializer repositoryInvokingDeserializer = new RepositoryInvokingDeserializer(factory, persistentProperty);
JsonDeserializer<?> deserializer = wrapIfCollection(persistentProperty, repositoryInvokingDeserializer, config);
builder.addOrReplaceProperty(property.withValueDeserializer(deserializer), false);
return;
}
if (!associationLinks.isLinkableAssociation(persistentProperty)) {
return;
}
UriStringDeserializer uriStringDeserializer = new UriStringDeserializer(persistentProperty, converter);
JsonDeserializer<?> deserializer = wrapIfCollection(persistentProperty, uriStringDeserializer, config);
builder.addOrReplaceProperty(property.withValueDeserializer(deserializer), false);
});
}
});
return builder;
}Example 47
| Project: spring-hateoas-master File: Jackson2HalModule.java View source code |
/* * (non-Javadoc) * @see com.fasterxml.jackson.databind.JsonDeserializer#deserialize(com.fasterxml.jackson.core.JsonParser, com.fasterxml.jackson.databind.DeserializationContext) */ @Override public List<Object> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { List<Object> result = new ArrayList<Object>(); JsonDeserializer<Object> deser = ctxt.findRootValueDeserializer(contentType); Object object; // links is an object, so we parse till we find its end. while (!JsonToken.END_OBJECT.equals(jp.nextToken())) { if (!JsonToken.FIELD_NAME.equals(jp.getCurrentToken())) { throw new JsonParseException("Expected relation name", jp.getCurrentLocation()); } if (JsonToken.START_ARRAY.equals(jp.nextToken())) { while (!JsonToken.END_ARRAY.equals(jp.nextToken())) { object = deser.deserialize(jp, ctxt); result.add(object); } } else { object = deser.deserialize(jp, ctxt); result.add(object); } } return result; }
Example 48
| Project: onebusaway-android-master File: JacksonConfig.java View source code |
/**
* Internal method used to init main ObjectMapper for JSON parsing
*
* @return initialized ObjectMapper ready for JSON parsing
*/
private static ObjectMapper initObjectMapper() {
if (mapper == null) {
/**
* We don't have a reference to an ObjectMapper, so we need to read
* from cache or instantiate a new one
*/
if (usingCache) {
mapper = (ObjectMapper) readFromCache(OBJECT_MAPPER);
if (mapper != null) {
// Successful read from the cache
return mapper;
}
}
// Jackson configuration
mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
mapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
mapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// AlertHeaderText class is out of date and will throw an error if we try to deserialize
// from latest OTP. Simply ignore for now.
SimpleModule module = new SimpleModule();
module.addDeserializer(AlertHeaderText.class, new JsonDeserializer<AlertHeaderText>() {
@Override
public AlertHeaderText deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
Log.d(TAG, "Ignoring AlertHeaderText object.");
return null;
}
});
mapper.registerModule(module);
}
return mapper;
}Example 49
| Project: spring-framework-master File: Jackson2ObjectMapperBuilder.java View source code |
/**
* Configure custom deserializers. Each deserializer is registered for the type
* returned by {@link JsonDeserializer#handledType()}, which must not be {@code null}.
* @since 4.3
* @see #deserializersByType(Map)
*/
public Jackson2ObjectMapperBuilder deserializers(JsonDeserializer<?>... deserializers) {
if (deserializers != null) {
for (JsonDeserializer<?> deserializer : deserializers) {
Class<?> handledType = deserializer.handledType();
if (handledType == null || handledType == Object.class) {
throw new IllegalArgumentException("Unknown handled type in " + deserializer.getClass().getName());
}
this.deserializers.put(deserializer.handledType(), deserializer);
}
}
return this;
}Example 50
| Project: Transit-master File: JacksonConfig.java View source code |
/**
* Internal method used to init main ObjectMapper for JSON parsing
*
* @return initialized ObjectMapper ready for JSON parsing
*/
private static ObjectMapper initObjectMapper() {
if (mapper == null) {
/**
* We don't have a reference to an ObjectMapper, so we need to read
* from cache or instantiate a new one
*/
if (usingCache) {
mapper = (ObjectMapper) readFromCache(OBJECT_MAPPER);
if (mapper != null) {
// Successful read from the cache
return mapper;
}
}
// Jackson configuration
mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
mapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
mapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// AlertHeaderText class is out of date and will throw an error if we try to deserialize
// from latest OTP. Simply ignore for now.
SimpleModule module = new SimpleModule();
module.addDeserializer(AlertHeaderText.class, new JsonDeserializer<AlertHeaderText>() {
@Override
public AlertHeaderText deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
Log.d(TAG, "Ignoring AlertHeaderText object.");
return null;
}
});
mapper.registerModule(module);
}
return mapper;
}Example 51
| Project: dawnsci-master File: MarshallerService.java View source code |
@SuppressWarnings({ "unchecked", "rawtypes" })
private void applyMarshallersToModule(SimpleModule module, List<IMarshaller> marshallers) throws InstantiationException, IllegalAccessException {
for (IMarshaller marshaller : marshallers) {
Class<?> objectClass = marshaller.getObjectClass();
if (objectClass != null) {
module.addSerializer(objectClass, (JsonSerializer) marshaller.getSerializerClass().newInstance());
module.addDeserializer(objectClass, (JsonDeserializer) marshaller.getDeserializerClass().newInstance());
}
Class<?> mixInType = marshaller.getMixinAnnotationType();
Class<?> mixInClass = marshaller.getMixinAnnotationClass();
if (mixInClass != null && mixInType != null) {
module.setMixInAnnotation(mixInType, mixInClass);
}
}
}Example 52
| Project: presto-master File: TestTupleDomain.java View source code |
@Test
public void testJsonSerialization() throws Exception {
TestingTypeManager typeManager = new TestingTypeManager();
TestingBlockEncodingSerde blockEncodingSerde = new TestingBlockEncodingSerde(typeManager);
ObjectMapper mapper = new ObjectMapperProvider().get().registerModule(new SimpleModule().addDeserializer(ColumnHandle.class, new JsonDeserializer<ColumnHandle>() {
@Override
public ColumnHandle deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
return new ObjectMapperProvider().get().readValue(jsonParser, TestingColumnHandle.class);
}
}).addDeserializer(Type.class, new TestingTypeDeserializer(typeManager)).addSerializer(Block.class, new TestingBlockJsonSerde.Serializer(blockEncodingSerde)).addDeserializer(Block.class, new TestingBlockJsonSerde.Deserializer(blockEncodingSerde)));
TupleDomain<ColumnHandle> tupleDomain = TupleDomain.all();
assertEquals(tupleDomain, mapper.readValue(mapper.writeValueAsString(tupleDomain), new TypeReference<TupleDomain<ColumnHandle>>() {
}));
tupleDomain = TupleDomain.none();
assertEquals(tupleDomain, mapper.readValue(mapper.writeValueAsString(tupleDomain), new TypeReference<TupleDomain<ColumnHandle>>() {
}));
tupleDomain = TupleDomain.fromFixedValues(ImmutableMap.of(A, NullableValue.of(BIGINT, 1L), B, NullableValue.asNull(VARCHAR)));
assertEquals(tupleDomain, mapper.readValue(mapper.writeValueAsString(tupleDomain), new TypeReference<TupleDomain<ColumnHandle>>() {
}));
}Example 53
| Project: droolsjbpm-integration-master File: JSONMarshaller.java View source code |
@Override
public Object deserializeTypedFromArray(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
ClassLoader current = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(_baseType.getRawClass().getClassLoader());
JsonDeserializer<Object> deser = _findDeserializer(ctxt, baseTypeName());
Object value = deser.deserialize(jp, ctxt);
return value;
} finally {
Thread.currentThread().setContextClassLoader(current);
}
}Example 54
| Project: roboconf-platform-master File: JSonBindingUtils.java View source code |
/**
* Creates a mapper with specific binding for Roboconf types.
* @return a non-null, configured mapper
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public static ObjectMapper createObjectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
SimpleModule module = new SimpleModule("RoboconfModule", new Version(1, 0, 0, null, null, null));
for (Map.Entry<Class<?>, ? super JsonSerializer<?>> entry : SERIALIZERS.entrySet()) module.addSerializer((Class) entry.getKey(), (JsonSerializer) entry.getValue());
for (Map.Entry<Class<?>, ? super JsonDeserializer<?>> entry : DESERIALIZERS.entrySet()) module.addDeserializer((Class) entry.getKey(), (JsonDeserializer) entry.getValue());
mapper.registerModule(module);
return mapper;
}Example 55
| Project: shimmer-master File: ShimDataType.java View source code |
default JsonDeserializer<ShimDataResponse> getNormalizer() {
return null;
}Example 56
| Project: droidtowers-master File: HappyDroidObjectMapper.java View source code |
public void addDeserializer(Class<Class> clazz, JsonDeserializer<Class> deserializer) {
happyModules.addDeserializer(clazz, deserializer);
registerModule(happyModules);
}Example 57
| Project: gedcomx-java-master File: GedcomBeanDeserializerModifier.java View source code |
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { return deserializer instanceof BeanDeserializer ? new ExtensibleObjectDeserializer((BeanDeserializer) deserializer) : deserializer; }
Example 58
| Project: AxonFramework-master File: MetaDataDeserializer.java View source code |
@SuppressWarnings("unchecked")
@Override
public MetaData deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
JsonDeserializer<Object> deserializer = ctxt.findRootValueDeserializer(ctxt.getTypeFactory().constructMapType(Map.class, String.class, Object.class));
return MetaData.from((Map) deserializer.deserialize(jp, ctxt, new HashMap<>()));
}Example 59
| Project: bboss-master File: BBossHandlerInstantiator.java View source code |
@Override public JsonDeserializer<?> deserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> deserClass) { return (JsonDeserializer<?>) this.beanFactory.createBean(deserClass); }
Example 60
| Project: dropwizard-orient-server-master File: AbstractPairDeserializer.java View source code |
@Override
@SuppressWarnings("unchecked")
public boolean handleUnknownProperty(final DeserializationContext ctxt, final JsonParser jp, final JsonDeserializer<?> deserializer, final Object beanOrClass, final String propertyName) throws IOException {
if (beanOrClass != null && type.isAssignableFrom(beanOrClass.getClass())) {
configure((T) beanOrClass, propertyName, jp.getValueAsString());
return true;
}
return false;
}Example 61
| Project: gvnix-master File: DataBinderBeanDeserializerModifier.java View source code |
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (deserializer instanceof BeanDeserializerBase) { return new DataBinderDeserializer((BeanDeserializerBase) deserializer); } // default jackson deserializer return deserializer; }
Example 62
| Project: sodacloud-master File: Marshaller.java View source code |
@Override
public boolean handleUnknownProperty(DeserializationContext ctxt, JsonParser jp, JsonDeserializer<?> deserializer, Object beanOrClass, String propertyName) throws IOException, JsonProcessingException {
Log.error("Ignoring unknown property [{}] while deserializing [{}]", propertyName, beanOrClass);
return true;
}Example 63
| Project: ABRAID-MP-master File: JodaCustomDateTimeDeserializer.java View source code |
/**
* Factory method for a JodaCustomDateTimeDeserializer.
* @param cls The class to deserialize.
* @param dateTimeFormatter The Joda Time formatter for DateTime objects.
* @param <T> The type to deserialize.
* @return A new JodaCustomDateTimeDeserializer.
*/
@SuppressWarnings("unchecked")
public static <T extends ReadableInstant> JsonDeserializer<T> forType(Class<T> cls, DateTimeFormatter dateTimeFormatter) {
return (JsonDeserializer<T>) new JodaCustomDateTimeDeserializer(cls, dateTimeFormatter);
}Example 64
| Project: Gaffer-master File: CloseableIterableDeserializer.java View source code |
@Override
public JsonDeserializer<?> createContextual(final DeserializationContext deserializationContext, final BeanProperty property) throws JsonMappingException {
final JavaType valueType = deserializationContext.getContextualType().containedType(0);
final CloseableIterableDeserializer deserializer = new CloseableIterableDeserializer();
deserializer.valueType = valueType;
return deserializer;
}Example 65
| Project: tinytypes-master File: TinyTypesDeserializers.java View source code |
@Override
public JsonDeserializer<?> findBeanDeserializer(JavaType type, DeserializationConfig config, BeanDescription beanDesc) throws JsonMappingException {
Class<?> candidateTT = type.getRawClass();
if (MetaTinyTypes.isTinyType(candidateTT)) {
return new TinyTypesDeserializer(candidateTT);
}
return null;
}Example 66
| Project: xebia-xke-scrumboard-master File: JacksonMapperProvider.java View source code |
private static JsonDeserializer<ObjectId> _idDeserializer() { return new JsonDeserializer<ObjectId>() { public ObjectId deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { return new ObjectId(jp.readValueAs(String.class)); } }; }
Example 67
| Project: cf-java-client-master File: AbstractRestTest.java View source code |
@Override
public boolean handleUnknownProperty(DeserializationContext ctxt, JsonParser jp, JsonDeserializer<?> deserializer, Object beanOrClass, String propertyName) {
fail(String.format("Found unexpected property %s in payload for %s", propertyName, beanOrClass.getClass().getName()));
return false;
}Example 68
| Project: reactor-master File: AbstractRestTest.java View source code |
@Override
public boolean handleUnknownProperty(DeserializationContext ctxt, JsonParser jp, JsonDeserializer<?> deserializer, Object beanOrClass, String propertyName) {
fail(String.format("Found unexpected property %s in payload for %s", propertyName, beanOrClass.getClass().getName()));
return false;
}Example 69
| Project: testrail-api-java-client-master File: CaseModule.java View source code |
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig deserializationConfig, BeanDescription beanDescription, JsonDeserializer<?> jsonDeserializer) { if (Case.class.isAssignableFrom(beanDescription.getBeanClass())) { return new CaseDeserializer(jsonDeserializer); } return jsonDeserializer; }
Example 70
| Project: spring-hadoop-master File: Jackson2ObjectMapperFactoryBean.java View source code |
/**
* Configure custom deserializers for the given types.
*
* @param deserializers deserializers
*/
public void setDeserializersByType(Map<Class<?>, JsonDeserializer<?>> deserializers) {
if (deserializers != null) {
this.deserializers.putAll(deserializers);
}
}