diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
deleted file mode 100644
index fa827660..00000000
--- a/.mvn/wrapper/MavenWrapperDownloader.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2007-present 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.
- */
-
-import java.net.*;
-import java.io.*;
-import java.nio.channels.*;
-import java.util.Properties;
-
-public class MavenWrapperDownloader {
-
- private static final String WRAPPER_VERSION = "0.5.6";
- /**
- * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
- */
- private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
- + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
-
- /**
- * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
- * use instead of the default one.
- */
- private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
- ".mvn/wrapper/maven-wrapper.properties";
-
- /**
- * Path where the maven-wrapper.jar will be saved to.
- */
- private static final String MAVEN_WRAPPER_JAR_PATH =
- ".mvn/wrapper/maven-wrapper.jar";
-
- /**
- * Name of the property which should be used to override the default download url for the wrapper.
- */
- private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
-
- public static void main(String args[]) {
- System.out.println("- Downloader started");
- File baseDirectory = new File(args[0]);
- System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
-
- // If the maven-wrapper.properties exists, read it and check if it contains a custom
- // wrapperUrl parameter.
- File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
- String url = DEFAULT_DOWNLOAD_URL;
- if (mavenWrapperPropertyFile.exists()) {
- FileInputStream mavenWrapperPropertyFileInputStream = null;
- try {
- mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
- Properties mavenWrapperProperties = new Properties();
- mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
- url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
- } catch (IOException e) {
- System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
- } finally {
- try {
- if (mavenWrapperPropertyFileInputStream != null) {
- mavenWrapperPropertyFileInputStream.close();
- }
- } catch (IOException e) {
- // Ignore ...
- }
- }
- }
- System.out.println("- Downloading from: " + url);
-
- File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
- if (!outputFile.getParentFile().exists()) {
- if (!outputFile.getParentFile().mkdirs()) {
- System.out.println(
- "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
- }
- }
- System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
- try {
- downloadFileFromURL(url, outputFile);
- System.out.println("Done");
- System.exit(0);
- } catch (Throwable e) {
- System.out.println("- Error downloading");
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- private static void downloadFileFromURL(String urlString, File destination) throws Exception {
- if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
- String username = System.getenv("MVNW_USERNAME");
- char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
- Authenticator.setDefault(new Authenticator() {
- @Override
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(username, password);
- }
- });
- }
- URL website = new URL(urlString);
- ReadableByteChannel rbc;
- rbc = Channels.newChannel(website.openStream());
- FileOutputStream fos = new FileOutputStream(destination);
- fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
- fos.close();
- rbc.close();
- }
-
-}
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 2cc7d4a5..00000000
Binary files a/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 642d572c..d58dfb70 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1,2 +1,19 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+wrapperVersion=3.3.2
+distributionType=only-script
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
diff --git a/core/pom.xml b/core/pom.xml
index fbdf50b8..1b62676b 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -18,7 +18,7 @@
org.neo4j.driver
neo4j-java-driver
- 5.11.0
+ 5.23.0
test
@@ -48,12 +48,12 @@
org.neo4j
neo4j-cypher-dsl
- 2023.9.5
+ 2024.0.3
com.graphql-java
graphql-java
- 21.5
+ 22.2
org.atteo
@@ -78,7 +78,7 @@
ch.qos.logback
logback-classic
- 1.4.12
+ 1.5.7
test
@@ -111,12 +111,12 @@
org.assertj
assertj-core
- 3.24.2
+ 3.26.3
org.slf4j
slf4j-api
- 2.0.7
+ 2.0.16
diff --git a/core/src/main/kotlin/org/neo4j/graphql/Predicates.kt b/core/src/main/kotlin/org/neo4j/graphql/Predicates.kt
index ee3afa35..e5b72d7b 100644
--- a/core/src/main/kotlin/org/neo4j/graphql/Predicates.kt
+++ b/core/src/main/kotlin/org/neo4j/graphql/Predicates.kt
@@ -8,7 +8,7 @@ import org.neo4j.cypherdsl.core.*
import org.neo4j.cypherdsl.core.Cypher
import org.slf4j.LoggerFactory
-private fun createArrayPredicate(factory: (SymbolicName) -> Predicates.OngoingListBasedPredicateFunction) =
+private fun createArrayPredicate(factory: (SymbolicName) -> OngoingListBasedPredicateFunction) =
{ lhs: Expression, rhs: Expression ->
val x: SymbolicName = Cypher.name("x")
factory(x).`in`(lhs).where(x.`in`(rhs))
diff --git a/core/src/test/kotlin/DataFetcherInterceptorDemo.kt b/core/src/test/kotlin/DataFetcherInterceptorDemo.kt
index fc290a01..a54aea27 100644
--- a/core/src/test/kotlin/DataFetcherInterceptorDemo.kt
+++ b/core/src/test/kotlin/DataFetcherInterceptorDemo.kt
@@ -17,7 +17,7 @@ fun initBoundSchema(schema: String): GraphQLSchema {
val dataFetchingInterceptor = object : DataFetchingInterceptor {
override fun fetchData(env: DataFetchingEnvironment, delegate: DataFetcher): Any {
- env.graphQlContext.setQueryContext(QueryContext(neo4jDialect = Dialect.DEFAULT))
+ env.graphQlContext.setQueryContext(QueryContext(neo4jDialect = Dialect.NEO4J_5))
val (cypher, params, type, variable) = delegate.get(env)
return driver.session().use { session ->
val result = session.run(cypher, params.mapValues { toBoltValue(it.value) })
diff --git a/core/src/test/kotlin/org/neo4j/graphql/utils/GraphQLSchemaTestSuite.kt b/core/src/test/kotlin/org/neo4j/graphql/utils/GraphQLSchemaTestSuite.kt
index 9cc9f0a8..8f1c4ae0 100644
--- a/core/src/test/kotlin/org/neo4j/graphql/utils/GraphQLSchemaTestSuite.kt
+++ b/core/src/test/kotlin/org/neo4j/graphql/utils/GraphQLSchemaTestSuite.kt
@@ -4,8 +4,8 @@ import graphql.language.InterfaceTypeDefinition
import graphql.schema.GraphQLScalarType
import graphql.schema.GraphQLSchema
import graphql.schema.GraphQLType
-import graphql.schema.diff.DiffSet
import graphql.schema.diff.SchemaDiff
+import graphql.schema.diff.SchemaDiffSet
import graphql.schema.diff.reporting.CapturingReporter
import graphql.schema.idl.*
import org.assertj.core.api.Assertions.assertThat
@@ -106,17 +106,16 @@ class GraphQLSchemaTestSuite(fileName: String) : AsciiDocTestSuite(
fun GraphQLType.splitName(): Pair {
val m = METHOD_PATTERN.matcher(this.requiredName())
return if (m.find()) {
- m.group(1) to m.group(2).toLowerCase()
+ m.group(1) to m.group(2).lowercase()
} else {
- null to this.requiredName().toLowerCase()
+ null to this.requiredName().lowercase()
}
}
fun diff(augmentedSchema: GraphQLSchema, expected: GraphQLSchema) {
- val diffSet = DiffSet.diffSet(augmentedSchema, expected)
+ val diffSet = SchemaDiffSet.diffSetFromIntrospection(augmentedSchema, expected)
val capture = CapturingReporter()
- SchemaDiff(SchemaDiff.Options.defaultOptions().enforceDirectives())
- .diffSchema(diffSet, capture)
+ SchemaDiff().diffSchema(diffSet, capture)
assertThat(capture.dangers).isEmpty()
assertThat(capture.breakages).isEmpty()
}
diff --git a/examples/dgs-spring-boot/pom.xml b/examples/dgs-spring-boot/pom.xml
index 1581a8d3..eb94d710 100644
--- a/examples/dgs-spring-boot/pom.xml
+++ b/examples/dgs-spring-boot/pom.xml
@@ -16,8 +16,8 @@
- 1.19.7
- 3.2.4
+ 1.20.1
+ 3.3.3
@@ -41,7 +41,7 @@
org.neo4j.driver
neo4j-java-driver
- 5.18.0
+ 5.23.0
org.neo4j
@@ -52,12 +52,12 @@
com.netflix.graphql.dgs
graphql-dgs-spring-boot-starter
- 8.5.5
+ 9.1.0
com.netflix.graphql.dgs.codegen
graphql-dgs-codegen-shared-core
- 6.1.5
+ 6.3.0
@@ -153,7 +153,7 @@
io.github.deweyjose
graphqlcodegen-maven-plugin
- 1.60.1
+ 1.61.5
diff --git a/examples/dgs-spring-boot/src/main/kotlin/org/neo4j/graphql/examples/dgsspringboot/datafetcher/AdditionalDataFetcher.kt b/examples/dgs-spring-boot/src/main/kotlin/org/neo4j/graphql/examples/dgsspringboot/datafetcher/AdditionalDataFetcher.kt
index de712dda..47b2910b 100644
--- a/examples/dgs-spring-boot/src/main/kotlin/org/neo4j/graphql/examples/dgsspringboot/datafetcher/AdditionalDataFetcher.kt
+++ b/examples/dgs-spring-boot/src/main/kotlin/org/neo4j/graphql/examples/dgsspringboot/datafetcher/AdditionalDataFetcher.kt
@@ -17,7 +17,7 @@ class AdditionalDataFetcher {
@DgsData(parentType = DgsConstants.MOVIE.TYPE_NAME, field = DgsConstants.MOVIE.JavaData)
fun javaData(env: DataFetchingEnvironment): List {
- val title = env.getSource