Refine search
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { String redisTemplateRef = configurationSource.getAttribute("redisTemplateRef").get(); mappingContextDefinition.setSource(configurationSource.getSource()); redisReferenceResolver.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(redisReferenceResolver, registry, REDIS_REFERENCE_RESOLVER_BEAN_NAME, configurationSource); redisConverterDefinition.setSource(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) { super.registerBeansForRoot(registry, configurationSource); RootBeanDefinition mappingContextDefinition = new RootBeanDefinition(KeyValueMappingContext.class); mappingContextDefinition.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(mappingContextDefinition, registry, getMappingContextBeanRef(), configurationSource); Optional<String> keyValueTemplateName = configurationSource.getAttribute(KEY_VALUE_TEMPLATE_BEAN_REF_ATTRIBUTE); // No custom template reference configured and no matching bean definition found if (keyValueTemplateName.isPresent() && getDefaultKeyValueTemplateRef().equals(keyValueTemplateName.get()) && !registry.containsBeanDefinition(keyValueTemplateName.get())) { AbstractBeanDefinition beanDefinition = getDefaultKeyValueTemplateBeanDefinition(configurationSource); if (beanDefinition != null) { registerIfNotAlreadyRegistered(beanDefinition, registry, keyValueTemplateName.get(), configurationSource.getSource()); } } }
@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); }
private static String getEntityManagerBeanRef(RepositoryConfigurationSource config) { Optional<String> entityManagerFactoryRef = config.getAttribute("entityManagerFactoryRef"); return entityManagerFactoryRef.orElse("entityManagerFactory"); }
/** * Determines whether a {@link GemfireMappingContext mapping context} has already been configured. * * @param configurationSource {@link RepositoryConfigurationSource} used to check for the presence * of an existing {@link MappingContext} configuration. * @return a boolean value indicating whether a {@link GemfireMappingContext mapping context} * has already been configured. */ private boolean noMappingContextIsConfigured(RepositoryConfigurationSource configurationSource) { return !configurationSource.getAttribute(MAPPING_CONTEXT_REF_ATTRIBUTE_NAME).isPresent(); } }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { // register HazelcastKeyValueAdapter String hazelcastInstanceRef = configurationSource.getAttribute("hazelcastInstanceRef").get(); RootBeanDefinition hazelcastKeyValueAdapterDefinition = new RootBeanDefinition(HazelcastKeyValueAdapter.class); ConstructorArgumentValues constructorArgumentValuesForHazelcastKeyValueAdapter = new ConstructorArgumentValues(); constructorArgumentValuesForHazelcastKeyValueAdapter .addIndexedArgumentValue(0, new RuntimeBeanReference(hazelcastInstanceRef)); hazelcastKeyValueAdapterDefinition.setConstructorArgumentValues(constructorArgumentValuesForHazelcastKeyValueAdapter); registerIfNotAlreadyRegistered(hazelcastKeyValueAdapterDefinition, registry, HAZELCAST_ADAPTER_BEAN_NAME, configurationSource); super.registerBeansForRoot(registry, configurationSource); }
private void resolveReference(BeanDefinitionBuilder builder, RepositoryConfigurationSource source, String attributeName, String propertyName, Class<?> classRef, boolean required) { Optional<String> beanNameRef = source.getAttribute(attributeName).filter(StringUtils::hasText); String beanName = beanNameRef.orElseGet(() -> determineMatchingBeanName(propertyName, classRef, required)); if (beanName != null) { builder.addPropertyReference(propertyName, beanName); } else { Assert.isTrue(!required, "The beanName must not be null when requested as 'required'. Please report this as a bug."); } }
@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 configurationSource) { super.registerBeansForRoot(registry, configurationSource); String attribute = configurationSource.getAttribute("mappingContextRef"); if (!StringUtils.hasText(attribute)) { registry.registerBeanDefinition(String.format("%1$s.%2$s", SimpleMyBatisMappingContext.class.getName(), "DEFAULT"), new RootBeanDefinition(SimpleMyBatisMappingContext.class)); } }
LOG.info("Bootstrapping Spring Data repositories in {} mode.", configurationSource.getBootstrapMode().name()); configurationSource.getBasePackages().stream().collect(Collectors.joining(", "))); String beanName = configurationSource.generateBeanName(beanDefinition); potentiallyLazifyRepositories(configurationsByRepositoryName, registry, configurationSource.getBootstrapMode());
public <T extends RepositoryConfigurationSource> Collection<RepositoryConfiguration<T>> getRepositoryConfigurations( T configSource, ResourceLoader loader, boolean strictMatchesOnly) { Assert.notNull(configSource, "ConfigSource must not be null!"); Assert.notNull(loader, "Loader must not be null!"); Set<RepositoryConfiguration<T>> result = new HashSet<>(); for (BeanDefinition candidate : configSource.getCandidates(loader)) { RepositoryConfiguration<T> configuration = getRepositoryConfiguration(candidate, configSource); Class<?> repositoryInterface = loadRepositoryInterface(configuration, getConfigurationInspectionClassLoader(loader)); if (repositoryInterface == null) { result.add(configuration); continue; } RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(repositoryInterface); boolean qualifiedForImplementation = !strictMatchesOnly || configSource.usesExplicitFilters() || isStrictRepositoryCandidate(metadata); if (qualifiedForImplementation && useRepositoryConfiguration(metadata)) { result.add(configuration); } } return result; }
public Iterable<String> getBasePackages() { return configurationSource.getBasePackages(); }
public String getNamedQueriesLocation() { return configurationSource.getNamedQueryLocation(); }
public <T extends RepositoryConfigurationSource> Collection<RepositoryConfiguration<T>> getRepositoryConfigurations( T configSource, ResourceLoader loader) { Assert.notNull(configSource); Assert.notNull(loader); Set<RepositoryConfiguration<T>> result = new HashSet<RepositoryConfiguration<T>>(); for (String candidate : configSource.getCandidates(loader)) { result.add(getRepositoryConfiguration(candidate, configSource)); } return result; }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { super.registerBeansForRoot(registry, configurationSource); RootBeanDefinition mappingContextDefinition = new RootBeanDefinition(KeyValueMappingContext.class); mappingContextDefinition.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(mappingContextDefinition, registry, getMappingContextBeanRef(), configurationSource); Optional<String> keyValueTemplateName = configurationSource.getAttribute(KEY_VALUE_TEMPLATE_BEAN_REF_ATTRIBUTE); // No custom template reference configured and no matching bean definition found if (keyValueTemplateName.isPresent() && getDefaultKeyValueTemplateRef().equals(keyValueTemplateName.get()) && !registry.containsBeanDefinition(keyValueTemplateName.get())) { AbstractBeanDefinition beanDefinition = getDefaultKeyValueTemplateBeanDefinition(configurationSource); if (beanDefinition != null) { registerIfNotAlreadyRegistered(beanDefinition, registry, keyValueTemplateName.get(), configurationSource.getSource()); } } }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); Object source = config.getSource(); 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); if (HAS_ENTITY_INSTANTIATOR_FEATURE) { 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); } }
@Override public void postProcess(BeanDefinitionBuilder builder, RepositoryConfigurationSource source) { String transactionManagerRefPropertyName = "transactionManagerRef"; String transactionManagerPropertyName = "transactionManager"; String mappingContextPropertyName = "mappingContext"; String sessionPropertyName = "session"; Optional<String> transactionManagerRef = source.getAttribute(transactionManagerRefPropertyName); builder.addPropertyValue(transactionManagerPropertyName, transactionManagerRef.orElse(DEFAULT_TRANSACTION_MANAGER_BEAN_NAME)); builder.addPropertyReference(sessionPropertyName, this.sessionBeanName); builder.addPropertyReference(mappingContextPropertyName, this.neo4jMappingContextBeanName); }
@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); }
/** * Determines whether a {@link GemfireMappingContext mapping context} has already been configured. * * @param configurationSource {@link RepositoryConfigurationSource} used to check for the presence * of an existing {@link MappingContext} configuration. * @return a boolean value indicating whether a {@link GemfireMappingContext mapping context} * has already been configured. */ private boolean noMappingContextIsConfigured(RepositoryConfigurationSource configurationSource) { return !configurationSource.getAttribute(MAPPING_CONTEXT_REF_ATTRIBUTE_NAME).isPresent(); } }