Rationalize Spring Data auto-configurations
Relocate several auto-configuration classes to `...autoconfigure.data` to make it clearer that they are Spring Data specific. Also moved `EntityManagerFactoryBuilder` to `spring-boot` since it is generally useful and doesn't need to be directly tied to the auto-configuration module. Fixes gh-4002
This commit is contained in:
		
							parent
							
								
									e9349ee53f
								
							
						
					
					
						commit
						c629813165
					
				|  | @ -50,7 +50,9 @@ import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
| import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchAutoConfiguration; | import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadata; | import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadata; | ||||||
| import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvider; | import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvider; | ||||||
|  | @ -58,8 +60,6 @@ import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetada | ||||||
| import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration; | import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; | import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; |  | ||||||
| import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration; | import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
|  |  | ||||||
|  | @ -36,7 +36,9 @@ import org.springframework.boot.actuate.health.RedisHealthIndicator; | ||||||
| import org.springframework.boot.actuate.health.SolrHealthIndicator; | import org.springframework.boot.actuate.health.SolrHealthIndicator; | ||||||
| import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; | import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchAutoConfiguration; | import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; | import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; | ||||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; | import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; | ||||||
| import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration; | import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration; | ||||||
|  | @ -44,8 +46,6 @@ import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetada | ||||||
| import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; | import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; | import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; |  | ||||||
| import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration; | import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration; | ||||||
| import org.springframework.boot.context.properties.ConfigurationProperties; | import org.springframework.boot.context.properties.ConfigurationProperties; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
|  |  | ||||||
|  | @ -19,8 +19,8 @@ package org.springframework.boot.actuate.autoconfigure; | ||||||
| import org.junit.After; | import org.junit.After; | ||||||
| import org.junit.Test; | import org.junit.Test; | ||||||
| import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration; | import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchDataAutoConfiguration; |  | ||||||
| import org.springframework.boot.builder.SpringApplicationBuilder; | import org.springframework.boot.builder.SpringApplicationBuilder; | ||||||
| import org.springframework.boot.test.ApplicationContextTestUtils; | import org.springframework.boot.test.ApplicationContextTestUtils; | ||||||
| import org.springframework.context.ConfigurableApplicationContext; | import org.springframework.context.ConfigurableApplicationContext; | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -21,8 +21,8 @@ import org.junit.Test; | ||||||
| import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration; | import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration; | ||||||
| import org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration; | import org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.context.annotation.AnnotationConfigApplicationContext; | import org.springframework.context.annotation.AnnotationConfigApplicationContext; | ||||||
| import org.springframework.data.mongodb.core.MongoTemplate; | import org.springframework.data.mongodb.core.MongoTemplate; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -23,7 +23,7 @@ import org.junit.Test; | ||||||
| import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration; | import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration; | ||||||
| import org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration; | import org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.context.annotation.AnnotationConfigApplicationContext; | import org.springframework.context.annotation.AnnotationConfigApplicationContext; | ||||||
| import org.springframework.data.redis.RedisConnectionFailureException; | import org.springframework.data.redis.RedisConnectionFailureException; | ||||||
| import org.springframework.data.redis.connection.RedisConnection; | import org.springframework.data.redis.connection.RedisConnection; | ||||||
|  |  | ||||||
|  | @ -29,7 +29,7 @@ import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.Cache | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
| import org.springframework.cache.CacheManager; | import org.springframework.cache.CacheManager; | ||||||
| import org.springframework.cache.annotation.EnableCaching; | import org.springframework.cache.annotation.EnableCaching; | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.boot.autoconfigure.AutoConfigureAfter; | import org.springframework.boot.autoconfigure.AutoConfigureAfter; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.cache.CacheManager; | import org.springframework.cache.CacheManager; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
| import org.springframework.context.annotation.Conditional; | import org.springframework.context.annotation.Conditional; | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.elasticsearch; | package org.springframework.boot.autoconfigure.data.elasticsearch; | ||||||
| 
 | 
 | ||||||
| import java.util.Collections; | import java.util.Collections; | ||||||
| import java.util.LinkedHashMap; | import java.util.LinkedHashMap; | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.elasticsearch; | package org.springframework.boot.autoconfigure.data.elasticsearch; | ||||||
| 
 | 
 | ||||||
| import org.elasticsearch.client.Client; | import org.elasticsearch.client.Client; | ||||||
| import org.springframework.boot.autoconfigure.AutoConfigureAfter; | import org.springframework.boot.autoconfigure.AutoConfigureAfter; | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.elasticsearch; | package org.springframework.boot.autoconfigure.data.elasticsearch; | ||||||
| 
 | 
 | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.mongo.embedded; | package org.springframework.boot.autoconfigure.data.mongo; | ||||||
| 
 | 
 | ||||||
| import org.springframework.beans.factory.config.BeanDefinition; | import org.springframework.beans.factory.config.BeanDefinition; | ||||||
| import org.springframework.beans.factory.config.BeanFactoryPostProcessor; | import org.springframework.beans.factory.config.BeanFactoryPostProcessor; | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.mongo; | package org.springframework.boot.autoconfigure.data.mongo; | ||||||
| 
 | 
 | ||||||
| import java.net.UnknownHostException; | import java.net.UnknownHostException; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
|  | @ -33,6 +33,8 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter; | ||||||
| import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
|  | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.mongo.MongoProperties; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
| import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; | import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -21,7 +21,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||||
| import org.springframework.context.annotation.Import; | import org.springframework.context.annotation.Import; | ||||||
| import org.springframework.data.mongodb.repository.MongoRepository; | import org.springframework.data.mongodb.repository.MongoRepository; | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.redis; | package org.springframework.boot.autoconfigure.data.redis; | ||||||
| 
 | 
 | ||||||
| import java.net.UnknownHostException; | import java.net.UnknownHostException; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
|  | @ -26,7 +26,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisProperties.Sentinel; | import org.springframework.boot.autoconfigure.data.redis.RedisProperties.Sentinel; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.redis; | package org.springframework.boot.autoconfigure.data.redis; | ||||||
| 
 | 
 | ||||||
| import org.springframework.boot.context.properties.ConfigurationProperties; | import org.springframework.boot.context.properties.ConfigurationProperties; | ||||||
| 
 | 
 | ||||||
|  | @ -15,7 +15,7 @@ | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Auto-configuration for Elasticsearch. |  * Auto-configuration for Spring Data Redis. | ||||||
|  */ |  */ | ||||||
| package org.springframework.boot.autoconfigure.elasticsearch; | package org.springframework.boot.autoconfigure.data.redis; | ||||||
| 
 | 
 | ||||||
|  | @ -29,6 +29,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore; | ||||||
| import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
|  | import org.springframework.boot.autoconfigure.data.mongo.MongoClientDependsOnBeanFactoryPostProcessor; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoProperties; | import org.springframework.boot.autoconfigure.mongo.MongoProperties; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
|  |  | ||||||
|  | @ -16,17 +16,13 @@ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.orm.jpa; | package org.springframework.boot.autoconfigure.orm.jpa; | ||||||
| 
 | 
 | ||||||
| import java.util.HashMap; |  | ||||||
| import java.util.HashSet; |  | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.Set; |  | ||||||
| 
 | 
 | ||||||
| import javax.sql.DataSource; | import javax.sql.DataSource; | ||||||
| 
 | 
 | ||||||
| import org.springframework.orm.jpa.JpaVendorAdapter; | import org.springframework.orm.jpa.JpaVendorAdapter; | ||||||
| import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | ||||||
| import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager; | import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager; | ||||||
| import org.springframework.util.ClassUtils; |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Convenient builder for JPA EntityManagerFactory instances. Collects common |  * Convenient builder for JPA EntityManagerFactory instances. Collects common | ||||||
|  | @ -38,16 +34,13 @@ import org.springframework.util.ClassUtils; | ||||||
|  * |  * | ||||||
|  * @author Dave Syer |  * @author Dave Syer | ||||||
|  * @since 1.1.0 |  * @since 1.1.0 | ||||||
|  |  * @deprecated since 1.3.0 in favor of | ||||||
|  |  * {@link org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder} | ||||||
|  */ |  */ | ||||||
|  | @Deprecated | ||||||
| public class EntityManagerFactoryBuilder { | public class EntityManagerFactoryBuilder { | ||||||
| 
 | 
 | ||||||
| 	private JpaVendorAdapter jpaVendorAdapter; | 	private final Delegate delegate; | ||||||
| 
 |  | ||||||
| 	private PersistenceUnitManager persistenceUnitManager; |  | ||||||
| 
 |  | ||||||
| 	private JpaProperties properties; |  | ||||||
| 
 |  | ||||||
| 	private EntityManagerFactoryBeanCallback callback; |  | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Create a new instance passing in the common pieces that will be shared if multiple | 	 * Create a new instance passing in the common pieces that will be shared if multiple | ||||||
|  | @ -60,40 +53,43 @@ public class EntityManagerFactoryBuilder { | ||||||
| 	 */ | 	 */ | ||||||
| 	public EntityManagerFactoryBuilder(JpaVendorAdapter jpaVendorAdapter, | 	public EntityManagerFactoryBuilder(JpaVendorAdapter jpaVendorAdapter, | ||||||
| 			JpaProperties properties, PersistenceUnitManager persistenceUnitManager) { | 			JpaProperties properties, PersistenceUnitManager persistenceUnitManager) { | ||||||
| 		this.jpaVendorAdapter = jpaVendorAdapter; | 		this.delegate = new Delegate(jpaVendorAdapter, properties.getProperties(), | ||||||
| 		this.persistenceUnitManager = persistenceUnitManager; | 				persistenceUnitManager); | ||||||
| 		this.properties = properties; |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	public Builder dataSource(DataSource dataSource) { | 	public Builder dataSource(DataSource dataSource) { | ||||||
| 		return new Builder(dataSource); | 		return new Builder(this.delegate.dataSource(dataSource)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * An optional callback for new entity manager factory beans. | 	 * An optional callback for new entity manager factory beans. | ||||||
| 	 * @param callback the entity manager factory bean callback | 	 * @param callback the entity manager factory bean callback | ||||||
| 	 */ | 	 */ | ||||||
| 	public void setCallback(EntityManagerFactoryBeanCallback callback) { | 	public void setCallback(final EntityManagerFactoryBeanCallback callback) { | ||||||
| 		this.callback = callback; | 		this.delegate | ||||||
|  | 				.setCallback(new org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder.EntityManagerFactoryBeanCallback() { | ||||||
|  | 
 | ||||||
|  | 					@Override | ||||||
|  | 					public void execute(LocalContainerEntityManagerFactoryBean factory) { | ||||||
|  | 						callback.execute(factory); | ||||||
|  | 					} | ||||||
|  | 
 | ||||||
|  | 				}); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * A fluent builder for a LocalContainerEntityManagerFactoryBean. | 	 * A fluent builder for a LocalContainerEntityManagerFactoryBean. | ||||||
|  | 	 * @deprecated since 1.3.0 in favor of | ||||||
|  | 	 * {@link org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder} | ||||||
| 	 */ | 	 */ | ||||||
|  | 	@Deprecated | ||||||
| 	public final class Builder { | 	public final class Builder { | ||||||
| 
 | 
 | ||||||
| 		private DataSource dataSource; | 		private final org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder.Builder delegate; | ||||||
| 
 | 
 | ||||||
| 		private String[] packagesToScan; | 		private Builder( | ||||||
| 
 | 				org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder.Builder delegate) { | ||||||
| 		private String persistenceUnit; | 			this.delegate = delegate; | ||||||
| 
 |  | ||||||
| 		private Map<String, Object> properties = new HashMap<String, Object>(); |  | ||||||
| 
 |  | ||||||
| 		private boolean jta; |  | ||||||
| 
 |  | ||||||
| 		private Builder(DataSource dataSource) { |  | ||||||
| 			this.dataSource = dataSource; |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		/** | 		/** | ||||||
|  | @ -102,7 +98,7 @@ public class EntityManagerFactoryBuilder { | ||||||
| 		 * @return the builder for fluent usage | 		 * @return the builder for fluent usage | ||||||
| 		 */ | 		 */ | ||||||
| 		public Builder packages(String... packagesToScan) { | 		public Builder packages(String... packagesToScan) { | ||||||
| 			this.packagesToScan = packagesToScan; | 			this.delegate.packages(packagesToScan); | ||||||
| 			return this; | 			return this; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -112,11 +108,7 @@ public class EntityManagerFactoryBuilder { | ||||||
| 		 * @return the builder for fluent usage | 		 * @return the builder for fluent usage | ||||||
| 		 */ | 		 */ | ||||||
| 		public Builder packages(Class<?>... basePackageClasses) { | 		public Builder packages(Class<?>... basePackageClasses) { | ||||||
| 			Set<String> packages = new HashSet<String>(); | 			this.delegate.packages(basePackageClasses); | ||||||
| 			for (Class<?> type : basePackageClasses) { |  | ||||||
| 				packages.add(ClassUtils.getPackageName(type)); |  | ||||||
| 			} |  | ||||||
| 			this.packagesToScan = packages.toArray(new String[0]); |  | ||||||
| 			return this; | 			return this; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -128,7 +120,7 @@ public class EntityManagerFactoryBuilder { | ||||||
| 		 * @return the builder for fluent usage | 		 * @return the builder for fluent usage | ||||||
| 		 */ | 		 */ | ||||||
| 		public Builder persistenceUnit(String persistenceUnit) { | 		public Builder persistenceUnit(String persistenceUnit) { | ||||||
| 			this.persistenceUnit = persistenceUnit; | 			this.delegate.persistenceUnit(persistenceUnit); | ||||||
| 			return this; | 			return this; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -140,7 +132,7 @@ public class EntityManagerFactoryBuilder { | ||||||
| 		 * @return the builder for fluent usage | 		 * @return the builder for fluent usage | ||||||
| 		 */ | 		 */ | ||||||
| 		public Builder properties(Map<String, ?> properties) { | 		public Builder properties(Map<String, ?> properties) { | ||||||
| 			this.properties.putAll(properties); | 			this.delegate.properties(properties); | ||||||
| 			return this; | 			return this; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -155,49 +147,36 @@ public class EntityManagerFactoryBuilder { | ||||||
| 		 * @return the builder for fluent usage | 		 * @return the builder for fluent usage | ||||||
| 		 */ | 		 */ | ||||||
| 		public Builder jta(boolean jta) { | 		public Builder jta(boolean jta) { | ||||||
| 			this.jta = jta; | 			this.delegate.jta(jta); | ||||||
| 			return this; | 			return this; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		public LocalContainerEntityManagerFactoryBean build() { | 		public LocalContainerEntityManagerFactoryBean build() { | ||||||
| 			LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); | 			return this.delegate.build(); | ||||||
| 			if (EntityManagerFactoryBuilder.this.persistenceUnitManager != null) { |  | ||||||
| 				entityManagerFactoryBean |  | ||||||
| 						.setPersistenceUnitManager(EntityManagerFactoryBuilder.this.persistenceUnitManager); |  | ||||||
| 			} |  | ||||||
| 			if (this.persistenceUnit != null) { |  | ||||||
| 				entityManagerFactoryBean.setPersistenceUnitName(this.persistenceUnit); |  | ||||||
| 			} |  | ||||||
| 			entityManagerFactoryBean |  | ||||||
| 					.setJpaVendorAdapter(EntityManagerFactoryBuilder.this.jpaVendorAdapter); |  | ||||||
| 
 |  | ||||||
| 			if (this.jta) { |  | ||||||
| 				entityManagerFactoryBean.setJtaDataSource(this.dataSource); |  | ||||||
| 			} |  | ||||||
| 			else { |  | ||||||
| 				entityManagerFactoryBean.setDataSource(this.dataSource); |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			entityManagerFactoryBean.setPackagesToScan(this.packagesToScan); |  | ||||||
| 			entityManagerFactoryBean.getJpaPropertyMap().putAll( |  | ||||||
| 					EntityManagerFactoryBuilder.this.properties.getProperties()); |  | ||||||
| 			entityManagerFactoryBean.getJpaPropertyMap().putAll(this.properties); |  | ||||||
| 			if (EntityManagerFactoryBuilder.this.callback != null) { |  | ||||||
| 				EntityManagerFactoryBuilder.this.callback |  | ||||||
| 						.execute(entityManagerFactoryBean); |  | ||||||
| 			} |  | ||||||
| 			return entityManagerFactoryBean; |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * A callback for new entity manager factory beans created by a Builder. | 	 * A callback for new entity manager factory beans created by a Builder. | ||||||
|  | 	 * @deprecated since 1.3.0 in favor of | ||||||
|  | 	 * {@link org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder} | ||||||
| 	 */ | 	 */ | ||||||
|  | 	@Deprecated | ||||||
| 	public interface EntityManagerFactoryBeanCallback { | 	public interface EntityManagerFactoryBeanCallback { | ||||||
| 
 | 
 | ||||||
| 		void execute(LocalContainerEntityManagerFactoryBean factory); | 		void execute(LocalContainerEntityManagerFactoryBean factory); | ||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	private static class Delegate extends | ||||||
|  | 			org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder { | ||||||
|  | 
 | ||||||
|  | 		Delegate(JpaVendorAdapter jpaVendorAdapter, Map<String, ?> jpaProperties, | ||||||
|  | 				PersistenceUnitManager persistenceUnitManager) { | ||||||
|  | 			super(jpaVendorAdapter, jpaProperties, persistenceUnitManager); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -34,6 +34,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; | import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
|  | import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||||
| import org.springframework.context.annotation.Import; | import org.springframework.context.annotation.Import; | ||||||
|  | @ -99,7 +100,8 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware { | ||||||
| 	public EntityManagerFactoryBuilder entityManagerFactoryBuilder( | 	public EntityManagerFactoryBuilder entityManagerFactoryBuilder( | ||||||
| 			JpaVendorAdapter jpaVendorAdapter) { | 			JpaVendorAdapter jpaVendorAdapter) { | ||||||
| 		EntityManagerFactoryBuilder builder = new EntityManagerFactoryBuilder( | 		EntityManagerFactoryBuilder builder = new EntityManagerFactoryBuilder( | ||||||
| 				jpaVendorAdapter, this.jpaProperties, this.persistenceUnitManager); | 				jpaVendorAdapter, this.jpaProperties.getProperties(), | ||||||
|  | 				this.persistenceUnitManager); | ||||||
| 		builder.setCallback(getVendorCallback()); | 		builder.setCallback(getVendorCallback()); | ||||||
| 		return builder; | 		return builder; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| /* |  | ||||||
|  * Copyright 2012-2015 the original author or authors. |  | ||||||
|  * |  | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  | ||||||
|  * you may not use this file except in compliance with the License. |  | ||||||
|  * You may obtain a copy of the License at |  | ||||||
|  * |  | ||||||
|  *      http://www.apache.org/licenses/LICENSE-2.0 |  | ||||||
|  * |  | ||||||
|  * Unless required by applicable law or agreed to in writing, software |  | ||||||
|  * distributed under the License is distributed on an "AS IS" BASIS, |  | ||||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * Auto-configuration for Redis. |  | ||||||
|  */ |  | ||||||
| package org.springframework.boot.autoconfigure.redis; |  | ||||||
| 
 |  | ||||||
|  | @ -25,7 +25,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; | import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; | ||||||
| import org.springframework.boot.autoconfigure.condition.SearchStrategy; | import org.springframework.boot.autoconfigure.condition.SearchStrategy; | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.web.ServerProperties; | import org.springframework.boot.autoconfigure.web.ServerProperties; | ||||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
|  |  | ||||||
|  | @ -14,10 +14,14 @@ org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration,\ | org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration,\ | org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration,\ | org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration,\ | ||||||
|  | org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration,\ | ||||||
|  | org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration,\ | org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration,\ | org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration,\ | ||||||
|  | org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration,\ | org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.data.solr.SolrRepositoriesAutoConfiguration,\ | org.springframework.boot.autoconfigure.data.solr.SolrRepositoriesAutoConfiguration,\ | ||||||
|  | org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration,\ | org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration,\ | org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ | org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ | ||||||
|  | @ -37,8 +41,6 @@ org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguratio | ||||||
| org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration,\ | org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration,\ | org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.jms.hornetq.HornetQAutoConfiguration,\ | org.springframework.boot.autoconfigure.jms.hornetq.HornetQAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchAutoConfiguration,\ |  | ||||||
| org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchDataAutoConfiguration,\ |  | ||||||
| org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ | org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\ | org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration,\ | org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration,\ | ||||||
|  | @ -51,11 +53,9 @@ org.springframework.boot.autoconfigure.mobile.DeviceDelegatingViewResolverAutoCo | ||||||
| org.springframework.boot.autoconfigure.mobile.SitePreferenceAutoConfiguration,\ | org.springframework.boot.autoconfigure.mobile.SitePreferenceAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration,\ | org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration,\ | org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration,\ |  | ||||||
| org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ | org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ | org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.reactor.ReactorAutoConfiguration,\ | org.springframework.boot.autoconfigure.reactor.ReactorAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration,\ |  | ||||||
| org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration,\ | org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.security.SecurityFilterAutoConfiguration,\ | org.springframework.boot.autoconfigure.security.SecurityFilterAutoConfiguration,\ | ||||||
| org.springframework.boot.autoconfigure.security.FallbackWebSecurityAutoConfiguration,\ | org.springframework.boot.autoconfigure.security.FallbackWebSecurityAutoConfiguration,\ | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.elasticsearch; | package org.springframework.boot.autoconfigure.data.elasticsearch; | ||||||
| 
 | 
 | ||||||
| import org.elasticsearch.client.Client; | import org.elasticsearch.client.Client; | ||||||
| import org.elasticsearch.client.node.NodeClient; | import org.elasticsearch.client.node.NodeClient; | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.elasticsearch; | package org.springframework.boot.autoconfigure.data.elasticsearch; | ||||||
| 
 | 
 | ||||||
| import org.junit.After; | import org.junit.After; | ||||||
| import org.junit.Test; | import org.junit.Test; | ||||||
|  | @ -25,8 +25,6 @@ import org.springframework.boot.autoconfigure.data.alt.elasticsearch.CityElastic | ||||||
| import org.springframework.boot.autoconfigure.data.elasticsearch.city.City; | import org.springframework.boot.autoconfigure.data.elasticsearch.city.City; | ||||||
| import org.springframework.boot.autoconfigure.data.elasticsearch.city.CityRepository; | import org.springframework.boot.autoconfigure.data.elasticsearch.city.CityRepository; | ||||||
| import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage; | import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage; | ||||||
| import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchAutoConfiguration; |  | ||||||
| import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchDataAutoConfiguration; |  | ||||||
| import org.springframework.boot.test.EnvironmentTestUtils; | import org.springframework.boot.test.EnvironmentTestUtils; | ||||||
| import org.springframework.context.annotation.AnnotationConfigApplicationContext; | import org.springframework.context.annotation.AnnotationConfigApplicationContext; | ||||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -30,7 +30,6 @@ import org.springframework.boot.autoconfigure.data.mongo.country.CountryReposito | ||||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfigurationTests; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfigurationTests; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; | import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; | ||||||
| import org.springframework.boot.orm.jpa.EntityScan; | import org.springframework.boot.orm.jpa.EntityScan; | ||||||
| import org.springframework.boot.test.EnvironmentTestUtils; | import org.springframework.boot.test.EnvironmentTestUtils; | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.mongo; | package org.springframework.boot.autoconfigure.data.mongo; | ||||||
| 
 | 
 | ||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
| import java.util.Set; | import java.util.Set; | ||||||
|  | @ -29,6 +29,7 @@ import org.springframework.beans.factory.UnsatisfiedDependencyException; | ||||||
| import org.springframework.boot.autoconfigure.AutoConfigurationPackages; | import org.springframework.boot.autoconfigure.AutoConfigurationPackages; | ||||||
| import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.data.mongo.city.City; | import org.springframework.boot.autoconfigure.data.mongo.city.City; | ||||||
|  | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.test.EnvironmentTestUtils; | import org.springframework.boot.test.EnvironmentTestUtils; | ||||||
| import org.springframework.context.annotation.AnnotationConfigApplicationContext; | import org.springframework.context.annotation.AnnotationConfigApplicationContext; | ||||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage; | ||||||
| import org.springframework.boot.autoconfigure.data.mongo.city.City; | import org.springframework.boot.autoconfigure.data.mongo.city.City; | ||||||
| import org.springframework.boot.autoconfigure.data.mongo.city.CityRepository; | import org.springframework.boot.autoconfigure.data.mongo.city.CityRepository; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.context.annotation.AnnotationConfigApplicationContext; | import org.springframework.context.annotation.AnnotationConfigApplicationContext; | ||||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||||
| import org.springframework.data.mongodb.core.mapping.MongoMappingContext; | import org.springframework.data.mongodb.core.mapping.MongoMappingContext; | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package org.springframework.boot.autoconfigure.redis; | package org.springframework.boot.autoconfigure.data.redis; | ||||||
| 
 | 
 | ||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | @ -22,8 +22,8 @@ import org.junit.After; | ||||||
| import org.junit.Test; | import org.junit.Test; | ||||||
| import org.springframework.beans.factory.annotation.Value; | import org.springframework.beans.factory.annotation.Value; | ||||||
| import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | ||||||
|  | import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; |  | ||||||
| import org.springframework.boot.test.EnvironmentTestUtils; | import org.springframework.boot.test.EnvironmentTestUtils; | ||||||
| import org.springframework.context.ConfigurableApplicationContext; | import org.springframework.context.ConfigurableApplicationContext; | ||||||
| import org.springframework.context.annotation.AnnotationConfigApplicationContext; | import org.springframework.context.annotation.AnnotationConfigApplicationContext; | ||||||
|  | @ -36,7 +36,6 @@ import com.mongodb.CommandResult; | ||||||
| import com.mongodb.MongoClient; | import com.mongodb.MongoClient; | ||||||
| 
 | 
 | ||||||
| import de.flapdoodle.embed.mongo.distribution.Feature; | import de.flapdoodle.embed.mongo.distribution.Feature; | ||||||
| 
 |  | ||||||
| import static org.hamcrest.Matchers.equalTo; | import static org.hamcrest.Matchers.equalTo; | ||||||
| import static org.hamcrest.Matchers.hasItems; | import static org.hamcrest.Matchers.hasItems; | ||||||
| import static org.hamcrest.Matchers.is; | import static org.hamcrest.Matchers.is; | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2012-2014 the original author or authors. |  * Copyright 2012-2015 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -33,6 +33,7 @@ import static org.mockito.Mockito.mock; | ||||||
|  * |  * | ||||||
|  * @author Dave Syer |  * @author Dave Syer | ||||||
|  */ |  */ | ||||||
|  | @Deprecated | ||||||
| public class EntityManagerFactoryBuilderTests { | public class EntityManagerFactoryBuilderTests { | ||||||
| 
 | 
 | ||||||
| 	private JpaProperties properties = new JpaProperties(); | 	private JpaProperties properties = new JpaProperties(); | ||||||
|  |  | ||||||
|  | @ -20,7 +20,7 @@ import org.junit.After; | ||||||
| import org.junit.Rule; | import org.junit.Rule; | ||||||
| import org.junit.Test; | import org.junit.Test; | ||||||
| import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration; | import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; | ||||||
| import org.springframework.boot.autoconfigure.web.ServerProperties; | import org.springframework.boot.autoconfigure.web.ServerProperties; | ||||||
| import org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration; | import org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration; | ||||||
| import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext; | import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext; | ||||||
|  |  | ||||||
|  | @ -0,0 +1,203 @@ | ||||||
|  | /* | ||||||
|  |  * Copyright 2012-2015 the original author or authors. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *      http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | package org.springframework.boot.orm.jpa; | ||||||
|  | 
 | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.HashSet; | ||||||
|  | import java.util.LinkedHashMap; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Set; | ||||||
|  | 
 | ||||||
|  | import javax.sql.DataSource; | ||||||
|  | 
 | ||||||
|  | import org.springframework.orm.jpa.JpaVendorAdapter; | ||||||
|  | import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | ||||||
|  | import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager; | ||||||
|  | import org.springframework.util.ClassUtils; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Convenient builder for JPA EntityManagerFactory instances. Collects common | ||||||
|  |  * configuration when constructed and then allows you to create one or more | ||||||
|  |  * {@link LocalContainerEntityManagerFactoryBean} through a fluent builder pattern. The | ||||||
|  |  * most common options are covered in the builder, but you can always manipulate the | ||||||
|  |  * product of the builder if you need more control, before returning it from a | ||||||
|  |  * {@code @Bean} definition. | ||||||
|  |  * | ||||||
|  |  * @author Dave Syer | ||||||
|  |  * @author Phillip Webb | ||||||
|  |  * @since 1.3.0 | ||||||
|  |  */ | ||||||
|  | public class EntityManagerFactoryBuilder { | ||||||
|  | 
 | ||||||
|  | 	private JpaVendorAdapter jpaVendorAdapter; | ||||||
|  | 
 | ||||||
|  | 	private PersistenceUnitManager persistenceUnitManager; | ||||||
|  | 
 | ||||||
|  | 	private Map<String, Object> jpaProperties; | ||||||
|  | 
 | ||||||
|  | 	private EntityManagerFactoryBeanCallback callback; | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * Create a new instance passing in the common pieces that will be shared if multiple | ||||||
|  | 	 * EntityManagerFactory instances are created. | ||||||
|  | 	 * @param jpaVendorAdapter a vendor adapter | ||||||
|  | 	 * @param jpaProperties JPA properties to be passed to the persistence provider. | ||||||
|  | 	 * @param persistenceUnitManager optional source of persistence unit information (can | ||||||
|  | 	 * be null) | ||||||
|  | 	 */ | ||||||
|  | 	public EntityManagerFactoryBuilder(JpaVendorAdapter jpaVendorAdapter, | ||||||
|  | 			Map<String, ?> jpaProperties, PersistenceUnitManager persistenceUnitManager) { | ||||||
|  | 		this.jpaVendorAdapter = jpaVendorAdapter; | ||||||
|  | 		this.persistenceUnitManager = persistenceUnitManager; | ||||||
|  | 		this.jpaProperties = new LinkedHashMap<String, Object>(jpaProperties); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	public Builder dataSource(DataSource dataSource) { | ||||||
|  | 		return new Builder(dataSource); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * An optional callback for new entity manager factory beans. | ||||||
|  | 	 * @param callback the entity manager factory bean callback | ||||||
|  | 	 */ | ||||||
|  | 	public void setCallback(EntityManagerFactoryBeanCallback callback) { | ||||||
|  | 		this.callback = callback; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * A fluent builder for a LocalContainerEntityManagerFactoryBean. | ||||||
|  | 	 */ | ||||||
|  | 	public final class Builder { | ||||||
|  | 
 | ||||||
|  | 		private DataSource dataSource; | ||||||
|  | 
 | ||||||
|  | 		private String[] packagesToScan; | ||||||
|  | 
 | ||||||
|  | 		private String persistenceUnit; | ||||||
|  | 
 | ||||||
|  | 		private Map<String, Object> properties = new HashMap<String, Object>(); | ||||||
|  | 
 | ||||||
|  | 		private boolean jta; | ||||||
|  | 
 | ||||||
|  | 		private Builder(DataSource dataSource) { | ||||||
|  | 			this.dataSource = dataSource; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		/** | ||||||
|  | 		 * The names of packages to scan for {@code @Entity} annotations. | ||||||
|  | 		 * @param packagesToScan packages to scan | ||||||
|  | 		 * @return the builder for fluent usage | ||||||
|  | 		 */ | ||||||
|  | 		public Builder packages(String... packagesToScan) { | ||||||
|  | 			this.packagesToScan = packagesToScan; | ||||||
|  | 			return this; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		/** | ||||||
|  | 		 * The classes whose packages should be scanned for {@code @Entity} annotations. | ||||||
|  | 		 * @param basePackageClasses the classes to use | ||||||
|  | 		 * @return the builder for fluent usage | ||||||
|  | 		 */ | ||||||
|  | 		public Builder packages(Class<?>... basePackageClasses) { | ||||||
|  | 			Set<String> packages = new HashSet<String>(); | ||||||
|  | 			for (Class<?> type : basePackageClasses) { | ||||||
|  | 				packages.add(ClassUtils.getPackageName(type)); | ||||||
|  | 			} | ||||||
|  | 			this.packagesToScan = packages.toArray(new String[0]); | ||||||
|  | 			return this; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		/** | ||||||
|  | 		 * The name of the persistence unit. If only building one EntityManagerFactory you | ||||||
|  | 		 * can omit this, but if there are more than one in the same application you | ||||||
|  | 		 * should give them distinct names. | ||||||
|  | 		 * @param persistenceUnit the name of the persistence unit | ||||||
|  | 		 * @return the builder for fluent usage | ||||||
|  | 		 */ | ||||||
|  | 		public Builder persistenceUnit(String persistenceUnit) { | ||||||
|  | 			this.persistenceUnit = persistenceUnit; | ||||||
|  | 			return this; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		/** | ||||||
|  | 		 * Generic properties for standard JPA or vendor-specific configuration. These | ||||||
|  | 		 * properties override any values provided in the constructor. | ||||||
|  | 		 * @param properties the properties to use | ||||||
|  | 		 * @return the builder for fluent usage | ||||||
|  | 		 */ | ||||||
|  | 		public Builder properties(Map<String, ?> properties) { | ||||||
|  | 			this.properties.putAll(properties); | ||||||
|  | 			return this; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		/** | ||||||
|  | 		 * Configure if using a JTA {@link DataSource}, i.e. if | ||||||
|  | 		 * {@link LocalContainerEntityManagerFactoryBean#setDataSource(DataSource) | ||||||
|  | 		 * setDataSource} or | ||||||
|  | 		 * {@link LocalContainerEntityManagerFactoryBean#setJtaDataSource(DataSource) | ||||||
|  | 		 * setJtaDataSource} should be called on the | ||||||
|  | 		 * {@link LocalContainerEntityManagerFactoryBean}. | ||||||
|  | 		 * @param jta if the data source is JTA | ||||||
|  | 		 * @return the builder for fluent usage | ||||||
|  | 		 */ | ||||||
|  | 		public Builder jta(boolean jta) { | ||||||
|  | 			this.jta = jta; | ||||||
|  | 			return this; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		public LocalContainerEntityManagerFactoryBean build() { | ||||||
|  | 			LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); | ||||||
|  | 			if (EntityManagerFactoryBuilder.this.persistenceUnitManager != null) { | ||||||
|  | 				entityManagerFactoryBean | ||||||
|  | 						.setPersistenceUnitManager(EntityManagerFactoryBuilder.this.persistenceUnitManager); | ||||||
|  | 			} | ||||||
|  | 			if (this.persistenceUnit != null) { | ||||||
|  | 				entityManagerFactoryBean.setPersistenceUnitName(this.persistenceUnit); | ||||||
|  | 			} | ||||||
|  | 			entityManagerFactoryBean | ||||||
|  | 					.setJpaVendorAdapter(EntityManagerFactoryBuilder.this.jpaVendorAdapter); | ||||||
|  | 
 | ||||||
|  | 			if (this.jta) { | ||||||
|  | 				entityManagerFactoryBean.setJtaDataSource(this.dataSource); | ||||||
|  | 			} | ||||||
|  | 			else { | ||||||
|  | 				entityManagerFactoryBean.setDataSource(this.dataSource); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			entityManagerFactoryBean.setPackagesToScan(this.packagesToScan); | ||||||
|  | 			entityManagerFactoryBean.getJpaPropertyMap().putAll( | ||||||
|  | 					EntityManagerFactoryBuilder.this.jpaProperties); | ||||||
|  | 			entityManagerFactoryBean.getJpaPropertyMap().putAll(this.properties); | ||||||
|  | 			if (EntityManagerFactoryBuilder.this.callback != null) { | ||||||
|  | 				EntityManagerFactoryBuilder.this.callback | ||||||
|  | 						.execute(entityManagerFactoryBean); | ||||||
|  | 			} | ||||||
|  | 			return entityManagerFactoryBean; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * A callback for new entity manager factory beans created by a Builder. | ||||||
|  | 	 */ | ||||||
|  | 	public interface EntityManagerFactoryBeanCallback { | ||||||
|  | 
 | ||||||
|  | 		void execute(LocalContainerEntityManagerFactoryBean factory); | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,71 @@ | ||||||
|  | /* | ||||||
|  |  * Copyright 2012-2015 the original author or authors. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *      http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | package org.springframework.boot.orm.jpa; | ||||||
|  | 
 | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.LinkedHashMap; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | import javax.sql.DataSource; | ||||||
|  | 
 | ||||||
|  | import org.junit.Test; | ||||||
|  | import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | ||||||
|  | import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; | ||||||
|  | 
 | ||||||
|  | import static org.junit.Assert.assertFalse; | ||||||
|  | import static org.junit.Assert.assertTrue; | ||||||
|  | import static org.mockito.Mockito.mock; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Tests for {@link EntityManagerFactoryBuilder}. | ||||||
|  |  * | ||||||
|  |  * @author Dave Syer | ||||||
|  |  */ | ||||||
|  | @Deprecated | ||||||
|  | public class EntityManagerFactoryBuilderTests { | ||||||
|  | 
 | ||||||
|  | 	private Map<String, Object> properties = new LinkedHashMap<String, Object>(); | ||||||
|  | 
 | ||||||
|  | 	private DataSource dataSource1 = mock(DataSource.class); | ||||||
|  | 
 | ||||||
|  | 	private DataSource dataSource2 = mock(DataSource.class); | ||||||
|  | 
 | ||||||
|  | 	@Test | ||||||
|  | 	public void entityManagerFactoryPropertiesNotOverwritingDefaults() { | ||||||
|  | 		EntityManagerFactoryBuilder factory = new EntityManagerFactoryBuilder( | ||||||
|  | 				new HibernateJpaVendorAdapter(), this.properties, null); | ||||||
|  | 		LocalContainerEntityManagerFactoryBean result1 = factory | ||||||
|  | 				.dataSource(this.dataSource1) | ||||||
|  | 				.properties(Collections.singletonMap("foo", "spam")).build(); | ||||||
|  | 		assertFalse(result1.getJpaPropertyMap().isEmpty()); | ||||||
|  | 		assertTrue(this.properties.isEmpty()); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Test | ||||||
|  | 	public void multipleEntityManagerFactoriesDoNotOverwriteEachOther() { | ||||||
|  | 		EntityManagerFactoryBuilder factory = new EntityManagerFactoryBuilder( | ||||||
|  | 				new HibernateJpaVendorAdapter(), this.properties, null); | ||||||
|  | 		LocalContainerEntityManagerFactoryBean result1 = factory | ||||||
|  | 				.dataSource(this.dataSource1) | ||||||
|  | 				.properties(Collections.singletonMap("foo", "spam")).build(); | ||||||
|  | 		assertFalse(result1.getJpaPropertyMap().isEmpty()); | ||||||
|  | 		LocalContainerEntityManagerFactoryBean result2 = factory.dataSource( | ||||||
|  | 				this.dataSource2).build(); | ||||||
|  | 		assertTrue(result2.getJpaPropertyMap().isEmpty()); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue