List of usage examples for org.springframework.data.gemfire.mapping GemfirePropertyValueProvider GemfirePropertyValueProvider
public GemfirePropertyValueProvider(PdxReader reader)
From source file:org.springframework.data.gemfire.mapping.MappingPdxSerializer.java
@Override public Object fromData(final Class<?> type, final PdxReader reader) { final GemfirePersistentEntity<?> entity = getPersistentEntity(type); final Object instance = getInstantiatorFor(entity).createInstance(entity, new PersistentEntityParameterValueProvider<GemfirePersistentProperty>(entity, new GemfirePropertyValueProvider(reader), null)); final PersistentPropertyAccessor accessor = new ConvertingPropertyAccessor( entity.getPropertyAccessor(instance), getConversionService()); entity.doWithProperties(new PropertyHandler<GemfirePersistentProperty>() { public void doWithPersistentProperty(GemfirePersistentProperty persistentProperty) { if (!entity.isConstructorArgument(persistentProperty)) { PdxSerializer customSerializer = getCustomSerializer(persistentProperty.getType()); Object value = null; try { if (log.isDebugEnabled()) { log.debug(String.format( "setting property [%1$s] for entity [%2$s] of type [%3$s] from PDX%4$s", persistentProperty.getName(), instance, type, (customSerializer != null ? String.format(" using custom PdxSerializer [%1$s]", customSerializer) : ""))); }// ww w .j a v a2s.com value = (customSerializer != null ? customSerializer.fromData(persistentProperty.getType(), reader) : reader.readField(persistentProperty.getName())); if (log.isDebugEnabled()) { log.debug(String.format("with value [%1$s]", value)); } accessor.setProperty(persistentProperty, value); } catch (Exception e) { throw new MappingException(String.format( "while setting value [%1$s] of property [%2$s] for entity of type [%3$s] from PDX%4$s", value, persistentProperty.getName(), type, (customSerializer != null ? String.format(" using custom PdxSerializer [%14s]", customSerializer) : "")), e); } } } }); return accessor.getBean(); }