@ -116,7 +116,7 @@ public class MappingMongoConverterParserIntegrationTests {
public void rejectsInvalidFieldNamingStrategyConfiguration ( ) {
public void rejectsInvalidFieldNamingStrategyConfiguration ( ) {
exception . expect ( BeanDefinitionParsingException . class ) ;
exception . expect ( BeanDefinitionParsingException . class ) ;
exception . expectMessage ( "abbreviate-field-names " ) ;
exception . expectMessage ( "abbreviation " ) ;
exception . expectMessage ( "field-naming-strategy-ref" ) ;
exception . expectMessage ( "field-naming-strategy-ref" ) ;
BeanDefinitionRegistry factory = new DefaultListableBeanFactory ( ) ;
BeanDefinitionRegistry factory = new DefaultListableBeanFactory ( ) ;
@ -141,18 +141,15 @@ public class MappingMongoConverterParserIntegrationTests {
* /
* /
@Test
@Test
public void shouldSupportCustomFieldNamingStrategy ( ) {
public void shouldSupportCustomFieldNamingStrategy ( ) {
assertStrategyReferenceSetFor ( "mappingConverterWithCustomFieldNamingStrategy" ) ;
}
BeanDefinitionRegistry factory = new DefaultListableBeanFactory ( ) ;
/ * *
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader ( factory ) ;
* @see DATAMONGO - 925 , DATAMONGO - 928
reader . loadBeanDefinitions ( new ClassPathResource ( "namespace/converter-custom-fieldnamingstrategy.xml" ) ) ;
* /
@Test
BeanDefinition definition = reader . getRegistry ( ) . getBeanDefinition (
public void shouldNotFailLoadingConfigIfAbbreviationIsDisabledAndStrategySet ( ) {
"mappingConverterWithCustomFieldNamingStrategy.mongoMappingContext" ) ;
assertStrategyReferenceSetFor ( "mappingConverterWithCustomFieldNamingStrategyAndAbbreviationDisabled" ) ;
BeanReference value = ( BeanReference ) definition . getPropertyValues ( ) . getPropertyValue ( "fieldNamingStrategy" )
. getValue ( ) ;
assertThat ( value . getBeanName ( ) , is ( "customFieldNamingStrategy" ) ) ;
}
}
private void loadValidConfiguration ( ) {
private void loadValidConfiguration ( ) {
@ -169,6 +166,19 @@ public class MappingMongoConverterParserIntegrationTests {
reader . loadBeanDefinitions ( new ClassPathResource ( configLocation ) ) ;
reader . loadBeanDefinitions ( new ClassPathResource ( configLocation ) ) ;
}
}
private static void assertStrategyReferenceSetFor ( String beanId ) {
BeanDefinitionRegistry factory = new DefaultListableBeanFactory ( ) ;
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader ( factory ) ;
reader . loadBeanDefinitions ( new ClassPathResource ( "namespace/converter-custom-fieldnamingstrategy.xml" ) ) ;
BeanDefinition definition = reader . getRegistry ( ) . getBeanDefinition ( beanId . concat ( ".mongoMappingContext" ) ) ;
BeanReference value = ( BeanReference ) definition . getPropertyValues ( ) . getPropertyValue ( "fieldNamingStrategy" )
. getValue ( ) ;
assertThat ( value . getBeanName ( ) , is ( "customFieldNamingStrategy" ) ) ;
}
@Component
@Component
public static class SampleConverter implements Converter < Person , DBObject > {
public static class SampleConverter implements Converter < Person , DBObject > {
public DBObject convert ( Person source ) {
public DBObject convert ( Person source ) {