DATAMONGO-530 - Fixed propagation of setApplicationContext(…) in MappingMongoConverter.
This commit is contained in:
@@ -83,6 +83,8 @@ public class MongoMappingContext extends AbstractMappingContext<BasicMongoPersis
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
|
|
||||||
this.context = applicationContext;
|
this.context = applicationContext;
|
||||||
|
super.setApplicationContext(applicationContext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,12 +19,19 @@ package org.springframework.data.mongodb.core.mapping;
|
|||||||
import static org.hamcrest.CoreMatchers.*;
|
import static org.hamcrest.CoreMatchers.*;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.data.annotation.Id;
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mapping.context.AbstractMappingContext;
|
||||||
import org.springframework.data.mapping.model.MappingException;
|
import org.springframework.data.mapping.model.MappingException;
|
||||||
|
import org.springframework.util.ReflectionUtils;
|
||||||
|
|
||||||
import com.mongodb.DBRef;
|
import com.mongodb.DBRef;
|
||||||
|
|
||||||
@@ -33,8 +40,12 @@ import com.mongodb.DBRef;
|
|||||||
*
|
*
|
||||||
* @author Oliver Gierke
|
* @author Oliver Gierke
|
||||||
*/
|
*/
|
||||||
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
public class MongoMappingContextUnitTests {
|
public class MongoMappingContextUnitTests {
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
ApplicationContext applicationContext;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void addsSelfReferencingPersistentEntityCorrectly() throws Exception {
|
public void addsSelfReferencingPersistentEntityCorrectly() throws Exception {
|
||||||
|
|
||||||
@@ -58,6 +69,17 @@ public class MongoMappingContextUnitTests {
|
|||||||
assertThat(context.getPersistentEntity(DBRef.class), is(nullValue()));
|
assertThat(context.getPersistentEntity(DBRef.class), is(nullValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void populatesAbstractMappingContextsApplicationCorrectly() {
|
||||||
|
|
||||||
|
MongoMappingContext context = new MongoMappingContext();
|
||||||
|
context.setApplicationContext(applicationContext);
|
||||||
|
|
||||||
|
Field field = ReflectionUtils.findField(AbstractMappingContext.class, "applicationContext");
|
||||||
|
ReflectionUtils.makeAccessible(field);
|
||||||
|
assertThat(ReflectionUtils.getField(field, context), is(notNullValue()));
|
||||||
|
}
|
||||||
|
|
||||||
class ClassWithMultipleIdProperties {
|
class ClassWithMultipleIdProperties {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
|
|||||||
Reference in New Issue
Block a user