private static String getEntityManagerBeanRef(RepositoryConfigurationSource config) { Optional<String> entityManagerFactoryRef = config.getAttribute("entityManagerFactoryRef"); return entityManagerFactoryRef.orElse("entityManagerFactory"); }
@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) { String redisTemplateRef = configurationSource.getAttribute("redisTemplateRef").get();
@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); }
/** * 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(); } }
/** * 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(); } }
private static String getEntityManagerBeanRef(RepositoryConfigurationSource config) { Optional<String> entityManagerFactoryRef = config.getAttribute("entityManagerFactoryRef"); return entityManagerFactoryRef.orElse("entityManagerFactory"); }
@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)); Optional<String> sqlSessionTemplateRef = source .getAttribute("sqlSessionTemplateRef"); builder.addPropertyReference("sqlSessionTemplate", sqlSessionTemplateRef.orElse(DEFAULT_SQL_SESSION_TEMPLATE_BEAN_NAME)); builder.addPropertyReference("mappingContext", MYBATIS_MAPPING_CONTEXT_BEAN_NAME); }
/** * Adds a property reference to the store-specific {@link MappingContext} * in the given {@link BeanDefinitionBuilder bean definition}. * * @param builder {@link BeanDefinitionBuilder} used to build the target bean definition. * @param configurationSource {@link RepositoryConfigurationSource} containing {@link Repository} * configuration meta-data. * @see org.springframework.beans.factory.support.BeanDefinitionBuilder * @see org.springframework.data.repository.config.RepositoryConfigurationSource */ private void addMappingContextPropertyReference(BeanDefinitionBuilder builder, RepositoryConfigurationSource configurationSource) { builder.addPropertyReference(MAPPING_CONTEXT_PROPERTY_NAME, configurationSource.getAttribute(MAPPING_CONTEXT_REF_ATTRIBUTE_NAME) .orElse(DEFAULT_MAPPING_CONTEXT_BEAN_NAME)); }
/** * Adds a property reference to the store-specific {@link MappingContext} * in the given {@link BeanDefinitionBuilder bean definition}. * * @param builder {@link BeanDefinitionBuilder} used to build the target bean definition. * @param configurationSource {@link RepositoryConfigurationSource} containing {@link Repository} * configuration meta-data. * @see org.springframework.beans.factory.support.BeanDefinitionBuilder * @see org.springframework.data.repository.config.RepositoryConfigurationSource */ private void addMappingContextPropertyReference(BeanDefinitionBuilder builder, RepositoryConfigurationSource configurationSource) { builder.addPropertyReference(MAPPING_CONTEXT_PROPERTY_NAME, configurationSource.getAttribute(MAPPING_CONTEXT_REF_ATTRIBUTE_NAME) .orElse(DEFAULT_MAPPING_CONTEXT_BEAN_NAME)); }
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); 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)); } }
@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 protected AbstractBeanDefinition getDefaultKeyValueTemplateBeanDefinition( RepositoryConfigurationSource configurationSource) { String tarantolSyncOpsRef = configurationSource.getAttribute("tarantolSyncOpsRef"); RootBeanDefinition keyValueTemplateDefinition = new RootBeanDefinition(TarantoolKeyValueTemplate.class); ConstructorArgumentValues constructorArgumentValuesForKeyValueTemplate = new ConstructorArgumentValues(); constructorArgumentValuesForKeyValueTemplate.addIndexedArgumentValue(0, new RuntimeBeanReference(tarantolSyncOpsRef)); constructorArgumentValuesForKeyValueTemplate.addIndexedArgumentValue(1, new RuntimeBeanReference(TARANTOOL_CONVERTER_BEAN_NAME)); constructorArgumentValuesForKeyValueTemplate.addIndexedArgumentValue(2, new RuntimeBeanReference(MAPPING_CONTEXT_BEAN_NAME)); keyValueTemplateDefinition.setConstructorArgumentValues(constructorArgumentValuesForKeyValueTemplate); return keyValueTemplateDefinition; }
@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); }
@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 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 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()); } } }
.getAttribute("vaultTemplateRef"); .getAttribute(KEY_VALUE_TEMPLATE_BEAN_REF_ATTRIBUTE);