List of usage examples for org.springframework.data.mapping.model BeanWrapper setProperty
@SuppressWarnings("unchecked") public void setProperty(PersistentProperty<?> property, @Nullable Object value)
From source file:io.github.carlomicieli.springbooks.test.AbstractMongoDbTests.java
protected void ensureDocumentId(Object savedObject, Object id) { ConversionService conversionService = mongoTemplate.getConverter().getConversionService(); MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext = mongoTemplate .getConverter().getMappingContext(); MongoPersistentEntity<?> persistentEntity = mappingContext.getPersistentEntity(savedObject.getClass()); MongoPersistentProperty idProp = persistentEntity == null ? null : persistentEntity.getIdProperty(); if (idProp == null) { return;//w w w. j a v a 2s.c o m } BeanWrapper<PersistentEntity<Object, ?>, Object> wrapper = BeanWrapper.create(savedObject, conversionService); Object idValue = wrapper.getProperty(idProp, idProp.getType(), true); if (idValue != null) { return; } wrapper.setProperty(idProp, id); }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
/** * Populates the id property of the saved object, if it's not set already. * //from w w w . j a v a2 s .com * @param savedObject * @param id */ protected void populateIdIfNecessary(Object savedObject, Object id) { if (id == null) { return; } MongoPersistentProperty idProp = getIdPropertyFor(savedObject.getClass()); if (idProp == null) { return; } ConversionService conversionService = mongoConverter.getConversionService(); BeanWrapper<PersistentEntity<Object, ?>, Object> wrapper = BeanWrapper.create(savedObject, conversionService); try { Object idValue = wrapper.getProperty(idProp, idProp.getType(), true); if (idValue != null) { return; } wrapper.setProperty(idProp, id); } catch (IllegalAccessException e) { throw new MappingException(e.getMessage(), e); } catch (InvocationTargetException e) { throw new MappingException(e.getMessage(), e); } }