Skip to content

issue/2640 #2644

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 150 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
1e76b0f
Add documention how to switch the driver version.
michael-simons Jan 14, 2022
ca33236
Prepare 6.3 M1 (2021.2.0).
christophstrobl Jan 14, 2022
284a4bd
Release version 6.3 M1 (2021.2.0).
christophstrobl Jan 14, 2022
a32dd84
Prepare next development iteration.
christophstrobl Jan 14, 2022
432e262
After release cleanups.
christophstrobl Jan 14, 2022
207f353
GH-2462 - Support mapping of intermediate hiearchy relationships.
meistermeier Jan 14, 2022
288f726
Prepare 6.3 M2 (2021.2.0).
christophstrobl Jan 18, 2022
d76fb87
Release version 6.3 M2 (2021.2.0).
christophstrobl Jan 18, 2022
c08f3a6
Prepare next development iteration.
christophstrobl Jan 18, 2022
e6134cf
After release cleanups.
christophstrobl Jan 18, 2022
582fd7d
GH-2451 - Apply property filter correctly to composite properties too.
michael-simons Jan 31, 2022
71763cd
GH-2451 - Polishing.
michael-simons Jan 31, 2022
7d6eb78
Externalize build properties.
gregturn Jan 31, 2022
11d6c89
GH-2371 - Respect `@Property` information in projection.
michael-simons Feb 1, 2022
2d734d8
Enable Neo4jCdiExtensionIT only for JRE [8,11].
michael-simons Feb 1, 2022
04056d7
GH-2470 - Respect empty path with just one node.
meistermeier Jan 20, 2022
8630329
GH-2472 - Reference projection chapter from migration.
meistermeier Feb 4, 2022
a87f04f
Polishing.
mp911de Feb 4, 2022
233cbcf
GH-2474 - Allow escaped properties in custom sort order.
michael-simons Feb 7, 2022
df86b88
GH-2475 - Recursively hydrate entities from DTOs.
michael-simons Feb 7, 2022
78c4d21
GH-2473 - Add tests for GH-2470 and GH-2473.
meistermeier Feb 8, 2022
4f5103f
Adapt to changes in entity creation metadata APIs in Spring Data Comm…
odrotbohm Feb 15, 2022
fd8d68b
GH-2477 - Upgrade Neo4j driver to 4.4.3.
meistermeier Feb 16, 2022
d2d7924
Prepare 6.3 M3 (2021.2.0).
mp911de Feb 18, 2022
d46db88
Release version 6.3 M3 (2021.2.0).
mp911de Feb 18, 2022
90a281d
Prepare next development iteration.
mp911de Feb 18, 2022
2bdbcea
After release cleanups.
mp911de Feb 18, 2022
8870f1e
Use Java 17 to build snapshots for Artifactory.
mp911de Feb 22, 2022
8284b91
Upgrade to JQAssistant 1.10.1.
mp911de Feb 22, 2022
a4b31e5
Upgrade to Maven Wrapper 3.8.4.
mp911de Feb 22, 2022
7f583b0
Update CI properties.
mp911de Feb 22, 2022
1b72f4e
GH-2487 - Improve performance of NodeDescription determination.
meistermeier Feb 23, 2022
5145f6e
Jenkins - Skip jQAssistant in deploy steps.
meistermeier Mar 1, 2022
0ba99a1
Jenkins - Set timeout to 45 minutes.
meistermeier Mar 1, 2022
ff206fc
Treat `@TargetNode` as association to the outside world. (#2489)
michael-simons Mar 1, 2022
8935931
GH-2491 - Replace usage of deprecated `PersistenceConstructor` with `…
michael-simons Mar 2, 2022
b9cc493
GH-2495 - Upgrade Neo4j driver to 4.4.4.
michael-simons Mar 11, 2022
e3a980f
GH-2496 - Remove superfluous `RecordMapAccessor`.
michael-simons Mar 11, 2022
6692b8e
GH-2498 - Add additional tests to ensure CypherDSL condition executio…
michael-simons Mar 14, 2022
25d346e
Use Java 8 to build snapshots for Artifactory.
mp911de Mar 15, 2022
fb39397
GH-2498 - Apply actual parameters to the nested queries.
michael-simons Mar 17, 2022
8e8adb5
GH-2501 - Use more performant operations to store mapped records.
meistermeier Mar 17, 2022
80fbbb6
Increase build time to 60 minutes.
meistermeier Mar 17, 2022
ffb08be
GH-2499 - Add support for `AfterConvert` events and `@PostLoad` annot…
michael-simons Mar 17, 2022
6690b57
GH-2503 - Upgrade Neo4j Java driver to 4.4.5.
meistermeier Mar 18, 2022
7a46cac
GH-2499 - Polishing.
michael-simons Mar 18, 2022
2186ade
GH-2502 - Use LinkedHashSet as collection type for nodes and rels.
meistermeier Mar 17, 2022
640976d
GH-2500 - Use actual id values when present to be stored in the relat…
michael-simons Mar 18, 2022
1113b50
GH-2504 - Upgrade Cypher-DSL to 2022.2.0.
meistermeier Mar 18, 2022
1051bfe
GH-2499 - Fix doc tags.
michael-simons Mar 18, 2022
75e8038
Prepare 6.3 M4 (2021.2.0).
gregturn Mar 21, 2022
7dcfd5d
Release version 6.3 M4 (2021.2.0).
gregturn Mar 21, 2022
2930221
Prepare next development iteration.
gregturn Mar 21, 2022
21eedc9
After release cleanups.
gregturn Mar 21, 2022
46d3e30
GH-2102 - Add user agent to transaction meta data.
michael-simons Mar 22, 2022
bd41a64
Update build triggers.
mp911de Mar 24, 2022
2e785ba
GH-2505 - Respect simple type and conversion service on DTO save.
meistermeier Mar 23, 2022
ae26328
GH-2514 - Avoid non-immutable property mapping recursion.
meistermeier Mar 31, 2022
879355c
GH-2493 - Unwrap `MapValueWrapper` for list parameters, too.
michael-simons Mar 31, 2022
052d716
GH-2515 - Add a Noop bookmark manager.
michael-simons Mar 31, 2022
d9aa662
GH-2488 - Use default database selection.
michael-simons Apr 4, 2022
59c79e8
refactor: Use `:param k => v` format for tracing named parameters.
michael-simons Apr 8, 2022
3a0f616
Remove DependencyConvergence from enforcer plugin.
meistermeier Apr 19, 2022
6560da3
Prepare 6.3 RC1 (2021.2.0).
christophstrobl Apr 19, 2022
7a5d35a
Release version 6.3 RC1 (2021.2.0).
christophstrobl Apr 19, 2022
b3a36b7
Prepare next development iteration.
christophstrobl Apr 19, 2022
4a81fae
After release cleanups.
christophstrobl Apr 19, 2022
0e055f9
GH-2531 - Add Neo4j 5.0 Cypher support.
meistermeier Apr 22, 2022
08d7c20
GH-2529 - More stable entity detection with dynamic labels.
meistermeier May 3, 2022
3ec3e51
GH-2526 - Find and map relationship in inheritance correctly.
meistermeier May 9, 2022
bd48fed
GH-2530 - Support lazy defined entities.
meistermeier May 5, 2022
7b4fbc1
GH-2533 - Don't skip the skip on dynamic relationship.
meistermeier May 5, 2022
f621edb
GH-2531 - Change missing test config base classes.
meistermeier May 11, 2022
f21312b
GH-2538 - Upgrade CypherDSL to 2022.4.0.
meistermeier May 12, 2022
01536a9
GH-2533 - Consider right entity types in dynamic relationships.
meistermeier May 11, 2022
6b267f1
GH-2537 - Fix serialization of the target node of relationship proper…
michael-simons May 12, 2022
b469705
Prepare 6.3 GA (2021.2.0).
christophstrobl May 13, 2022
7ddc205
Release version 6.3 GA (2021.2.0).
christophstrobl May 13, 2022
030be09
Prepare next development iteration.
christophstrobl May 13, 2022
c73ef80
After release cleanups.
christophstrobl May 13, 2022
bc54125
GH-2543 - Fix Neo4j 5.0 Cypher incompatibility in tests.
meistermeier May 24, 2022
b54fb73
GH-2544 - Check for empty collections in `saveAllAs` methods.
cberes May 30, 2022
b1e7a1c
GH-2544 - Polishing.
michael-simons May 30, 2022
09fa809
Update CI properties.
mp911de Jun 3, 2022
33147ed
Upgrade to Maven Wrapper 3.8.5.
mp911de Jun 3, 2022
3d451e3
Adapt to changes in Spring Data Commons.
michael-simons Jun 10, 2022
4d96513
GH-2550 - Accept list and plain values in result.
meistermeier Jun 17, 2022
c9d6388
GH-2554 - Upgrade Java driver to 4.4.6.
meistermeier Jun 20, 2022
d446f72
Prepare 6.3.1 (2021.2.1).
mp911de Jun 20, 2022
0031df3
Release version 6.3.1 (2021.2.1).
mp911de Jun 20, 2022
362217a
Prepare next development iteration.
mp911de Jun 20, 2022
375575e
After release cleanups.
mp911de Jun 20, 2022
c95a3e9
GH-2537 - Improve documentation.
michael-simons Jun 20, 2022
70678af
GH-2557 - Improve documentation for read-only transactions.
michael-simons Jun 22, 2022
03be6a3
GH-2562 - Restructure documentation.
michael-simons Jul 1, 2022
f16f005
GH-2564 - Add example how to combine auditing with custom callbacks.
michael-simons Jul 12, 2022
2efd858
GH-2565 - Skip null properties on mapping/reading.
meistermeier Jul 13, 2022
4f900f9
GH-2567 - Upgrade Java Driver to 4.4.9.
meistermeier Jul 14, 2022
e203369
Prepare 6.3.2 (2021.2.2).
christophstrobl Jul 15, 2022
260c59a
Release version 6.3.2 (2021.2.2).
christophstrobl Jul 15, 2022
b7a202e
Prepare next development iteration.
christophstrobl Jul 15, 2022
985af4f
After release cleanups.
christophstrobl Jul 15, 2022
94eedd4
GH-2571 - Fix documentation build.
meistermeier Jul 19, 2022
ee60a1f
Adapt to Cypher changes (group key).
meistermeier Jul 19, 2022
4463ccc
GH-2572 - Filter out records that could not be mapped to allow Cypher…
michael-simons Jul 25, 2022
9ef26c3
GH-2574 - Ensure consistent behaviour of `org.springframework.data.ne…
michael-simons Aug 1, 2022
5ee9860
GH-2575 - Provide ReactiveCypherdslConditionExecutor. (#2577)
nk-coding Aug 3, 2022
57053ba
Compare dot paths for equality, not containg.
michael-simons Aug 3, 2022
e77c6e1
Add converter from `java.util.Map` to `org.neo4j.driver.Value`.
michael-simons Aug 4, 2022
c92fbe4
GH-2578 - Document unwinding and pipelining of mapped `__properties__`.
michael-simons Aug 5, 2022
f35026c
GH-2580 - Add examples for transactional event listeners.
michael-simons Aug 8, 2022
79902fa
GH-2581 - Add examples for nested projections.
michael-simons Aug 9, 2022
2561524
GH-2583 - Improve relationship mapping.
meistermeier Aug 23, 2022
d898bc4
GH-2583 - Avoid possible deadlock.
meistermeier Aug 25, 2022
0f51a3a
Update explicit docker images to 4.4.
meistermeier Aug 25, 2022
82c92b3
GH-2593 - Move relationship updates to batch operations.
meistermeier Sep 7, 2022
1af7355
GH-2588 - Replace node creation's MERGE with UNION.
meistermeier Sep 7, 2022
b10ea7f
GH-2591 - Fix StackOverflow on first level of recursive projections.
meistermeier Sep 14, 2022
b645d3f
GH-2594 - Add `withNeo4jConversions` to both `Neo4jClient` and
michael-simons Sep 19, 2022
511ca4c
Prepare 6.3.3 (2021.2.3).
spring-builds Sep 19, 2022
3d76257
Release version 6.3.3 (2021.2.3).
spring-builds Sep 19, 2022
e77fc2e
Prepare next development iteration.
spring-builds Sep 19, 2022
b1700ff
After release cleanups.
spring-builds Sep 19, 2022
590f748
GH-2599 - Fix bug on save with updated and new relationship properties.
meistermeier Sep 26, 2022
9d6acf9
GH-2600 - Fix relproperties and simple relationship hydration.
meistermeier Sep 29, 2022
44a5c9a
GH-2585 - Make type detection by label more robust.
meistermeier Sep 26, 2022
e2d1249
Prepare 6.3.4 (2021.2.4).
spring-builds Oct 13, 2022
bb861aa
Release version 6.3.4 (2021.2.4).
spring-builds Oct 13, 2022
19f4b48
Prepare next development iteration.
spring-builds Oct 13, 2022
4e2d781
After release cleanups.
spring-builds Oct 13, 2022
fd2182a
Prepare 6.3.5 (2021.2.5).
spring-builds Oct 13, 2022
04d26e4
Release version 6.3.5 (2021.2.5).
spring-builds Oct 13, 2022
4f0235c
Prepare next development iteration.
spring-builds Oct 13, 2022
7e7345f
After release cleanups.
spring-builds Oct 13, 2022
4b41763
Add note about version field for provided ids.
meistermeier Oct 14, 2022
69395ad
Add section about projection modification after loading.
meistermeier Oct 14, 2022
985da3a
GH-2619 - Correctly count most matching, static labels.
michael-simons Oct 27, 2022
889253d
GH-2618 - Allow the use of composite values as ids.
michael-simons Oct 28, 2022
8fc21b0
Update CI properties.
mp911de Oct 31, 2022
5e0f181
Prepare 6.3.6 (2021.2.6).
mp911de Nov 18, 2022
717c3c8
Release version 6.3.6 (2021.2.6).
mp911de Nov 18, 2022
709ffaa
Prepare next development iteration.
mp911de Nov 18, 2022
46e0ce8
After release cleanups.
mp911de Nov 18, 2022
6f0b4b0
Update CI properties.
mp911de Nov 18, 2022
efe7dc3
GH-2633 - Be more lenient when mapping DTOs. (#2634)
michael-simons Nov 24, 2022
ea8f2d5
GH-2632 - Upgrade Java driver to 4.4.10.
michael-simons Nov 25, 2022
c7f0c5e
GH-2638 - Use `labels(n)` when deriving a contains query for an entit…
michael-simons Dec 14, 2022
8ab3e41
GH-2639 - Fix relationship detection in converter.
meistermeier Dec 9, 2022
6ddbba8
Extend license header copyright years to 2023.
mp911de Jan 2, 2023
ebf8b36
GH-2640 - Introduce API for dynamic configuration of transient proper…
michael-simons Jan 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#Mon Oct 11 14:30:21 CEST 2021
distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip
#Fri Jun 03 09:39:34 CEST 2022
distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
75 changes: 44 additions & 31 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
def p = [:]
node {
checkout scm
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
}

pipeline {
agent none

triggers {
pollSCM 'H/10 * * * *'
upstream(upstreamProjects: "spring-data-commons/main", threshold: hudson.model.Result.SUCCESS)
upstream(upstreamProjects: "spring-data-commons/2.7.x", threshold: hudson.model.Result.SUCCESS)
}

options {
Expand All @@ -12,27 +18,28 @@ pipeline {
}

stages {
stage("test: baseline (jdk8)") {
stage("test: baseline (main)") {
when {
beforeAgent(true)
anyOf {
branch 'main'
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }
options { timeout(time: 60, unit: 'MINUTES') }

environment {
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
DOCKER_HUB = credentials("${p['docker.credentials']}")
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
}

steps {
script {
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
docker.image('adoptopenjdk/openjdk8:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) {
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
sh "PROFILE=none ci/test.sh"
sh "ci/clean.sh"
Expand All @@ -44,53 +51,54 @@ pipeline {

stage("Test other configurations") {
when {
beforeAgent(true)
allOf {
branch 'main'
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
parallel {
stage("test: baseline (jdk11)") {
stage("test: baseline (next)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }
options { timeout(time: 60, unit: 'MINUTES') }

environment {
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
DOCKER_HUB = credentials("${p['docker.credentials']}")
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
}

steps {
script {
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
docker.image('adoptopenjdk/openjdk11:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
sh "PROFILE=java11 ci/test.sh"
sh "PROFILE=none ci/test.sh"
sh "ci/clean.sh"
}
}
}
}
}

stage("test: baseline (jdk16)") {
stage("test: baseline (LTS)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }
options { timeout(time: 60, unit: 'MINUTES') }

environment {
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
DOCKER_HUB = credentials("${p['docker.credentials']}")
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
}

steps {
script {
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
docker.image('adoptopenjdk/openjdk16:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.lts.image']).inside(p['docker.java.inside.docker']) {
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
sh "PROFILE=java11 ci/test.sh"
sh "PROFILE=none ci/test.sh"
sh "ci/clean.sh"
}
}
Expand All @@ -102,8 +110,9 @@ pipeline {

stage('Release to artifactory') {
when {
beforeAgent(true)
anyOf {
branch 'main'
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
Expand All @@ -113,13 +122,13 @@ pipeline {
options { timeout(time: 20, unit: 'MINUTES') }

environment {
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
}

steps {
script {
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-neo4j-non-root ' +
'-Dartifactory.server=https://repo.spring.io ' +
"-Dartifactory.username=${ARTIFACTORY_USR} " +
Expand All @@ -136,21 +145,25 @@ pipeline {

stage('Publish documentation') {
when {
branch 'main'
beforeAgent(true)
anyOf {
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
agent {
label 'data'
}
options { timeout(time: 20, unit: 'MINUTES') }

environment {
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
}

steps {
script {
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,distribute -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-neo4j-non-root ' +
'-Dartifactory.server=https://repo.spring.io ' +
"-Dartifactory.username=${ARTIFACTORY_USR} " +
Expand Down
4 changes: 2 additions & 2 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ image:https://spring.io/badges/spring-data-neo4j/ga.svg[Spring Data Neo4j,link=h
:artifactIdStarter: spring-boot-starter-data-neo4j

:neo4j-version: 4.1.5
:spring-boot-version: 2.5.3
:spring-data-neo4j-version: 6.1.3
:spring-boot-version: 2.6.3
:spring-data-neo4j-version: 6.2.1
// end::properties[]

[abstract]
Expand Down
29 changes: 29 additions & 0 deletions ci/pipeline.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Java versions
java.main.tag=8u352-b08-jdk-focal
java.next.tag=11.0.17_8-jdk-focal
java.lts.tag=17.0.5_8-jdk-focal

# Docker container images - standard
docker.java.main.image=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.main.tag}
docker.java.next.image=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.next.tag}
docker.java.lts.image=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.lts.tag}

# Supported versions of MongoDB
docker.mongodb.4.0.version=4.0.28
docker.mongodb.4.4.version=4.4.17
docker.mongodb.5.0.version=5.0.13

# Supported versions of Redis
docker.redis.6.version=6.2.6

# Supported versions of Cassandra
docker.cassandra.3.version=3.11.14

# Docker environment settings
docker.java.inside.basic=-v $HOME:/tmp/jenkins-home
docker.java.inside.docker=-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home

# Credentials
docker.registry=
docker.credentials=hub.docker.com-springbuildmaster
artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c
2 changes: 1 addition & 1 deletion etc/adr/general-discussion.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ Thus we stay consistent with all other Spring Boot starters, that are actually p

==== Responsibilities

The starter and it's automatic configuration is responsible for configuring Spring Data Neo4j repositories and infrastructure.
The starter and its automatic configuration is responsible for configuring Spring Data Neo4j repositories and infrastructure.
It needs a configured Neo4j Java Driver and therefor is itself dependent on `org.neo4j.driver:neo4j-java-driver-spring-boot-starter`,
the official starter for the Neo4j Java Driver.

Expand Down
66 changes: 34 additions & 32 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
| Copyright 2011-2022 the original author or authors.
| Copyright 2011-2023 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.
Expand All @@ -19,12 +19,12 @@
<parent>
<groupId>org.springframework.data.build</groupId>
<artifactId>spring-data-parent</artifactId>
<version>2.7.0-SNAPSHOT</version>
<version>2.7.7-SNAPSHOT</version>
</parent>

<groupId>org.springframework.data</groupId>
<artifactId>spring-data-neo4j</artifactId>
<version>6.3.0-SNAPSHOT</version>
<version>6.3.7-SNAPSHOT</version>

<name>Spring Data Neo4j</name>
<description>Next generation Object-Graph-Mapping for Spring Data.</description>
Expand Down Expand Up @@ -75,18 +75,18 @@
<byte-buddy.version>1.11.0</byte-buddy.version>
<cdi>2.0.SP1</cdi>
<checkstyle.version>8.40</checkstyle.version>
<cypher-dsl.version>2022.0.0</cypher-dsl.version>
<cypher-dsl.version>2022.4.0</cypher-dsl.version>
<dist.id>spring-data-neo4j</dist.id>
<dist.key>SDNEO4J</dist.key>
<flatten-maven-plugin.version>1.2.5</flatten-maven-plugin.version>
<jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
<java-module-name>spring.data.neo4j</java-module-name>
<java.version>1.8</java.version>
<jaxb.version>2.3.1</jaxb.version>
<jqassistant-dashboard-plugin.version>1.9.0</jqassistant-dashboard-plugin.version>
<jqassistant-dashboard-plugin.version>1.10.0</jqassistant-dashboard-plugin.version>
<jqassistant.plugin.git.version>1.8.0</jqassistant.plugin.git.version>
<jqassistant.plugin.version>1.9.1</jqassistant.plugin.version>
<jqassistant.version>1.9.1</jqassistant.version>
<jqassistant.plugin.version>1.10.1</jqassistant.plugin.version>
<jqassistant.version>1.10.1</jqassistant.version>
<junit-cc-testcontainer>2021.0.1</junit-cc-testcontainer>
<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
<maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
Expand All @@ -102,7 +102,7 @@
<maven.compiler.target>${java.version}</maven.compiler.target>
<mockito>${mockito.version}</mockito>
<mockito.version>3.10.0</mockito.version>
<neo4j-java-driver.version>4.4.2</neo4j-java-driver.version>
<neo4j-java-driver.version>4.4.10</neo4j-java-driver.version>
<neo4j.version>4.3.6</neo4j.version>
<objenesis.version>3.0.1</objenesis.version>
<project.build.docs>${project.build.directory}/docs</project.build.docs>
Expand All @@ -114,7 +114,7 @@
<checkstyle.skip>${skipTests}</checkstyle.skip>

<skipUnitTests>${skipTests}</skipUnitTests>
<springdata.commons>2.7.0-SNAPSHOT</springdata.commons>
<springdata.commons>2.7.7-SNAPSHOT</springdata.commons>

<spring-data-commons-docs.dir>../../../../spring-data-commons/src/main/asciidoc</spring-data-commons-docs.dir>
</properties>
Expand Down Expand Up @@ -583,7 +583,6 @@
</goals>
<configuration>
<rules>
<DependencyConvergence/>
<requireMavenVersion>
<version>3.8.3</version>
</requireMavenVersion>
Expand Down Expand Up @@ -729,41 +728,44 @@
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor-maven-plugin.version}</version>
<executions>
<execution>
<id>generate-docs</id>
<phase>prepare-package</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-diagram</artifactId>
<version>${asciidoctorj-diagram.version}</version>
</dependency>
</dependencies>
<configuration>
<backend>html</backend>
<doctype>book</doctype>
<imagesDir>img</imagesDir>
<sourceDirectory>${project.basedir}/src/main/asciidoc</sourceDirectory>
<sourceDocumentName>index.adoc</sourceDocumentName>
<sourceHighlighter>coderay</sourceHighlighter>
<configuration combine.self="append">
<attributes>
<icons>font</icons>
<toc>left</toc>
<setanchors/>
<idprefix/>
<idseparator/>
<spring-data-commons-docs>${spring-data-commons-docs.dir}</spring-data-commons-docs>
</attributes>
<requires>
<require>asciidoctor-diagram</require>
</requires>
<outputDirectory>${project.build.docs}</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>${jqassistant.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>

<profile>
<id>artifactory</id>
<build>
<plugins>
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>${jqassistant.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
Expand Down
3 changes: 3 additions & 0 deletions src/main/asciidoc/appendix/conversions.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
[[conversions]]
= Conversions

[[build-in.conversions]]
== Built-in conversions

We support a broad range of conversions out of the box.
Find the list of supported cypher types in the official drivers manual: https://neo4j.com/docs/driver-manual/current/cypher-values/[Working with Cypher values].

Expand Down
5 changes: 4 additions & 1 deletion src/main/asciidoc/appendix/custom-queries.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,10 @@ All properties - and type of relationships - appear in those maps as they would
have been written by SDN.
Values will have the correct Cypher type and won't need further conversion.

All relationships are lists of maps. Dynamic relationships will be resolved accordingly.
TIP: All relationships are lists of maps. Dynamic relationships will be resolved accordingly.
One-to-one relationships will also be serialized as singleton lists. So to access a one-to-one mapping
between people, you would write this das `$person.\\__properties__.BEST_FRIEND[0].\\__target__.\\__id__`.

If an entity has a relationship with the same type to different types of others nodes, they will all appear in the same list.
If you need such a mapping and also have the need to work with those custom parameters, you have to unroll it accordingly.
One way to do this are correlated subqueries (Neo4j 4.1+ required).
Expand Down
Loading