Search in sources :

Example 46 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MappingMongoConverterTests method setUp.

@BeforeEach
void setUp() {
    MongoDatabase database = client.getDatabase(DATABASE);
    database.getCollection("samples").deleteMany(new Document());
    database.getCollection("java-time-types").deleteMany(new Document());
    dbRefResolver = spy(new DefaultDbRefResolver(factory));
    mappingContext = new MongoMappingContext();
    mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
    mappingContext.setInitialEntitySet(new HashSet<>(Arrays.asList(WithLazyDBRefAsConstructorArg.class, WithLazyDBRef.class, WithJavaTimeTypes.class)));
    mappingContext.setAutoIndexCreation(false);
    mappingContext.afterPropertiesSet();
    converter = new MappingMongoConverter(dbRefResolver, mappingContext);
    converter.afterPropertiesSet();
}
Also used : MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) Document(org.bson.Document) MongoDatabase(com.mongodb.client.MongoDatabase) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 47 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class DbRefMappingMongoConverterUnitTests method setUp.

@BeforeEach
void setUp() {
    when(dbFactory.getExceptionTranslator()).thenReturn(new MongoExceptionTranslator());
    this.dbRefResolver = spy(new DefaultDbRefResolver(dbFactory));
    this.mappingContext = new MongoMappingContext();
    this.mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
    this.converter = new MappingMongoConverter(dbRefResolver, mappingContext);
}
Also used : MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) MongoExceptionTranslator(org.springframework.data.mongodb.core.MongoExceptionTranslator) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 48 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MongoPersistentEntityIndexResolverUnitTests method prepareMappingContextAndResolveIndexForType.

private static List<IndexDefinitionHolder> prepareMappingContextAndResolveIndexForType(Class<?>... types) {
    MongoMappingContext mappingContext = prepareMappingContext(types);
    MongoPersistentEntityIndexResolver resolver = new MongoPersistentEntityIndexResolver(mappingContext);
    return resolver.resolveIndexForEntity(mappingContext.getRequiredPersistentEntity(types[0]));
}
Also used : MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext)

Example 49 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class ReactiveMongoPersistentEntityIndexCreatorUnitTests method prepareMappingContext.

private static MongoMappingContext prepareMappingContext(Class<?> type) {
    MongoMappingContext mappingContext = new MongoMappingContext();
    mappingContext.setInitialEntitySet(Collections.singleton(type));
    mappingContext.initialize();
    return mappingContext;
}
Also used : MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext)

Example 50 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class UpdateMapperUnitTests method mappingShouldConsiderCustomConvertersForEnumMapKeys.

// DATAMONGO-1423, DATAMONGO-2155
@Test
@SuppressWarnings("unchecked")
void mappingShouldConsiderCustomConvertersForEnumMapKeys() {
    CustomConversions conversions = new MongoCustomConversions(Arrays.asList(ClassWithEnum.AllocationToStringConverter.INSTANCE, ClassWithEnum.StringToAllocationConverter.INSTANCE));
    MongoMappingContext mappingContext = new MongoMappingContext();
    mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder());
    mappingContext.afterPropertiesSet();
    MappingMongoConverter converter = new MappingMongoConverter(mock(DbRefResolver.class), mappingContext);
    converter.setCustomConversions(conversions);
    converter.afterPropertiesSet();
    UpdateMapper mapper = new UpdateMapper(converter);
    Update update = new Update().set("enumAsMapKey", Collections.singletonMap(ClassWithEnum.Allocation.AVAILABLE, 100));
    Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), mappingContext.getPersistentEntity(ClassWithEnum.class));
    Document $set = DocumentTestUtils.getAsDocument(mappedUpdate, "$set");
    assertThat($set.containsKey("enumAsMapKey")).isTrue();
    Map enumAsMapKey = $set.get("enumAsMapKey", Map.class);
    assertThat(enumAsMapKey.get("V")).isEqualTo(100);
}
Also used : CustomConversions(org.springframework.data.convert.CustomConversions) MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) Update(org.springframework.data.mongodb.core.query.Update) Document(org.bson.Document) Map(java.util.Map) Test(org.junit.jupiter.api.Test)

Aggregations

MongoMappingContext (org.springframework.data.mongodb.core.mapping.MongoMappingContext)118 MappingMongoConverter (org.springframework.data.mongodb.core.convert.MappingMongoConverter)56 Test (org.junit.jupiter.api.Test)41 BeforeEach (org.junit.jupiter.api.BeforeEach)31 Document (org.bson.Document)19 QueryMapper (org.springframework.data.mongodb.core.convert.QueryMapper)19 DefaultDbRefResolver (org.springframework.data.mongodb.core.convert.DefaultDbRefResolver)13 MongoCustomConversions (org.springframework.data.mongodb.core.convert.MongoCustomConversions)10 Bson (org.bson.conversions.Bson)8 Before (org.junit.Before)8 Test (org.junit.Test)8 MongoTemplate (org.springframework.data.mongodb.core.MongoTemplate)8 IndexOptions (com.mongodb.client.model.IndexOptions)7 CustomConversions (org.springframework.data.convert.CustomConversions)6 DbRefResolver (org.springframework.data.mongodb.core.convert.DbRefResolver)6 Document (org.springframework.data.mongodb.core.mapping.Document)6 Set (java.util.Set)5 MongoDbFactory (org.springframework.data.mongodb.MongoDbFactory)5 CountOptions (com.mongodb.client.model.CountOptions)4 List (java.util.List)4