/** * Creates a new {@link IndexResolver} given {@link MongoMappingContext}. * * @param mappingContext must not be {@literal null}. * @return the new {@link IndexResolver}. * @since 2.2 */ static IndexResolver create(MongoMappingContext mappingContext) { Assert.notNull(mappingContext, "MongoMappingContext must not be null!"); return new MongoPersistentEntityIndexResolver(mappingContext); }
/** * Creates a new {@link MongoPersistentEntityIndexCreator} for the given {@link MongoMappingContext} and * {@link MongoDbFactory}. * @param mappingContext must not be {@literal null}. * @param indexOperationsProvider must not be {@literal null}. */ public MongoPersistentEntityIndexCreator(MongoMappingContext mappingContext, IndexOperationsProvider indexOperationsProvider) { this(mappingContext, indexOperationsProvider, new MongoPersistentEntityIndexResolver(mappingContext)); }
/** * Creates a new {@link ReactiveMongoPersistentEntityIndexCreator} for the given {@link MongoMappingContext}, * {@link ReactiveIndexOperationsProvider}. * * @param mappingContext must not be {@literal null}. * @param operationsProvider must not be {@literal null}. */ public ReactiveMongoPersistentEntityIndexCreator(MongoMappingContext mappingContext, ReactiveIndexOperationsProvider operationsProvider) { this(mappingContext, operationsProvider, new MongoPersistentEntityIndexResolver(mappingContext)); }
private void createIndexes() { final MongoMappingContext mappingContext = (MongoMappingContext) this.mongoTemplate.getConverter().getMappingContext(); final MongoPersistentEntityIndexResolver indexResolver = new MongoPersistentEntityIndexResolver(mappingContext); for (BasicMongoPersistentEntity<?> persistentEntity : mappingContext.getPersistentEntities()) { checkForAndCreateIndexes(indexResolver, persistentEntity); } } private void checkForAndCreateIndexes(final MongoPersistentEntityIndexResolver indexResolver, final MongoPersistentEntity<?> entity) {