Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
af4ca7cf
Commit
af4ca7cf
authored
Nov 15, 2016
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Align Spring Data Neo4j auto-configuration with latest Ingalls snapshots
Closes gh-7391
parent
2ba3b279
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
146 additions
and
98 deletions
+146
-98
.settings-template.xml
.settings-template.xml
+7
-0
Neo4jDataAutoConfiguration.java
.../autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java
+53
-41
Neo4jRepositoriesAutoConfiguration.java
...figure/data/neo4j/Neo4jRepositoriesAutoConfiguration.java
+9
-14
Neo4jRepositoriesAutoConfigureRegistrar.java
...e/data/neo4j/Neo4jRepositoriesAutoConfigureRegistrar.java
+2
-3
additional-spring-configuration-metadata.json
...es/META-INF/additional-spring-configuration-metadata.json
+6
-6
CityNeo4jRepository.java
...oot/autoconfigure/data/alt/neo4j/CityNeo4jRepository.java
+0
-1
MixedNeo4jRepositoriesAutoConfigurationTests.java
...a/neo4j/MixedNeo4jRepositoriesAutoConfigurationTests.java
+0
-1
Neo4jDataAutoConfigurationTests.java
...configure/data/neo4j/Neo4jDataAutoConfigurationTests.java
+46
-27
Neo4jRepositoriesAutoConfigurationTests.java
...e/data/neo4j/Neo4jRepositoriesAutoConfigurationTests.java
+0
-1
CityRepository.java
...rk/boot/autoconfigure/data/neo4j/city/CityRepository.java
+0
-1
CountryRepository.java
...t/autoconfigure/data/neo4j/country/CountryRepository.java
+0
-1
pom.xml
spring-boot-dependencies/pom.xml
+9
-2
pom.xml
spring-boot-parent/pom.xml
+14
-0
No files found.
.settings-template.xml
View file @
af4ca7cf
...
@@ -41,6 +41,13 @@
...
@@ -41,6 +41,13 @@
<enabled>
false
</enabled>
<enabled>
false
</enabled>
</snapshots>
</snapshots>
</repository>
</repository>
<repository>
<id>
neo4j-snapshots
</id>
<url>
http://m2.neo4j.org/content/repositories/snapshots
</url>
<snapshots>
<enabled>
true
</enabled>
</snapshots>
</repository>
</repositories>
</repositories>
<pluginRepositories>
<pluginRepositories>
<pluginRepository>
<pluginRepository>
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java
View file @
af4ca7cf
...
@@ -18,23 +18,26 @@ package org.springframework.boot.autoconfigure.data.neo4j;
...
@@ -18,23 +18,26 @@ package org.springframework.boot.autoconfigure.data.neo4j;
import
java.util.List
;
import
java.util.List
;
import
org.neo4j.ogm.session.Neo4jSession
;
import
org.neo4j.ogm.session.Session
;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.springframework.boot.autoconfigure.AutoConfigurationPackages
;
import
org.springframework.boot.autoconfigure.AutoConfigurationPackages
;
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.condition.ConditionalOnProperty
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication
;
import
org.springframework.boot.autoconfigure.domain.EntityScanPackages
;
import
org.springframework.boot.autoconfigure.domain.EntityScanPackages
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
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.Scope
;
import
org.springframework.context.annotation.ScopedProxyMode
;
import
org.springframework.data.neo4j.config.Neo4jConfiguration
;
import
org.springframework.data.neo4j.template.Neo4jOperations
;
import
org.springframework.data.neo4j.template.Neo4jOperations
;
import
org.springframework.data.neo4j.template.Neo4jTemplate
;
import
org.springframework.data.neo4j.transaction.Neo4jTransactionManager
;
import
org.springframework.data.neo4j.web.support.OpenSessionInViewInterceptor
;
import
org.springframework.transaction.PlatformTransactionManager
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
;
/**
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data Neo4j.
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data Neo4j.
...
@@ -45,58 +48,67 @@ import org.springframework.data.neo4j.template.Neo4jOperations;
...
@@ -45,58 +48,67 @@ import org.springframework.data.neo4j.template.Neo4jOperations;
* @author Stephane Nicoll
* @author Stephane Nicoll
* @since 1.4.0
* @since 1.4.0
*/
*/
@SuppressWarnings
(
"deprecation"
)
@Configuration
@Configuration
@ConditionalOnClass
(
{
Neo4jSession
.
class
,
Neo4jOperations
.
class
}
)
@ConditionalOnClass
(
SessionFactory
.
class
)
@ConditionalOnMissingBean
(
Neo4jOperations
.
class
)
@ConditionalOnMissingBean
(
SessionFactory
.
class
)
@EnableConfigurationProperties
(
Neo4jProperties
.
class
)
@EnableConfigurationProperties
(
Neo4jProperties
.
class
)
@SuppressWarnings
(
"deprecation"
)
public
class
Neo4jDataAutoConfiguration
{
public
class
Neo4jDataAutoConfiguration
{
private
final
Neo4jProperties
properties
;
public
Neo4jDataAutoConfiguration
(
Neo4jProperties
properties
)
{
this
.
properties
=
properties
;
}
@Bean
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingBean
public
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
()
{
public
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
(
Neo4jProperties
properties
)
{
return
this
.
properties
.
createConfiguration
();
return
properties
.
createConfiguration
();
}
}
@Configuration
@Bean
static
class
SpringBootNeo4jConfiguration
extends
Neo4jConfiguration
{
public
SessionFactory
sessionFactory
(
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
,
ApplicationContext
applicationContext
)
{
return
new
SessionFactory
(
configuration
,
getPackagesToScan
(
applicationContext
));
}
private
final
ApplicationContext
applicationContext
;
@Bean
@ConditionalOnMissingBean
(
Neo4jOperations
.
class
)
public
Neo4jTemplate
neo4jTemplate
(
SessionFactory
sessionFactory
)
{
return
new
Neo4jTemplate
(
sessionFactory
);
}
private
final
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
;
@Bean
@ConditionalOnMissingBean
(
PlatformTransactionManager
.
class
)
public
Neo4jTransactionManager
transactionManager
(
SessionFactory
sessionFactory
)
{
return
new
Neo4jTransactionManager
(
sessionFactory
);
}
SpringBootNeo4jConfiguration
(
ApplicationContext
applicationContext
,
private
String
[]
getPackagesToScan
(
ApplicationContext
applicationContext
)
{
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
)
{
List
<
String
>
packages
=
EntityScanPackages
.
get
(
applicationContext
)
this
.
applicationContext
=
applicationContext
;
.
getPackageNames
();
this
.
configuration
=
configuration
;
if
(
packages
.
isEmpty
()
&&
AutoConfigurationPackages
.
has
(
applicationContext
))
{
packages
=
AutoConfigurationPackages
.
get
(
applicationContext
);
}
}
return
packages
.
toArray
(
new
String
[
packages
.
size
()]);
}
@Override
@Configuration
public
SessionFactory
getSessionFactory
()
{
@ConditionalOnWebApplication
return
new
SessionFactory
(
this
.
configuration
,
getPackagesToScan
());
@ConditionalOnClass
({
WebMvcConfigurerAdapter
.
class
,
}
OpenSessionInViewInterceptor
.
class
})
@ConditionalOnMissingBean
(
OpenSessionInViewInterceptor
.
class
)
@ConditionalOnProperty
(
prefix
=
"spring.data.neo4j"
,
name
=
"open-in-view"
,
havingValue
=
"true"
)
protected
static
class
Neo4jWebConfiguration
{
@Configuration
protected
static
class
Neo4jWebMvcConfiguration
extends
WebMvcConfigurerAdapter
{
@Bean
public
OpenSessionInViewInterceptor
neo4jOpenSessionInViewInterceptor
()
{
return
new
OpenSessionInViewInterceptor
();
}
private
String
[]
getPackagesToScan
()
{
@Override
List
<
String
>
packages
=
EntityScanPackages
.
get
(
this
.
applicationContext
)
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
.
getPackageNames
();
registry
.
addWebRequestInterceptor
(
neo4jOpenSessionInViewInterceptor
());
if
(
packages
.
isEmpty
()
&&
AutoConfigurationPackages
.
has
(
this
.
applicationContext
))
{
packages
=
AutoConfigurationPackages
.
get
(
this
.
applicationContext
);
}
}
return
packages
.
toArray
(
new
String
[
packages
.
size
()]);
}
@Override
@Bean
@Scope
(
scopeName
=
"${spring.data.neo4j.session.scope:singleton}"
,
proxyMode
=
ScopedProxyMode
.
TARGET_CLASS
)
public
Session
getSession
()
throws
Exception
{
return
super
.
getSession
();
}
}
}
}
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfiguration.java
View file @
af4ca7cf
...
@@ -27,24 +27,20 @@ import org.springframework.context.annotation.Configuration;
...
@@ -27,24 +27,20 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.context.annotation.Import
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
import
org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories
;
import
org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories
;
import
org.springframework.data.neo4j.repository.config.
Graph
RepositoryConfigurationExtension
;
import
org.springframework.data.neo4j.repository.config.
Neo4j
RepositoryConfigurationExtension
;
import
org.springframework.data.neo4j.repository.support.
Graph
RepositoryFactoryBean
;
import
org.springframework.data.neo4j.repository.support.
Neo4j
RepositoryFactoryBean
;
/**
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Neo4j
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Neo4j
* Repositories.
* Repositories.
* <p>
* <p>
* Activates when there is no bean of type
* Activates when there is no bean of type {@link Neo4jRepositoryFactoryBean} configured
* {@link org.springframework.data.neo4j.repository.support.GraphRepositoryFactoryBean}
* in the context, the Spring Data Neo4j {@link GraphRepository} type is on the classpath,
* configured in the context, the Spring Data Neo4j
* the Neo4j client driver API is on the classpath, and there is no other configured
* {@link org.springframework.data.neo4j.repository.GraphRepository} type is on the
* {@link GraphRepository}.
* classpath, the Neo4j client driver API is on the classpath, and there is no other
* configured {@link org.springframework.data.neo4j.repository.GraphRepository}.
* <p>
* <p>
* Once in effect, the auto-configuration is the equivalent of enabling Neo4j repositories
* Once in effect, the auto-configuration is the equivalent of enabling Neo4j repositories
* using the
* using the {@link EnableNeo4jRepositories} annotation.
* {@link org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories}
* annotation.
*
*
* @author Dave Syer
* @author Dave Syer
* @author Oliver Gierke
* @author Oliver Gierke
...
@@ -52,11 +48,10 @@ import org.springframework.data.neo4j.repository.support.GraphRepositoryFactoryB
...
@@ -52,11 +48,10 @@ import org.springframework.data.neo4j.repository.support.GraphRepositoryFactoryB
* @since 1.4.0
* @since 1.4.0
* @see EnableNeo4jRepositories
* @see EnableNeo4jRepositories
*/
*/
@SuppressWarnings
(
"deprecation"
)
@Configuration
@Configuration
@ConditionalOnClass
({
Neo4jSession
.
class
,
GraphRepository
.
class
})
@ConditionalOnClass
({
Neo4jSession
.
class
,
GraphRepository
.
class
})
@ConditionalOnMissingBean
({
Graph
RepositoryFactoryBean
.
class
,
@ConditionalOnMissingBean
({
Neo4j
RepositoryFactoryBean
.
class
,
Graph
RepositoryConfigurationExtension
.
class
})
Neo4j
RepositoryConfigurationExtension
.
class
})
@ConditionalOnProperty
(
prefix
=
"spring.data.neo4j.repositories"
,
name
=
"enabled"
,
havingValue
=
"true"
,
matchIfMissing
=
true
)
@ConditionalOnProperty
(
prefix
=
"spring.data.neo4j.repositories"
,
name
=
"enabled"
,
havingValue
=
"true"
,
matchIfMissing
=
true
)
@Import
(
Neo4jRepositoriesAutoConfigureRegistrar
.
class
)
@Import
(
Neo4jRepositoriesAutoConfigureRegistrar
.
class
)
@AutoConfigureAfter
(
Neo4jDataAutoConfiguration
.
class
)
@AutoConfigureAfter
(
Neo4jDataAutoConfiguration
.
class
)
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfigureRegistrar.java
View file @
af4ca7cf
...
@@ -21,7 +21,7 @@ import java.lang.annotation.Annotation;
...
@@ -21,7 +21,7 @@ import java.lang.annotation.Annotation;
import
org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport
;
import
org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport
;
import
org.springframework.context.annotation.ImportBeanDefinitionRegistrar
;
import
org.springframework.context.annotation.ImportBeanDefinitionRegistrar
;
import
org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories
;
import
org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories
;
import
org.springframework.data.neo4j.repository.config.
Graph
RepositoryConfigurationExtension
;
import
org.springframework.data.neo4j.repository.config.
Neo4j
RepositoryConfigurationExtension
;
import
org.springframework.data.repository.config.RepositoryConfigurationExtension
;
import
org.springframework.data.repository.config.RepositoryConfigurationExtension
;
/**
/**
...
@@ -30,7 +30,6 @@ import org.springframework.data.repository.config.RepositoryConfigurationExtensi
...
@@ -30,7 +30,6 @@ import org.springframework.data.repository.config.RepositoryConfigurationExtensi
*
*
* @author Michael Hunger
* @author Michael Hunger
*/
*/
@SuppressWarnings
(
"deprecation"
)
class
Neo4jRepositoriesAutoConfigureRegistrar
class
Neo4jRepositoriesAutoConfigureRegistrar
extends
AbstractRepositoryConfigurationSourceSupport
{
extends
AbstractRepositoryConfigurationSourceSupport
{
...
@@ -46,7 +45,7 @@ class Neo4jRepositoriesAutoConfigureRegistrar
...
@@ -46,7 +45,7 @@ class Neo4jRepositoriesAutoConfigureRegistrar
@Override
@Override
protected
RepositoryConfigurationExtension
getRepositoryConfigurationExtension
()
{
protected
RepositoryConfigurationExtension
getRepositoryConfigurationExtension
()
{
return
new
Graph
RepositoryConfigurationExtension
();
return
new
Neo4j
RepositoryConfigurationExtension
();
}
}
@EnableNeo4jRepositories
@EnableNeo4jRepositories
...
...
spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json
View file @
af4ca7cf
...
@@ -84,18 +84,18 @@
...
@@ -84,18 +84,18 @@
"description"
:
"Enable Mongo repositories."
,
"description"
:
"Enable Mongo repositories."
,
"defaultValue"
:
true
"defaultValue"
:
true
},
},
{
"name"
:
"spring.data.neo4j.open-in-view"
,
"type"
:
"java.lang.Boolean"
,
"description"
:
"Register OpenSessionInViewInterceptor. Binds a Neo4j Session to the thread for the entire processing of the request."
,
"defaultValue"
:
false
},
{
{
"name"
:
"spring.data.neo4j.repositories.enabled"
,
"name"
:
"spring.data.neo4j.repositories.enabled"
,
"type"
:
"java.lang.Boolean"
,
"type"
:
"java.lang.Boolean"
,
"description"
:
"Enable Neo4j repositories."
,
"description"
:
"Enable Neo4j repositories."
,
"defaultValue"
:
true
"defaultValue"
:
true
},
},
{
"name"
:
"spring.data.neo4j.session.scope"
,
"type"
:
"java.lang.String"
,
"description"
:
"Scope (lifetime) of the session."
,
"defaultValue"
:
"singleton"
},
{
{
"name"
:
"spring.data.redis.repositories.enabled"
,
"name"
:
"spring.data.redis.repositories.enabled"
,
"type"
:
"java.lang.Boolean"
,
"type"
:
"java.lang.Boolean"
,
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/neo4j/CityNeo4jRepository.java
View file @
af4ca7cf
...
@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.data.alt.neo4j;
...
@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.data.alt.neo4j;
import
org.springframework.boot.autoconfigure.data.neo4j.city.City
;
import
org.springframework.boot.autoconfigure.data.neo4j.city.City
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
@SuppressWarnings
(
"deprecation"
)
public
interface
CityNeo4jRepository
extends
GraphRepository
<
City
>
{
public
interface
CityNeo4jRepository
extends
GraphRepository
<
City
>
{
}
}
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/MixedNeo4jRepositoriesAutoConfigurationTests.java
View file @
af4ca7cf
...
@@ -53,7 +53,6 @@ import static org.assertj.core.api.Assertions.assertThat;
...
@@ -53,7 +53,6 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Vince Bickers
* @author Vince Bickers
* @author Stephane Nicoll
* @author Stephane Nicoll
*/
*/
@SuppressWarnings
(
"deprecation"
)
public
class
MixedNeo4jRepositoriesAutoConfigurationTests
{
public
class
MixedNeo4jRepositoriesAutoConfigurationTests
{
private
AnnotationConfigApplicationContext
context
=
new
AnnotationConfigApplicationContext
();
private
AnnotationConfigApplicationContext
context
=
new
AnnotationConfigApplicationContext
();
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfigurationTests.java
View file @
af4ca7cf
...
@@ -20,18 +20,21 @@ import org.assertj.core.api.Assertions;
...
@@ -20,18 +20,21 @@ import org.assertj.core.api.Assertions;
import
org.junit.After
;
import
org.junit.After
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.neo4j.ogm.drivers.http.driver.HttpDriver
;
import
org.neo4j.ogm.drivers.http.driver.HttpDriver
;
import
org.neo4j.ogm.session.Session
;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.springframework.beans.factory.support.BeanDefinitionRegistry
;
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.neo4j.city.City
;
import
org.springframework.boot.autoconfigure.data.neo4j.city.City
;
import
org.springframework.boot.test.util.EnvironmentTestUtils
;
import
org.springframework.boot.test.util.EnvironmentTestUtils
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext
;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext
;
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.data.neo4j.mapping.Neo4jMappingContext
;
import
org.springframework.data.neo4j.mapping.Neo4jMappingContext
;
import
org.springframework.data.neo4j.template.Neo4jOperations
;
import
org.springframework.data.neo4j.template.Neo4jOperations
;
import
org.springframework.data.neo4j.web.support.OpenSessionInViewInterceptor
;
import
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
...
@@ -43,11 +46,12 @@ import static org.mockito.Mockito.mock;
...
@@ -43,11 +46,12 @@ import static org.mockito.Mockito.mock;
* @author Stephane Nicoll
* @author Stephane Nicoll
* @author Michael Hunger
* @author Michael Hunger
* @author Vince Bickers
* @author Vince Bickers
* @author Andy Wilkinson
*/
*/
@SuppressWarnings
(
"deprecation"
)
@SuppressWarnings
(
"deprecation"
)
public
class
Neo4jDataAutoConfigurationTests
{
public
class
Neo4jDataAutoConfigurationTests
{
private
AnnotationConfig
ApplicationContext
context
;
private
Configurable
ApplicationContext
context
;
@After
@After
public
void
close
()
{
public
void
close
()
{
...
@@ -59,31 +63,20 @@ public class Neo4jDataAutoConfigurationTests {
...
@@ -59,31 +63,20 @@ public class Neo4jDataAutoConfigurationTests {
@Test
@Test
public
void
defaultConfiguration
()
{
public
void
defaultConfiguration
()
{
load
(
null
,
"spring.data.neo4j.uri=http://localhost:8989"
);
load
(
null
,
"spring.data.neo4j.uri=http://localhost:8989"
);
assertThat
(
this
.
context
.
getBeansOfType
(
Neo4jOperations
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
assertThat
(
this
.
context
.
getBeansOfType
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
.
hasSize
(
1
);
.
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
SessionFactory
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
SessionFactory
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeanDefinition
(
"scopedTarget.getSession"
).
getScope
())
assertThat
(
this
.
context
.
getBeansOfType
(
Neo4jOperations
.
class
)).
hasSize
(
1
);
.
isEqualTo
(
"singleton"
);
assertThat
(
this
.
context
.
getBeansOfType
(
OpenSessionInViewInterceptor
.
class
))
}
.
isEmpty
();
@Test
public
void
customScope
()
{
load
(
null
,
"spring.data.neo4j.uri=http://localhost:8989"
,
"spring.data.neo4j.session.scope=prototype"
);
assertThat
(
this
.
context
.
getBeanDefinition
(
"scopedTarget.getSession"
).
getScope
())
.
isEqualTo
(
"prototype"
);
}
}
@Test
@Test
public
void
customNeo4jOperations
()
{
public
void
customSessionFactory
()
{
load
(
CustomNeo4jOperations
.
class
);
load
(
CustomSessionFactory
.
class
);
assertThat
(
this
.
context
.
getBean
(
Neo4jOperations
.
class
))
.
isSameAs
(
this
.
context
.
getBean
(
"myNeo4jOperations"
));
assertThat
(
this
.
context
.
getBeansOfType
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
assertThat
(
this
.
context
.
getBeansOfType
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
.
hasSize
(
0
);
.
hasSize
(
0
);
assertThat
(
this
.
context
.
getBeansOfType
(
SessionFactory
.
class
)).
hasSize
(
0
);
assertThat
(
this
.
context
.
getBeansOfType
(
SessionFactory
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
Session
.
class
)).
hasSize
(
0
);
}
}
@Test
@Test
...
@@ -91,25 +84,41 @@ public class Neo4jDataAutoConfigurationTests {
...
@@ -91,25 +84,41 @@ public class Neo4jDataAutoConfigurationTests {
load
(
CustomConfiguration
.
class
);
load
(
CustomConfiguration
.
class
);
assertThat
(
this
.
context
.
getBean
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
assertThat
(
this
.
context
.
getBean
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
.
isSameAs
(
this
.
context
.
getBean
(
"myConfiguration"
));
.
isSameAs
(
this
.
context
.
getBean
(
"myConfiguration"
));
assertThat
(
this
.
context
.
getBeansOfType
(
Neo4jOperations
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
SessionFactory
.
class
)).
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
assertThat
(
this
.
context
.
getBeansOfType
(
org
.
neo4j
.
ogm
.
config
.
Configuration
.
class
))
.
hasSize
(
1
);
.
hasSize
(
1
);
assertThat
(
this
.
context
.
getBeansOfType
(
SessionFactory
.
class
)).
hasSize
(
1
);
}
@Test
public
void
customNeo4jOperations
()
{
load
(
CustomNeo4jOperations
.
class
);
assertThat
(
this
.
context
.
getBean
(
Neo4jOperations
.
class
))
.
isSameAs
(
this
.
context
.
getBean
(
"myNeo4jOperations"
));
}
}
@Test
@Test
public
void
usesAutoConfigurationPackageToPickUpDomainTypes
()
{
public
void
usesAutoConfigurationPackageToPickUpDomainTypes
()
{
this
.
context
=
new
AnnotationConfigApplicationContext
();
this
.
context
=
new
AnnotationConfigApplicationContext
();
String
cityPackage
=
City
.
class
.
getPackage
().
getName
();
String
cityPackage
=
City
.
class
.
getPackage
().
getName
();
AutoConfigurationPackages
.
register
(
this
.
context
,
cityPackage
);
AutoConfigurationPackages
.
register
((
BeanDefinitionRegistry
)
this
.
context
,
this
.
context
.
register
(
Neo4jDataAutoConfiguration
.
class
);
cityPackage
);
((
AnnotationConfigApplicationContext
)
this
.
context
).
register
(
Neo4jDataAutoConfiguration
.
class
,
Neo4jRepositoriesAutoConfiguration
.
class
);
this
.
context
.
refresh
();
this
.
context
.
refresh
();
assertDomainTypesDiscovered
(
this
.
context
.
getBean
(
Neo4jMappingContext
.
class
),
assertDomainTypesDiscovered
(
this
.
context
.
getBean
(
Neo4jMappingContext
.
class
),
City
.
class
);
City
.
class
);
}
}
@Test
public
void
openSessionInViewInterceptorCanBeEnabled
()
{
load
(
null
,
"spring.data.neo4j.open-in-view=true"
);
assertThat
(
this
.
context
.
getBeansOfType
(
OpenSessionInViewInterceptor
.
class
))
.
hasSize
(
1
);
}
private
void
load
(
Class
<?>
config
,
String
...
environment
)
{
private
void
load
(
Class
<?>
config
,
String
...
environment
)
{
AnnotationConfig
ApplicationContext
ctx
=
new
AnnotationConfig
ApplicationContext
();
AnnotationConfig
WebApplicationContext
ctx
=
new
AnnotationConfigWeb
ApplicationContext
();
EnvironmentTestUtils
.
addEnvironment
(
ctx
,
environment
);
EnvironmentTestUtils
.
addEnvironment
(
ctx
,
environment
);
if
(
config
!=
null
)
{
if
(
config
!=
null
)
{
ctx
.
register
(
config
);
ctx
.
register
(
config
);
...
@@ -128,11 +137,11 @@ public class Neo4jDataAutoConfigurationTests {
...
@@ -128,11 +137,11 @@ public class Neo4jDataAutoConfigurationTests {
}
}
@Configuration
@Configuration
static
class
Custom
Neo4jOperations
{
static
class
Custom
SessionFactory
{
@Bean
@Bean
public
Neo4jOperations
myNeo4jOperations
()
{
public
SessionFactory
customSessionFactory
()
{
return
mock
(
Neo4jOperations
.
class
);
return
mock
(
SessionFactory
.
class
);
}
}
}
}
...
@@ -150,4 +159,14 @@ public class Neo4jDataAutoConfigurationTests {
...
@@ -150,4 +159,14 @@ public class Neo4jDataAutoConfigurationTests {
}
}
@Configuration
static
class
CustomNeo4jOperations
{
@Bean
public
Neo4jOperations
myNeo4jOperations
()
{
return
mock
(
Neo4jOperations
.
class
);
}
}
}
}
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jRepositoriesAutoConfigurationTests.java
View file @
af4ca7cf
...
@@ -44,7 +44,6 @@ import static org.assertj.core.api.Assertions.assertThat;
...
@@ -44,7 +44,6 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Vince Bickers
* @author Vince Bickers
* @author Stephane Nicoll
* @author Stephane Nicoll
*/
*/
@SuppressWarnings
(
"deprecation"
)
public
class
Neo4jRepositoriesAutoConfigurationTests
{
public
class
Neo4jRepositoriesAutoConfigurationTests
{
private
AnnotationConfigApplicationContext
context
;
private
AnnotationConfigApplicationContext
context
;
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/city/CityRepository.java
View file @
af4ca7cf
...
@@ -20,7 +20,6 @@ import org.springframework.data.domain.Page;
...
@@ -20,7 +20,6 @@ import org.springframework.data.domain.Page;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
@SuppressWarnings
(
"deprecation"
)
public
interface
CityRepository
extends
GraphRepository
<
City
>
{
public
interface
CityRepository
extends
GraphRepository
<
City
>
{
@Override
@Override
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/country/CountryRepository.java
View file @
af4ca7cf
...
@@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.data.neo4j.country;
...
@@ -18,7 +18,6 @@ package org.springframework.boot.autoconfigure.data.neo4j.country;
import
org.springframework.data.neo4j.repository.GraphRepository
;
import
org.springframework.data.neo4j.repository.GraphRepository
;
@SuppressWarnings
(
"deprecation"
)
public
interface
CountryRepository
extends
GraphRepository
<
Country
>
{
public
interface
CountryRepository
extends
GraphRepository
<
Country
>
{
}
}
spring-boot-dependencies/pom.xml
View file @
af4ca7cf
...
@@ -133,7 +133,7 @@
...
@@ -133,7 +133,7 @@
<mysql.version>
5.1.40
</mysql.version>
<mysql.version>
5.1.40
</mysql.version>
<narayana.version>
5.3.5.Final
</narayana.version>
<narayana.version>
5.3.5.Final
</narayana.version>
<nekohtml.version>
1.9.22
</nekohtml.version>
<nekohtml.version>
1.9.22
</nekohtml.version>
<neo4j-ogm.version>
2.
0.5
</neo4j-ogm.version>
<neo4j-ogm.version>
2.
1.0-SNAPSHOT
</neo4j-ogm.version>
<postgresql.version>
9.4.1212.jre7
</postgresql.version>
<postgresql.version>
9.4.1212.jre7
</postgresql.version>
<querydsl.version>
4.1.4
</querydsl.version>
<querydsl.version>
4.1.4
</querydsl.version>
<reactor.version>
2.0.8.RELEASE
</reactor.version>
<reactor.version>
2.0.8.RELEASE
</reactor.version>
...
@@ -151,7 +151,7 @@
...
@@ -151,7 +151,7 @@
<spring-amqp.version>
1.7.0.BUILD-SNAPSHOT
</spring-amqp.version>
<spring-amqp.version>
1.7.0.BUILD-SNAPSHOT
</spring-amqp.version>
<spring-cloud-connectors.version>
1.2.3.RELEASE
</spring-cloud-connectors.version>
<spring-cloud-connectors.version>
1.2.3.RELEASE
</spring-cloud-connectors.version>
<spring-batch.version>
3.0.7.RELEASE
</spring-batch.version>
<spring-batch.version>
3.0.7.RELEASE
</spring-batch.version>
<spring-data-releasetrain.version>
Ingalls-
M1
</spring-data-releasetrain.version>
<spring-data-releasetrain.version>
Ingalls-
BUILD-SNAPSHOT
</spring-data-releasetrain.version>
<spring-hateoas.version>
0.21.0.RELEASE
</spring-hateoas.version>
<spring-hateoas.version>
0.21.0.RELEASE
</spring-hateoas.version>
<spring-integration.version>
4.3.5.RELEASE
</spring-integration.version>
<spring-integration.version>
4.3.5.RELEASE
</spring-integration.version>
<spring-integration-java-dsl.version>
1.2.0.RELEASE
</spring-integration-java-dsl.version>
<spring-integration-java-dsl.version>
1.2.0.RELEASE
</spring-integration-java-dsl.version>
...
@@ -2594,6 +2594,13 @@
...
@@ -2594,6 +2594,13 @@
<enabled>
true
</enabled>
<enabled>
true
</enabled>
</snapshots>
</snapshots>
</repository>
</repository>
<repository>
<id>
neo4j-snapshots
</id>
<url>
http://m2.neo4j.org/content/repositories/snapshots
</url>
<snapshots>
<enabled>
true
</enabled>
</snapshots>
</repository>
</repositories>
</repositories>
</profile>
</profile>
<profile>
<profile>
...
...
spring-boot-parent/pom.xml
View file @
af4ca7cf
...
@@ -678,6 +678,13 @@
...
@@ -678,6 +678,13 @@
<enabled>
true
</enabled>
<enabled>
true
</enabled>
</snapshots>
</snapshots>
</repository>
</repository>
<repository>
<id>
neo4j-snapshots
</id>
<url>
http://m2.neo4j.org/content/repositories/snapshots
</url>
<snapshots>
<enabled>
true
</enabled>
</snapshots>
</repository>
</repositories>
</repositories>
<pluginRepositories>
<pluginRepositories>
<pluginRepository>
<pluginRepository>
...
@@ -735,6 +742,13 @@
...
@@ -735,6 +742,13 @@
<enabled>
true
</enabled>
<enabled>
true
</enabled>
</snapshots>
</snapshots>
</repository>
</repository>
<repository>
<id>
neo4j-snapshots
</id>
<url>
http://m2.neo4j.org/content/repositories/snapshots
</url>
<snapshots>
<enabled>
true
</enabled>
</snapshots>
</repository>
</repositories>
</repositories>
<pluginRepositories>
<pluginRepositories>
<pluginRepository>
<pluginRepository>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment