@Override public void postProcess(BeanDefinitionBuilder builder, RepositoryConfigurationSource source) { Optional<String> transactionManagerRef = source.getAttribute("transactionManagerRef"); builder.addPropertyValue("transactionManager", transactionManagerRef.orElse(DEFAULT_TRANSACTION_MANAGER_BEAN_NAME)); builder.addPropertyValue("entityManager", getEntityManagerBeanDefinitionFor(source, source.getSource())); builder.addPropertyReference("mappingContext", JPA_MAPPING_CONTEXT_BEAN_NAME); }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { super.registerBeansForRoot(registry, configurationSource); if (!registry.containsBeanDefinition(BeanNames.MAPPING_CONTEXT_BEAN_NAME)) { RootBeanDefinition definition = new RootBeanDefinition(MongoMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registry.registerBeanDefinition(BeanNames.MAPPING_CONTEXT_BEAN_NAME, definition); } }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); Object source = config.getSource(); registerLazyIfNotAlreadyRegistered( () -> new RootBeanDefinition(EntityManagerBeanDefinitionRegistrarPostProcessor.class), registry, EM_BEAN_DEFINITION_REGISTRAR_POST_PROCESSOR_BEAN_NAME, source); registerLazyIfNotAlreadyRegistered(() -> new RootBeanDefinition(JpaMetamodelMappingContextFactoryBean.class), registry, JPA_MAPPING_CONTEXT_BEAN_NAME, source); registerLazyIfNotAlreadyRegistered(() -> new RootBeanDefinition(PAB_POST_PROCESSOR), registry, AnnotationConfigUtils.PERSISTENCE_ANNOTATION_PROCESSOR_BEAN_NAME, source); // Register bean definition for DefaultJpaContext registerLazyIfNotAlreadyRegistered(() -> { RootBeanDefinition contextDefinition = new RootBeanDefinition(DefaultJpaContext.class); contextDefinition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); return contextDefinition; }, registry, JPA_CONTEXT_BEAN_NAME, source); registerIfNotAlreadyRegistered(() -> new RootBeanDefinition(JPA_METAMODEL_CACHE_CLEANUP_CLASSNAME), registry, JPA_METAMODEL_CACHE_CLEANUP_CLASSNAME, source); }
mappingContextDefinition.setSource(configurationSource.getSource()); redisReferenceResolver.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(redisReferenceResolver, registry, REDIS_REFERENCE_RESOLVER_BEAN_NAME, configurationSource); redisConverterDefinition.setSource(configurationSource.getSource());
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { super.registerBeansForRoot(registry, configurationSource); if (!registry.containsBeanDefinition(BeanNames.MAPPING_CONTEXT_BEAN_NAME)) { RootBeanDefinition definition = new RootBeanDefinition(MongoMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registry.registerBeanDefinition(BeanNames.MAPPING_CONTEXT_BEAN_NAME, definition); } }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); Object source = config.getSource(); if(source == null) { return; } String configuredSessionBeanName = Optional.of("sessionBeanName").flatMap(config::getAttribute) .orElse(GENERATE_BEAN_NAME); this.sessionBeanName = registerWithGeneratedNameOrUseConfigured(createSharedSessionCreatorBeanDefinition(config), registry, configuredSessionBeanName, source); String configuredMappingContextBeanName = Optional.of("mappingContextBeanName").flatMap(config::getAttribute) .orElse(GENERATE_BEAN_NAME); this.neo4jMappingContextBeanName = registerWithGeneratedNameOrUseConfigured( createNeo4jMappingContextFactoryBeanDefinition(config), registry, configuredMappingContextBeanName, source); registerIfNotAlreadyRegistered(() -> new RootBeanDefinition(Neo4jPersistenceExceptionTranslator.class), registry, NEO4J_PERSISTENCE_EXCEPTION_TRANSLATOR_NAME, source); AbstractBeanDefinition rootBeanDefinition = BeanDefinitionBuilder .rootBeanDefinition(Neo4jOgmEntityInstantiatorConfigurationBean.class) .setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE) .addConstructorArgReference(getSessionFactoryBeanName(config)) .addConstructorArgReference(this.neo4jMappingContextBeanName).getBeanDefinition(); registerWithGeneratedNameOrUseConfigured(rootBeanDefinition, registry, GENERATE_BEAN_NAME, source); }
@SuppressWarnings({ "unchecked", "rawtypes" }) private static Class<? extends Map> getMapTypeToUse(RepositoryConfigurationSource source) { return (Class<? extends Map>) ((AnnotationMetadata) source.getSource()).getAnnotationAttributes( EnableMapRepositories.class.getName()).get("mapType"); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) private static Class<? extends Map> getMapTypeToUse(RepositoryConfigurationSource source) { return (Class<? extends Map>) ((AnnotationMetadata) source.getSource()).getAnnotationAttributes( EnableMapRepositories.class.getName()).get("mapType"); } }
public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { AbstractBeanDefinition definition = BeanDefinitionBuilder.rootBeanDefinition(REPOSITORY_INTERFACE_POST_PROCESSOR) .getBeanDefinition(); registerWithSourceAndGeneratedBeanName(registry, definition, configurationSource.getSource()); }
@Override public void postProcess(BeanDefinitionBuilder builder, RepositoryConfigurationSource source) { Optional<String> transactionManagerRef = source.getAttribute("transactionManagerRef"); builder.addPropertyValue("transactionManager", transactionManagerRef.orElse(DEFAULT_TRANSACTION_MANAGER_BEAN_NAME)); builder.addPropertyValue("entityManager", getEntityManagerBeanDefinitionFor(source, source.getSource())); builder.addPropertyReference("mappingContext", JPA_MAPPING_CONTEXT_BEAN_NAME); }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { if (!registry.containsBeanDefinition(MAPPING_CONTEXT_BEAN_NAME)) { RootBeanDefinition definition = new RootBeanDefinition(LdapMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registry.registerBeanDefinition(MAPPING_CONTEXT_BEAN_NAME, definition); } }
@Override protected AbstractBeanDefinition getDefaultKeyValueTemplateBeanDefinition( RepositoryConfigurationSource configurationSource) { BeanDefinitionBuilder adapterBuilder = BeanDefinitionBuilder.rootBeanDefinition(MapKeyValueAdapter.class); adapterBuilder.addConstructorArgValue(getMapTypeToUse(configurationSource)); BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(KeyValueTemplate.class); builder .addConstructorArgValue(ParsingUtils.getSourceBeanDefinition(adapterBuilder, configurationSource.getSource())); builder.setRole(BeanDefinition.ROLE_SUPPORT); return ParsingUtils.getSourceBeanDefinition(builder, configurationSource.getSource()); }
@Override protected AbstractBeanDefinition getDefaultKeyValueTemplateBeanDefinition( RepositoryConfigurationSource configurationSource) { BeanDefinitionBuilder adapterBuilder = BeanDefinitionBuilder.rootBeanDefinition(MapKeyValueAdapter.class); adapterBuilder.addConstructorArgValue(getMapTypeToUse(configurationSource)); BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(KeyValueTemplate.class); builder .addConstructorArgValue(ParsingUtils.getSourceBeanDefinition(adapterBuilder, configurationSource.getSource())); builder.setRole(BeanDefinition.ROLE_SUPPORT); return ParsingUtils.getSourceBeanDefinition(builder, configurationSource.getSource()); }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); Object source = config.getSource(); registerLazyIfNotAlreadyRegistered( () -> new RootBeanDefinition(MybatisMappingContextFactoryBean.class), registry, MYBATIS_MAPPING_CONTEXT_BEAN_NAME, source); }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); if (!registry.containsBeanDefinition(Constants.GREMLIN_MAPPING_CONTEXT)) { final RootBeanDefinition definition = new RootBeanDefinition(GremlinMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(config.getSource()); registry.registerBeanDefinition(Constants.GREMLIN_MAPPING_CONTEXT, definition); } }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); if (!registry.containsBeanDefinition(Constants.GREMLIN_MAPPING_CONTEXT)) { final RootBeanDefinition definition = new RootBeanDefinition(GremlinMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(config.getSource()); registry.registerBeanDefinition(Constants.GREMLIN_MAPPING_CONTEXT, definition); } }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); if (!registry.containsBeanDefinition(Constants.DOCUMENTDB_MAPPING_CONTEXT_NAME)) { final RootBeanDefinition definition = new RootBeanDefinition(DocumentDbMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(config.getSource()); registry.registerBeanDefinition(Constants.DOCUMENTDB_MAPPING_CONTEXT_NAME, definition); } }
private RootBeanDefinition createVaultMappingContext( RepositoryConfigurationSource configurationSource) { ConstructorArgumentValues mappingContextArgs = new ConstructorArgumentValues(); RootBeanDefinition mappingContextBeanDef = new RootBeanDefinition( VaultMappingContext.class); mappingContextBeanDef.setConstructorArgumentValues(mappingContextArgs); mappingContextBeanDef.setSource(configurationSource.getSource()); return mappingContextBeanDef; }
private void registerSolrMappingContextIfNotPresent(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { RootBeanDefinition definition = new RootBeanDefinition(SimpleSolrMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(definition, registry, BeanDefinitionName.SOLR_MAPPTING_CONTEXT.getBeanName(), definition); }
private void registeCustomConversionsIfNotPresent(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { RootBeanDefinition definition = new RootBeanDefinition(SolrCustomConversions.class); definition.getConstructorArgumentValues().addGenericArgumentValue(Collections.emptyList()); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(definition, registry, BeanDefinitionName.CUSTOM_CONVERSIONS.getBeanName(), definition); }