List of usage examples for org.springframework.data.mapping PersistentPropertyAccessor getBean
T getBean();
From source file:io.twipple.springframework.data.clusterpoint.convert.DefaultClusterpointEntityConverter.java
/** * Creates a new {@link PropertyValueProvider}. * * @param source the source document. * @param propertyAccessor the property accessor. * @return a new {@link PropertyValueProvider}. *///w w w . j av a 2s . c o m @NotNull private PropertyValueProvider<ClusterpointPersistentProperty> getPropertyValueProvider( @NotNull ClusterpointDocument source, @NotNull PersistentPropertyAccessor propertyAccessor) { Assert.notNull(source); Assert.notNull(propertyAccessor); Object parent = propertyAccessor.getBean(); return new ClusterpointPropertyValueProvider(source, spELContext, parent); }
From source file:io.twipple.springframework.data.clusterpoint.convert.DefaultClusterpointEntityConverter.java
/** * Read an incoming {@link ClusterpointDocument} into the target entity. * * @param entity the target entity./*from w w w.ja va 2 s . co m*/ * @param source the document to convert. * @param parent an optional parent object. * @param <R> the entity type. * @return the converted entity. */ @NotNull @SuppressWarnings("unchecked") protected <R> R read(@NotNull final ClusterpointPersistentEntity<R> entity, @NotNull final ClusterpointDocument source, Object parent) { Assert.notNull(entity); Assert.notNull(source); final DefaultSpELExpressionEvaluator evaluator = new DefaultSpELExpressionEvaluator(source, spELContext); ParameterValueProvider<ClusterpointPersistentProperty> parameterValueProvider = getParameterValueProvider( entity, source, evaluator, parent); final PersistentPropertyAccessor propertyAccessor = getPersistentPropertyAccessor(entity, parameterValueProvider); final PropertyValueProvider<ClusterpointPersistentProperty> propertyValueProvider = getPropertyValueProvider( source, propertyAccessor); entity.doWithProperties(new PropertyHandler<ClusterpointPersistentProperty>() { @Override public void doWithPersistentProperty(@NotNull ClusterpointPersistentProperty property) { Assert.notNull(property); if (!source.doesPropertyExist(property) || entity.isConstructorArgument(property)) { return; } Object obj = propertyValueProvider.getPropertyValue(property); setPropertyInternal(propertyAccessor, property, obj); } }); entity.doWithAssociations(new AssociationHandler<ClusterpointPersistentProperty>() { @Override public void doWithAssociation(@NotNull Association<ClusterpointPersistentProperty> association) { Assert.notNull(association); ClusterpointPersistentProperty inverseProperty = association.getInverse(); Object obj = propertyValueProvider.getPropertyValue(inverseProperty); setPropertyInternal(propertyAccessor, inverseProperty, obj); } }); return (R) propertyAccessor.getBean(); }
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) : ""))); }/* www .j a va 2s . 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(); }