From 01f1795706c7f33e931fc1c5c1fd62b9b3d0591f Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Fri, 14 Aug 2026 16:05:09 -0500 Subject: [PATCH 01/15] Version bump to 5.0.0-SNAPSHOT --- bom/pom.xml | 20 ++++++++++---------- core-shaded/pom.xml | 2 +- core/pom.xml | 2 +- distribution-source/pom.xml | 2 +- distribution-tests/pom.xml | 2 +- distribution/pom.xml | 2 +- examples/pom.xml | 2 +- guava-shaded/pom.xml | 2 +- integration-tests/pom.xml | 2 +- mapper-processor/pom.xml | 2 +- mapper-runtime/pom.xml | 2 +- metrics/micrometer/pom.xml | 2 +- metrics/microprofile/pom.xml | 2 +- osgi-tests/pom.xml | 2 +- pom.xml | 2 +- query-builder/pom.xml | 2 +- test-infra/pom.xml | 2 +- 17 files changed, 26 insertions(+), 26 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 67e26c95bde..101ee007e06 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-bom pom @@ -33,47 +33,47 @@ org.apache.cassandra java-driver-core - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-core-shaded - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-mapper-processor - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-mapper-runtime - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-query-builder - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-guava-shaded - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-test-infra - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-metrics-micrometer - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT org.apache.cassandra java-driver-metrics-microprofile - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT com.datastax.oss diff --git a/core-shaded/pom.xml b/core-shaded/pom.xml index 7d173e2783b..ead63b9b797 100644 --- a/core-shaded/pom.xml +++ b/core-shaded/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-core-shaded Apache Cassandra Java Driver - core with shaded deps diff --git a/core/pom.xml b/core/pom.xml index 59306b175cd..70c3ff9bba2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-core bundle diff --git a/distribution-source/pom.xml b/distribution-source/pom.xml index 40ca39bf612..6552f127c61 100644 --- a/distribution-source/pom.xml +++ b/distribution-source/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-distribution-source pom diff --git a/distribution-tests/pom.xml b/distribution-tests/pom.xml index c6352b3dfd9..f8c5687796a 100644 --- a/distribution-tests/pom.xml +++ b/distribution-tests/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-distribution-tests Apache Cassandra Java Driver - distribution tests diff --git a/distribution/pom.xml b/distribution/pom.xml index db95669cd6b..1beffc5e736 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-distribution diff --git a/examples/pom.xml b/examples/pom.xml index e3ec891843e..41ffc669ff7 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -23,7 +23,7 @@ java-driver-parent org.apache.cassandra - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-examples Apache Cassandra Java Driver - examples. diff --git a/guava-shaded/pom.xml b/guava-shaded/pom.xml index 7fbadd0cea1..66f58898f61 100644 --- a/guava-shaded/pom.xml +++ b/guava-shaded/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-guava-shaded Apache Cassandra Java Driver - guava shaded dep diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 42432eda417..57ded67c175 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-integration-tests jar diff --git a/mapper-processor/pom.xml b/mapper-processor/pom.xml index 5513498f946..f587e2cd81d 100644 --- a/mapper-processor/pom.xml +++ b/mapper-processor/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-mapper-processor Apache Cassandra Java Driver - object mapper processor diff --git a/mapper-runtime/pom.xml b/mapper-runtime/pom.xml index 33a1625ecbf..2f49053f4fb 100644 --- a/mapper-runtime/pom.xml +++ b/mapper-runtime/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-mapper-runtime bundle diff --git a/metrics/micrometer/pom.xml b/metrics/micrometer/pom.xml index 8efa9ed755b..f93dd70a227 100644 --- a/metrics/micrometer/pom.xml +++ b/metrics/micrometer/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT ../../ java-driver-metrics-micrometer diff --git a/metrics/microprofile/pom.xml b/metrics/microprofile/pom.xml index 931d17f1a88..cf9987d7125 100644 --- a/metrics/microprofile/pom.xml +++ b/metrics/microprofile/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT ../../ java-driver-metrics-microprofile diff --git a/osgi-tests/pom.xml b/osgi-tests/pom.xml index 037fc3f6055..fa9c1b2ec13 100644 --- a/osgi-tests/pom.xml +++ b/osgi-tests/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-osgi-tests jar diff --git a/pom.xml b/pom.xml index 947132f9a43..1e22e00702b 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT pom Apache Cassandra Java Driver https://github.com/datastax/java-driver diff --git a/query-builder/pom.xml b/query-builder/pom.xml index 511b8f9a005..ca9e0d37efe 100644 --- a/query-builder/pom.xml +++ b/query-builder/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-query-builder bundle diff --git a/test-infra/pom.xml b/test-infra/pom.xml index 5105e9bc08d..393d8692359 100644 --- a/test-infra/pom.xml +++ b/test-infra/pom.xml @@ -23,7 +23,7 @@ org.apache.cassandra java-driver-parent - 4.19.4-SNAPSHOT + 5.0.0-SNAPSHOT java-driver-test-infra bundle From 11e47da9fcc4b833ee79724dc29cab067db01f11 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Mon, 17 Aug 2026 11:44:38 -0500 Subject: [PATCH 02/15] Fixes to get base Java17 compilation working --- pom.xml | 83 +++++---------------------------------------------------- 1 file changed, 7 insertions(+), 76 deletions(-) diff --git a/pom.xml b/pom.xml index 1e22e00702b..28d62bd19c7 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,7 @@ bom + 17 UTF-8 UTF-8 1.4.1 @@ -459,7 +460,7 @@ maven-compiler-plugin - 3.8.1 + 3.15.0 com.coveo @@ -486,7 +487,7 @@ maven-shade-plugin - 3.2.3 + 3.6.2 maven-assembly-plugin @@ -616,30 +617,21 @@ maven-compiler-plugin javac-with-errorprone - true - 1.8 - 1.8 - - -Xep:FutureReturnValueIgnored:OFF - -Xep:PreferJavaTimeOverload:OFF - -Xep:AnnotateFormatMethod:OFF - -Xep:WildcardImport:WARN - -XepExcludedPaths:.*/target/(?:generated-sources|generated-test-sources)/.* - + true true - true + false false org.codehaus.plexus plexus-compiler-javac-errorprone - 2.8.6 + 2.16.2 com.google.errorprone error_prone_core - 2.3.4 + 2.50.0 @@ -822,67 +814,6 @@ limitations under the License.]]> - - - check-api-leaks - - javadoc - - process-classes - - com.datastax.oss.doclet.ApiPlumber - - com.datastax.oss - api-plumber-doclet - 1.0.0 - - - - -preventleak - com.datastax.oss.driver.internal - com.datastax.dse.driver.internal - - -preventleak - com.datastax.oss.driver.shaded - - -preventleak - com.typesafe.config - - -preventleak - com.codahale.metrics - - -preventleak - org.HdrHistogram - - -preventleak - io.netty - - -preventleak - jnr - -preventleak - com.kenai.constantine - -preventleak - com.kenai.jffi - -preventleak - com.kenai.jnr - - -preventleak - net.jpountz - -preventleak - org.xerial.snappy - - false - - aggregate-javadoc From 182a8bf6101bc423da7a6068ee6c5ea02dae372b Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Mon, 17 Aug 2026 16:04:01 -0500 Subject: [PATCH 03/15] Fixed the issue with the API doclet, added back into the build --- pom.xml | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/pom.xml b/pom.xml index 28d62bd19c7..12dd566f12b 100644 --- a/pom.xml +++ b/pom.xml @@ -814,6 +814,68 @@ limitations under the License.]]> + + + check-api-leaks + + javadoc + + process-classes + + com.datastax.oss.doclet.ApiPlumber + + com.datastax.oss + api-plumber-doclet + 2.0.0 + + + + -preventleak + com.datastax.oss.driver.internal + -preventleak + com.datastax.dse.driver.internal + + -preventleak + com.datastax.oss.driver.shaded + + -preventleak + com.typesafe.config + + -preventleak + com.codahale.metrics + + -preventleak + org.HdrHistogram + + -preventleak + io.netty + + -preventleak + jnr + -preventleak + com.kenai.constantine + -preventleak + com.kenai.jffi + -preventleak + com.kenai.jnr + + -preventleak + net.jpountz + -preventleak + org.xerial.snappy + + false + + aggregate-javadoc From 495e68a0514d6307f277de64dccdaae0ef029f20 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Mon, 17 Aug 2026 19:12:43 -0500 Subject: [PATCH 04/15] Jenkins fixes for DataStax build --- Jenkinsfile-datastax | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 602f33101ca..2b38a70c558 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -131,12 +131,6 @@ def executeTests() { . ${JABBA_SHELL} jabba use 1.8 - if [ "${JABBA_VERSION}" != "1.8" ]; then - SKIP_JAVADOCS=true - else - SKIP_JAVADOCS=false - fi - INTEGRATION_TESTS_FILTER_ARGUMENT="" if [ ! -z "${INTEGRATION_TESTS_FILTER}" ]; then INTEGRATION_TESTS_FILTER_ARGUMENT="-Dit.test=${INTEGRATION_TESTS_FILTER}" @@ -148,7 +142,7 @@ def executeTests() { -DtestJavaHome='''+testJavaHome+''' \ -DfailIfNoTests=false \ -Dmaven.test.failure.ignore=true \ - -Dmaven.javadoc.skip=${SKIP_JAVADOCS} \ + -Dmaven.javadoc.skip=true \ -Dccm.version=${CCM_CASSANDRA_VERSION} \ -Dccm.distribution=${CCM_SERVER_TYPE:cassandra} \ -Dproxy.path=${HOME}/proxy \ @@ -394,9 +388,8 @@ pipeline { // schedules only run against release branches (i.e. 3.x, 4.x, 4.5.x, etc.) parameterizedCron(branchPatternCron().matcher(env.BRANCH_NAME).matches() ? """ # Every weekend (Saturday, Sunday) around 2:00 AM - H 2 * * 0 %CI_SCHEDULE=WEEKENDS;CI_SCHEDULE_SERVER_VERSIONS=4.0 4.1 5.0 dse-4.8.16 dse-5.0.15 dse-5.1.35 dse-6.0.18 dse-6.7.17;CI_SCHEDULE_JABBA_VERSION=1.8 + H 2 * * 0 %CI_SCHEDULE=WEEKENDS;CI_SCHEDULE_SERVER_VERSIONS=4.0 4.1 5.0 dse-4.8.16 dse-5.0.15 dse-5.1.35 dse-6.0.18 dse-6.7.17;CI_SCHEDULE_JABBA_VERSION=openjdk@1.17 # Every weeknight (Monday - Friday) around 12:00 PM noon - H 12 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=4.1 5.0 dse-6.8.30 dse-6.9.0 hcd-1.0.0;CI_SCHEDULE_JABBA_VERSION=openjdk@1.11 H 12 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=4.1 5.0 dse-6.8.30 dse-6.9.0 hcd-1.0.0;CI_SCHEDULE_JABBA_VERSION=openjdk@1.17 """ : "") } @@ -439,9 +432,7 @@ pipeline { } axis { name 'JABBA_VERSION' - values '1.8', // jdk8 - 'openjdk@1.11', // jdk11 - 'openjdk@1.17', // jdk17 + values 'openjdk@1.17', // jdk17 'openjdk@1.21' // jdk21 } } @@ -611,7 +602,7 @@ pipeline { when { allOf { environment name: 'SERVER_VERSION', value: '4.0' - environment name: 'JABBA_VERSION', value: '1.8' + environment name: 'JABBA_VERSION', value: '1.17' } } steps { From df1ec9090bd4c889b3258c61df63d762918f9349 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Mon, 17 Aug 2026 19:22:29 -0500 Subject: [PATCH 05/15] Removing now-unsupported LTS Java versions --- Jenkinsfile-datastax | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 2b38a70c558..6b4f5da1a7a 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -323,8 +323,6 @@ pipeline { choice( name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_JABBA_VERSION', choices: [ - '1.8', // Oracle JDK version 1.8 (current default) - 'openjdk@1.11', // OpenJDK version 11 'openjdk@1.17', // OpenJDK version 17 'openjdk@1.21' // OpenJDK version 21 ], @@ -336,14 +334,6 @@ pipeline { Choice Description - - 1.8 - Oracle JDK version 1.8 (Used for compiling regardless of choice) - - - openjdk@1.11 - OpenJDK version 11 - openjdk@1.17 OpenJDK version 17 From 7a438b696e149d4973c1567890db25bab5877915 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Tue, 18 Aug 2026 02:11:01 -0500 Subject: [PATCH 06/15] Fix errorprone compilation to work with Java17. Also re-introduce annotation processors for integration tests to handle everything except the SocialTraversalDsl case. --- integration-tests/pom.xml | 11 +++++++++++ pom.xml | 26 ++++++++++++-------------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 57ded67c175..d06d261b1ab 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -326,6 +326,17 @@ true + + maven-compiler-plugin + + + + org.apache.cassandra + java-driver-mapper-processor + + + + org.sonatype.plugins nexus-staging-maven-plugin diff --git a/pom.xml b/pom.xml index 12dd566f12b..39df107c06f 100644 --- a/pom.xml +++ b/pom.xml @@ -616,24 +616,22 @@ maven-compiler-plugin - javac-with-errorprone - true + UTF-8 + + -XDcompilePolicy=simple -Xplugin:ErrorProne \ -Xep:FutureReturnValueIgnored:OFF \ -Xep:PreferJavaTimeOverload:OFF \ -Xep:AnnotateFormatMethod:OFF \ -Xep:WildcardImport:WARN \ -XepExcludedPaths:.*/target/(?:generated-sources|generated-test-sources)/.* \ + + + + com.google.errorprone + error_prone_core + + 2.42.0 + + true false false - - - org.codehaus.plexus - plexus-compiler-javac-errorprone - 2.16.2 - - - com.google.errorprone - error_prone_core - 2.50.0 - - com.coveo From 1c6f90dd969539b12840c2eec04463a1fdea2a64 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Tue, 18 Aug 2026 02:36:29 -0500 Subject: [PATCH 07/15] Forgot to change the Jenkins config which, you know, uses Java17 for the build --- Jenkinsfile-datastax | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 6b4f5da1a7a..5684688d0aa 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -449,7 +449,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('1.8') + buildDriver('1.17') } } stage('Execute-Tests') { @@ -564,7 +564,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('1.8') + buildDriver('1.17') } } stage('Execute-Tests') { From c4ce2b3bd2890fa476ca9ab3e6a42665afb8df75 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Tue, 18 Aug 2026 12:19:37 -0500 Subject: [PATCH 08/15] Let's try using the right name --- Jenkinsfile-datastax | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 5684688d0aa..bbbcbf9c0a2 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -449,7 +449,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('1.17') + buildDriver('openjdk@1.17') } } stage('Execute-Tests') { @@ -564,7 +564,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('1.17') + buildDriver('openjdk@1.17') } } stage('Execute-Tests') { @@ -592,7 +592,7 @@ pipeline { when { allOf { environment name: 'SERVER_VERSION', value: '4.0' - environment name: 'JABBA_VERSION', value: '1.17' + environment name: 'JABBA_VERSION', value: 'openjdk@1.17' } } steps { From 0569441cce7cb3fe1f22439c7754e194e6c4a8b8 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 02:11:16 -0500 Subject: [PATCH 09/15] Bring in generated files for test cases that rely on the social graph DSL --- .../core/graph/DefaultSocialTraversal.java | 55 + .../api/core/graph/SocialTraversal.java | 997 ++++++++++++++++++ .../api/core/graph/SocialTraversalDsl.java | 2 - .../api/core/graph/SocialTraversalSource.java | 226 ++++ .../remote/GraphTraversalRemoteITBase.java | 2 +- 5 files changed, 1279 insertions(+), 3 deletions(-) create mode 100644 integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/DefaultSocialTraversal.java create mode 100644 integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversal.java create mode 100644 integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalSource.java diff --git a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/DefaultSocialTraversal.java b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/DefaultSocialTraversal.java new file mode 100644 index 00000000000..96b4b3627b6 --- /dev/null +++ b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/DefaultSocialTraversal.java @@ -0,0 +1,55 @@ +/* + * 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. + */ +package com.datastax.dse.driver.api.core.graph; + +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; +import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal; +import org.apache.tinkerpop.gremlin.structure.Graph; + +public class DefaultSocialTraversal extends DefaultTraversal + implements SocialTraversal { + public DefaultSocialTraversal() {} + + public DefaultSocialTraversal(Graph graph) { + super(graph); + } + + public DefaultSocialTraversal(SocialTraversalSource traversalSource) { + super(traversalSource); + } + + public DefaultSocialTraversal( + SocialTraversalSource traversalSource, GraphTraversal.Admin traversal) { + super(traversalSource, traversal.asAdmin()); + } + + @Override + public SocialTraversal iterate() { + return (SocialTraversal) super.iterate(); + } + + @Override + public GraphTraversal.Admin asAdmin() { + return (GraphTraversal.Admin) super.asAdmin(); + } + + @Override + public DefaultSocialTraversal clone() { + return (DefaultSocialTraversal) super.clone(); + } +} diff --git a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversal.java b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversal.java new file mode 100644 index 00000000000..4b034124ce9 --- /dev/null +++ b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversal.java @@ -0,0 +1,997 @@ +/* + * 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. + */ +package com.datastax.dse.driver.api.core.graph; + +import java.util.Collection; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.function.BiFunction; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; +import org.apache.tinkerpop.gremlin.process.computer.VertexProgram; +import org.apache.tinkerpop.gremlin.process.traversal.Order; +import org.apache.tinkerpop.gremlin.process.traversal.P; +import org.apache.tinkerpop.gremlin.process.traversal.Path; +import org.apache.tinkerpop.gremlin.process.traversal.Pop; +import org.apache.tinkerpop.gremlin.process.traversal.Scope; +import org.apache.tinkerpop.gremlin.process.traversal.Traversal; +import org.apache.tinkerpop.gremlin.process.traversal.Traverser; +import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; +import org.apache.tinkerpop.gremlin.process.traversal.traverser.util.TraverserSet; +import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics; +import org.apache.tinkerpop.gremlin.structure.Column; +import org.apache.tinkerpop.gremlin.structure.Direction; +import org.apache.tinkerpop.gremlin.structure.Edge; +import org.apache.tinkerpop.gremlin.structure.Property; +import org.apache.tinkerpop.gremlin.structure.T; +import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.apache.tinkerpop.gremlin.structure.VertexProperty; + +public interface SocialTraversal extends SocialTraversalDsl { + @Override + public default SocialTraversal knows(String personName) { + return (SocialTraversal) SocialTraversalDsl.super.knows(personName); + } + + @Override + public default SocialTraversal map(Function, E2> function) { + return (SocialTraversal) SocialTraversalDsl.super.map(function); + } + + @Override + public default SocialTraversal map(Traversal mapTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.map(mapTraversal); + } + + @Override + public default SocialTraversal flatMap( + Function, Iterator> function) { + return (SocialTraversal) SocialTraversalDsl.super.flatMap(function); + } + + @Override + public default SocialTraversal flatMap(Traversal flatMapTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.flatMap(flatMapTraversal); + } + + @Override + public default SocialTraversal id() { + return (SocialTraversal) SocialTraversalDsl.super.id(); + } + + @Override + public default SocialTraversal label() { + return (SocialTraversal) SocialTraversalDsl.super.label(); + } + + @Override + public default SocialTraversal identity() { + return (SocialTraversal) SocialTraversalDsl.super.identity(); + } + + @Override + public default SocialTraversal constant(E2 e) { + return (SocialTraversal) SocialTraversalDsl.super.constant(e); + } + + @Override + public default SocialTraversal V(Object... vertexIdsOrElements) { + return (SocialTraversal) SocialTraversalDsl.super.V(vertexIdsOrElements); + } + + @Override + public default SocialTraversal to(Direction direction, String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.to(direction, edgeLabels); + } + + @Override + public default SocialTraversal out(String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.out(edgeLabels); + } + + @Override + public default SocialTraversal in(String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.in(edgeLabels); + } + + @Override + public default SocialTraversal both(String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.both(edgeLabels); + } + + @Override + public default SocialTraversal toE(Direction direction, String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.toE(direction, edgeLabels); + } + + @Override + public default SocialTraversal outE(String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.outE(edgeLabels); + } + + @Override + public default SocialTraversal inE(String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.inE(edgeLabels); + } + + @Override + public default SocialTraversal bothE(String... edgeLabels) { + return (SocialTraversal) SocialTraversalDsl.super.bothE(edgeLabels); + } + + @Override + public default SocialTraversal toV(Direction direction) { + return (SocialTraversal) SocialTraversalDsl.super.toV(direction); + } + + @Override + public default SocialTraversal inV() { + return (SocialTraversal) SocialTraversalDsl.super.inV(); + } + + @Override + public default SocialTraversal outV() { + return (SocialTraversal) SocialTraversalDsl.super.outV(); + } + + @Override + public default SocialTraversal bothV() { + return (SocialTraversal) SocialTraversalDsl.super.bothV(); + } + + @Override + public default SocialTraversal otherV() { + return (SocialTraversal) SocialTraversalDsl.super.otherV(); + } + + @Override + public default SocialTraversal order() { + return (SocialTraversal) SocialTraversalDsl.super.order(); + } + + @Override + public default SocialTraversal order(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.order(scope); + } + + @Override + public default SocialTraversal> properties( + String... propertyKeys) { + return (SocialTraversal) SocialTraversalDsl.super.properties(propertyKeys); + } + + @Override + public default SocialTraversal values(String... propertyKeys) { + return (SocialTraversal) SocialTraversalDsl.super.values(propertyKeys); + } + + @Override + public default SocialTraversal> propertyMap(String... propertyKeys) { + return (SocialTraversal) SocialTraversalDsl.super.propertyMap(propertyKeys); + } + + @Override + public default SocialTraversal> elementMap(String... propertyKeys) { + return (SocialTraversal) SocialTraversalDsl.super.elementMap(propertyKeys); + } + + @Override + public default SocialTraversal> valueMap(String... propertyKeys) { + return (SocialTraversal) SocialTraversalDsl.super.valueMap(propertyKeys); + } + + @Override + public default SocialTraversal> valueMap( + boolean includeTokens, String... propertyKeys) { + return (SocialTraversal) SocialTraversalDsl.super.valueMap(includeTokens, propertyKeys); + } + + @Override + public default SocialTraversal key() { + return (SocialTraversal) SocialTraversalDsl.super.key(); + } + + @Override + public default SocialTraversal value() { + return (SocialTraversal) SocialTraversalDsl.super.value(); + } + + @Override + public default SocialTraversal path() { + return (SocialTraversal) SocialTraversalDsl.super.path(); + } + + @Override + public default SocialTraversal> match( + Traversal... matchTraversals) { + return (SocialTraversal) SocialTraversalDsl.super.match(matchTraversals); + } + + @Override + public default SocialTraversal sack() { + return (SocialTraversal) SocialTraversalDsl.super.sack(); + } + + @Override + public default SocialTraversal loops() { + return (SocialTraversal) SocialTraversalDsl.super.loops(); + } + + @Override + public default SocialTraversal loops(String loopName) { + return (SocialTraversal) SocialTraversalDsl.super.loops(loopName); + } + + @Override + public default SocialTraversal> project( + String projectKey, String... otherProjectKeys) { + return (SocialTraversal) SocialTraversalDsl.super.project(projectKey, otherProjectKeys); + } + + @Override + public default SocialTraversal> select( + Pop pop, String selectKey1, String selectKey2, String... otherSelectKeys) { + return (SocialTraversal) + SocialTraversalDsl.super.select(pop, selectKey1, selectKey2, otherSelectKeys); + } + + @Override + public default SocialTraversal> select( + String selectKey1, String selectKey2, String... otherSelectKeys) { + return (SocialTraversal) + SocialTraversalDsl.super.select(selectKey1, selectKey2, otherSelectKeys); + } + + @Override + public default SocialTraversal select(Pop pop, String selectKey) { + return (SocialTraversal) SocialTraversalDsl.super.select(pop, selectKey); + } + + @Override + public default SocialTraversal select(String selectKey) { + return (SocialTraversal) SocialTraversalDsl.super.select(selectKey); + } + + @Override + public default SocialTraversal select(Pop pop, Traversal keyTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.select(pop, keyTraversal); + } + + @Override + public default SocialTraversal select(Traversal keyTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.select(keyTraversal); + } + + @Override + public default SocialTraversal> select(Column column) { + return (SocialTraversal) SocialTraversalDsl.super.select(column); + } + + @Override + public default SocialTraversal unfold() { + return (SocialTraversal) SocialTraversalDsl.super.unfold(); + } + + @Override + public default SocialTraversal> fold() { + return (SocialTraversal) SocialTraversalDsl.super.fold(); + } + + @Override + public default SocialTraversal fold(E2 seed, BiFunction foldFunction) { + return (SocialTraversal) SocialTraversalDsl.super.fold(seed, foldFunction); + } + + @Override + public default SocialTraversal count() { + return (SocialTraversal) SocialTraversalDsl.super.count(); + } + + @Override + public default SocialTraversal count(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.count(scope); + } + + @Override + public default SocialTraversal sum() { + return (SocialTraversal) SocialTraversalDsl.super.sum(); + } + + @Override + public default SocialTraversal sum(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.sum(scope); + } + + @Override + public default SocialTraversal max() { + return (SocialTraversal) SocialTraversalDsl.super.max(); + } + + @Override + public default SocialTraversal max(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.max(scope); + } + + @Override + public default SocialTraversal min() { + return (SocialTraversal) SocialTraversalDsl.super.min(); + } + + @Override + public default SocialTraversal min(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.min(scope); + } + + @Override + public default SocialTraversal mean() { + return (SocialTraversal) SocialTraversalDsl.super.mean(); + } + + @Override + public default SocialTraversal mean(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.mean(scope); + } + + @Override + public default SocialTraversal> group() { + return (SocialTraversal) SocialTraversalDsl.super.group(); + } + + @Override + public default SocialTraversal> groupCount() { + return (SocialTraversal) SocialTraversalDsl.super.groupCount(); + } + + @Override + public default SocialTraversal tree() { + return (SocialTraversal) SocialTraversalDsl.super.tree(); + } + + @Override + public default SocialTraversal addV(String vertexLabel) { + return (SocialTraversal) SocialTraversalDsl.super.addV(vertexLabel); + } + + @Override + public default SocialTraversal addV(Traversal vertexLabelTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.addV(vertexLabelTraversal); + } + + @Override + public default SocialTraversal addV() { + return (SocialTraversal) SocialTraversalDsl.super.addV(); + } + + @Override + public default SocialTraversal addE(String edgeLabel) { + return (SocialTraversal) SocialTraversalDsl.super.addE(edgeLabel); + } + + @Override + public default SocialTraversal addE(Traversal edgeLabelTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.addE(edgeLabelTraversal); + } + + @Override + public default SocialTraversal to(String toStepLabel) { + return (SocialTraversal) SocialTraversalDsl.super.to(toStepLabel); + } + + @Override + public default SocialTraversal from(String fromStepLabel) { + return (SocialTraversal) SocialTraversalDsl.super.from(fromStepLabel); + } + + @Override + public default SocialTraversal to(Traversal toVertex) { + return (SocialTraversal) SocialTraversalDsl.super.to(toVertex); + } + + @Override + public default SocialTraversal from(Traversal fromVertex) { + return (SocialTraversal) SocialTraversalDsl.super.from(fromVertex); + } + + @Override + public default SocialTraversal to(Vertex toVertex) { + return (SocialTraversal) SocialTraversalDsl.super.to(toVertex); + } + + @Override + public default SocialTraversal from(Vertex fromVertex) { + return (SocialTraversal) SocialTraversalDsl.super.from(fromVertex); + } + + @Override + public default SocialTraversal math(String expression) { + return (SocialTraversal) SocialTraversalDsl.super.math(expression); + } + + @Override + public default SocialTraversal filter(Predicate> predicate) { + return (SocialTraversal) SocialTraversalDsl.super.filter(predicate); + } + + @Override + public default SocialTraversal filter(Traversal filterTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.filter(filterTraversal); + } + + @Override + public default SocialTraversal or(Traversal... orTraversals) { + return (SocialTraversal) SocialTraversalDsl.super.or(orTraversals); + } + + @Override + public default SocialTraversal and(Traversal... andTraversals) { + return (SocialTraversal) SocialTraversalDsl.super.and(andTraversals); + } + + @Override + public default SocialTraversal inject(E... injections) { + return (SocialTraversal) SocialTraversalDsl.super.inject(injections); + } + + @Override + public default SocialTraversal dedup(Scope scope, String... dedupLabels) { + return (SocialTraversal) SocialTraversalDsl.super.dedup(scope, dedupLabels); + } + + @Override + public default SocialTraversal dedup(String... dedupLabels) { + return (SocialTraversal) SocialTraversalDsl.super.dedup(dedupLabels); + } + + @Override + public default SocialTraversal where(String startKey, P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.where(startKey, predicate); + } + + @Override + public default SocialTraversal where(P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.where(predicate); + } + + @Override + public default SocialTraversal where(Traversal whereTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.where(whereTraversal); + } + + @Override + public default SocialTraversal has(String propertyKey, P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.has(propertyKey, predicate); + } + + @Override + public default SocialTraversal has(T accessor, P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.has(accessor, predicate); + } + + @Override + public default SocialTraversal has(String propertyKey, Object value) { + return (SocialTraversal) SocialTraversalDsl.super.has(propertyKey, value); + } + + @Override + public default SocialTraversal has(T accessor, Object value) { + return (SocialTraversal) SocialTraversalDsl.super.has(accessor, value); + } + + @Override + public default SocialTraversal has(String label, String propertyKey, P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.has(label, propertyKey, predicate); + } + + @Override + public default SocialTraversal has(String label, String propertyKey, Object value) { + return (SocialTraversal) SocialTraversalDsl.super.has(label, propertyKey, value); + } + + @Override + public default SocialTraversal has(T accessor, Traversal propertyTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.has(accessor, propertyTraversal); + } + + @Override + public default SocialTraversal has(String propertyKey, Traversal propertyTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.has(propertyKey, propertyTraversal); + } + + @Override + public default SocialTraversal has(String propertyKey) { + return (SocialTraversal) SocialTraversalDsl.super.has(propertyKey); + } + + @Override + public default SocialTraversal hasNot(String propertyKey) { + return (SocialTraversal) SocialTraversalDsl.super.hasNot(propertyKey); + } + + @Override + public default SocialTraversal hasLabel(String label, String... otherLabels) { + return (SocialTraversal) SocialTraversalDsl.super.hasLabel(label, otherLabels); + } + + @Override + public default SocialTraversal hasLabel(P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.hasLabel(predicate); + } + + @Override + public default SocialTraversal hasId(Object id, Object... otherIds) { + return (SocialTraversal) SocialTraversalDsl.super.hasId(id, otherIds); + } + + @Override + public default SocialTraversal hasId(P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.hasId(predicate); + } + + @Override + public default SocialTraversal hasKey(String label, String... otherLabels) { + return (SocialTraversal) SocialTraversalDsl.super.hasKey(label, otherLabels); + } + + @Override + public default SocialTraversal hasKey(P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.hasKey(predicate); + } + + @Override + public default SocialTraversal hasValue(Object value, Object... otherValues) { + return (SocialTraversal) SocialTraversalDsl.super.hasValue(value, otherValues); + } + + @Override + public default SocialTraversal hasValue(P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.hasValue(predicate); + } + + @Override + public default SocialTraversal is(P predicate) { + return (SocialTraversal) SocialTraversalDsl.super.is(predicate); + } + + @Override + public default SocialTraversal is(Object value) { + return (SocialTraversal) SocialTraversalDsl.super.is(value); + } + + @Override + public default SocialTraversal not(Traversal notTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.not(notTraversal); + } + + @Override + public default SocialTraversal coin(double probability) { + return (SocialTraversal) SocialTraversalDsl.super.coin(probability); + } + + @Override + public default SocialTraversal range(long low, long high) { + return (SocialTraversal) SocialTraversalDsl.super.range(low, high); + } + + @Override + public default SocialTraversal range(Scope scope, long low, long high) { + return (SocialTraversal) SocialTraversalDsl.super.range(scope, low, high); + } + + @Override + public default SocialTraversal limit(long limit) { + return (SocialTraversal) SocialTraversalDsl.super.limit(limit); + } + + @Override + public default SocialTraversal limit(Scope scope, long limit) { + return (SocialTraversal) SocialTraversalDsl.super.limit(scope, limit); + } + + @Override + public default SocialTraversal tail() { + return (SocialTraversal) SocialTraversalDsl.super.tail(); + } + + @Override + public default SocialTraversal tail(long limit) { + return (SocialTraversal) SocialTraversalDsl.super.tail(limit); + } + + @Override + public default SocialTraversal tail(Scope scope) { + return (SocialTraversal) SocialTraversalDsl.super.tail(scope); + } + + @Override + public default SocialTraversal tail(Scope scope, long limit) { + return (SocialTraversal) SocialTraversalDsl.super.tail(scope, limit); + } + + @Override + public default SocialTraversal skip(long skip) { + return (SocialTraversal) SocialTraversalDsl.super.skip(skip); + } + + @Override + public default SocialTraversal skip(Scope scope, long skip) { + return (SocialTraversal) SocialTraversalDsl.super.skip(scope, skip); + } + + @Override + public default SocialTraversal timeLimit(long timeLimit) { + return (SocialTraversal) SocialTraversalDsl.super.timeLimit(timeLimit); + } + + @Override + public default SocialTraversal simplePath() { + return (SocialTraversal) SocialTraversalDsl.super.simplePath(); + } + + @Override + public default SocialTraversal cyclicPath() { + return (SocialTraversal) SocialTraversalDsl.super.cyclicPath(); + } + + @Override + public default SocialTraversal sample(int amountToSample) { + return (SocialTraversal) SocialTraversalDsl.super.sample(amountToSample); + } + + @Override + public default SocialTraversal sample(Scope scope, int amountToSample) { + return (SocialTraversal) SocialTraversalDsl.super.sample(scope, amountToSample); + } + + @Override + public default SocialTraversal drop() { + return (SocialTraversal) SocialTraversalDsl.super.drop(); + } + + @Override + public default SocialTraversal sideEffect(Consumer> consumer) { + return (SocialTraversal) SocialTraversalDsl.super.sideEffect(consumer); + } + + @Override + public default SocialTraversal sideEffect(Traversal sideEffectTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.sideEffect(sideEffectTraversal); + } + + @Override + public default SocialTraversal cap(String sideEffectKey, String... sideEffectKeys) { + return (SocialTraversal) SocialTraversalDsl.super.cap(sideEffectKey, sideEffectKeys); + } + + @Override + public default SocialTraversal subgraph(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.subgraph(sideEffectKey); + } + + @Override + public default SocialTraversal aggregate(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.aggregate(sideEffectKey); + } + + @Override + public default SocialTraversal aggregate(Scope scope, String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.aggregate(scope, sideEffectKey); + } + + @Override + public default SocialTraversal group(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.group(sideEffectKey); + } + + @Override + public default SocialTraversal groupCount(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.groupCount(sideEffectKey); + } + + @Override + public default SocialTraversal tree(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.tree(sideEffectKey); + } + + @Override + public default SocialTraversal sack(BiFunction sackOperator) { + return (SocialTraversal) SocialTraversalDsl.super.sack(sackOperator); + } + + @Override + public default SocialTraversal store(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.store(sideEffectKey); + } + + @Override + public default SocialTraversal profile(String sideEffectKey) { + return (SocialTraversal) SocialTraversalDsl.super.profile(sideEffectKey); + } + + @Override + public default SocialTraversal profile() { + return (SocialTraversal) SocialTraversalDsl.super.profile(); + } + + @Override + public default SocialTraversal none() { + return (SocialTraversal) SocialTraversalDsl.super.none(); + } + + @Override + public default SocialTraversal property( + VertexProperty.Cardinality cardinality, Object key, Object value, Object... keyValues) { + return (SocialTraversal) SocialTraversalDsl.super.property(cardinality, key, value, keyValues); + } + + @Override + public default SocialTraversal property(Object key, Object value, Object... keyValues) { + return (SocialTraversal) SocialTraversalDsl.super.property(key, value, keyValues); + } + + @Override + public default SocialTraversal branch(Traversal branchTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.branch(branchTraversal); + } + + @Override + public default SocialTraversal branch(Function, M> function) { + return (SocialTraversal) SocialTraversalDsl.super.branch(function); + } + + @Override + public default SocialTraversal choose(Traversal choiceTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.choose(choiceTraversal); + } + + @Override + public default SocialTraversal choose( + Traversal traversalPredicate, + Traversal trueChoice, + Traversal falseChoice) { + return (SocialTraversal) + SocialTraversalDsl.super.choose(traversalPredicate, trueChoice, falseChoice); + } + + @Override + public default SocialTraversal choose( + Traversal traversalPredicate, Traversal trueChoice) { + return (SocialTraversal) SocialTraversalDsl.super.choose(traversalPredicate, trueChoice); + } + + @Override + public default SocialTraversal choose(Function choiceFunction) { + return (SocialTraversal) SocialTraversalDsl.super.choose(choiceFunction); + } + + @Override + public default SocialTraversal choose( + Predicate choosePredicate, Traversal trueChoice, Traversal falseChoice) { + return (SocialTraversal) + SocialTraversalDsl.super.choose(choosePredicate, trueChoice, falseChoice); + } + + @Override + public default SocialTraversal choose( + Predicate choosePredicate, Traversal trueChoice) { + return (SocialTraversal) SocialTraversalDsl.super.choose(choosePredicate, trueChoice); + } + + @Override + public default SocialTraversal optional(Traversal optionalTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.optional(optionalTraversal); + } + + @Override + public default SocialTraversal union(Traversal... unionTraversals) { + return (SocialTraversal) SocialTraversalDsl.super.union(unionTraversals); + } + + @Override + public default SocialTraversal coalesce(Traversal... coalesceTraversals) { + return (SocialTraversal) SocialTraversalDsl.super.coalesce(coalesceTraversals); + } + + @Override + public default SocialTraversal repeat(Traversal repeatTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.repeat(repeatTraversal); + } + + @Override + public default SocialTraversal repeat(String loopName, Traversal repeatTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.repeat(loopName, repeatTraversal); + } + + @Override + public default SocialTraversal emit(Traversal emitTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.emit(emitTraversal); + } + + @Override + public default SocialTraversal emit(Predicate> emitPredicate) { + return (SocialTraversal) SocialTraversalDsl.super.emit(emitPredicate); + } + + @Override + public default SocialTraversal emit() { + return (SocialTraversal) SocialTraversalDsl.super.emit(); + } + + @Override + public default SocialTraversal until(Traversal untilTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.until(untilTraversal); + } + + @Override + public default SocialTraversal until(Predicate> untilPredicate) { + return (SocialTraversal) SocialTraversalDsl.super.until(untilPredicate); + } + + @Override + public default SocialTraversal times(int maxLoops) { + return (SocialTraversal) SocialTraversalDsl.super.times(maxLoops); + } + + @Override + public default SocialTraversal local(Traversal localTraversal) { + return (SocialTraversal) SocialTraversalDsl.super.local(localTraversal); + } + + @Override + public default SocialTraversal pageRank() { + return (SocialTraversal) SocialTraversalDsl.super.pageRank(); + } + + @Override + public default SocialTraversal pageRank(double alpha) { + return (SocialTraversal) SocialTraversalDsl.super.pageRank(alpha); + } + + @Override + public default SocialTraversal peerPressure() { + return (SocialTraversal) SocialTraversalDsl.super.peerPressure(); + } + + @Override + public default SocialTraversal connectedComponent() { + return (SocialTraversal) SocialTraversalDsl.super.connectedComponent(); + } + + @Override + public default SocialTraversal shortestPath() { + return (SocialTraversal) SocialTraversalDsl.super.shortestPath(); + } + + @Override + public default SocialTraversal program(VertexProgram vertexProgram) { + return (SocialTraversal) SocialTraversalDsl.super.program(vertexProgram); + } + + @Override + public default SocialTraversal as(String stepLabel, String... stepLabels) { + return (SocialTraversal) SocialTraversalDsl.super.as(stepLabel, stepLabels); + } + + @Override + public default SocialTraversal barrier() { + return (SocialTraversal) SocialTraversalDsl.super.barrier(); + } + + @Override + public default SocialTraversal barrier(int maxBarrierSize) { + return (SocialTraversal) SocialTraversalDsl.super.barrier(maxBarrierSize); + } + + @Override + public default SocialTraversal index() { + return (SocialTraversal) SocialTraversalDsl.super.index(); + } + + @Override + public default SocialTraversal barrier(Consumer> barrierConsumer) { + return (SocialTraversal) SocialTraversalDsl.super.barrier(barrierConsumer); + } + + @Override + public default SocialTraversal with(String key) { + return (SocialTraversal) SocialTraversalDsl.super.with(key); + } + + @Override + public default SocialTraversal with(String key, Object value) { + return (SocialTraversal) SocialTraversalDsl.super.with(key, value); + } + + @Override + public default SocialTraversal by() { + return (SocialTraversal) SocialTraversalDsl.super.by(); + } + + @Override + public default SocialTraversal by(Traversal traversal) { + return (SocialTraversal) SocialTraversalDsl.super.by(traversal); + } + + @Override + public default SocialTraversal by(T token) { + return (SocialTraversal) SocialTraversalDsl.super.by(token); + } + + @Override + public default SocialTraversal by(String key) { + return (SocialTraversal) SocialTraversalDsl.super.by(key); + } + + @Override + public default SocialTraversal by(Function function) { + return (SocialTraversal) SocialTraversalDsl.super.by(function); + } + + @Override + public default SocialTraversal by(Traversal traversal, Comparator comparator) { + return (SocialTraversal) SocialTraversalDsl.super.by(traversal, comparator); + } + + @Override + public default SocialTraversal by(Comparator comparator) { + return (SocialTraversal) SocialTraversalDsl.super.by(comparator); + } + + @Override + public default SocialTraversal by(Order order) { + return (SocialTraversal) SocialTraversalDsl.super.by(order); + } + + @Override + public default SocialTraversal by(String key, Comparator comparator) { + return (SocialTraversal) SocialTraversalDsl.super.by(key, comparator); + } + + @Override + public default SocialTraversal by(Function function, Comparator comparator) { + return (SocialTraversal) SocialTraversalDsl.super.by(function, comparator); + } + + @Override + public default SocialTraversal option(M pick, Traversal traversalOption) { + return (SocialTraversal) SocialTraversalDsl.super.option(pick, traversalOption); + } + + @Override + public default SocialTraversal option(Traversal traversalOption) { + return (SocialTraversal) SocialTraversalDsl.super.option(traversalOption); + } + + @Override + public default SocialTraversal read() { + return (SocialTraversal) SocialTraversalDsl.super.read(); + } + + @Override + public default SocialTraversal write() { + return (SocialTraversal) SocialTraversalDsl.super.write(); + } + + @Override + public default SocialTraversal iterate() { + SocialTraversalDsl.super.iterate(); + return this; + } +} diff --git a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalDsl.java b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalDsl.java index 327f32a240d..e5ee29472ba 100644 --- a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalDsl.java +++ b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalDsl.java @@ -17,11 +17,9 @@ */ package com.datastax.dse.driver.api.core.graph; -import org.apache.tinkerpop.gremlin.process.traversal.dsl.GremlinDsl; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; import org.apache.tinkerpop.gremlin.structure.Vertex; -@GremlinDsl(traversalSource = "com.datastax.dse.driver.api.core.graph.SocialTraversalSourceDsl") public interface SocialTraversalDsl extends GraphTraversal.Admin { public default GraphTraversal knows(String personName) { return out("knows").hasLabel("person").has("name", personName).in(); diff --git a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalSource.java b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalSource.java new file mode 100644 index 00000000000..461fad408aa --- /dev/null +++ b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalSource.java @@ -0,0 +1,226 @@ +/* + * 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. + */ +package com.datastax.dse.driver.api.core.graph; + +import java.util.Optional; +import java.util.function.BinaryOperator; +import java.util.function.Supplier; +import java.util.function.UnaryOperator; +import org.apache.tinkerpop.gremlin.process.computer.Computer; +import org.apache.tinkerpop.gremlin.process.computer.GraphComputer; +import org.apache.tinkerpop.gremlin.process.remote.RemoteConnection; +import org.apache.tinkerpop.gremlin.process.traversal.Step; +import org.apache.tinkerpop.gremlin.process.traversal.Traversal; +import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategies; +import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy; +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__; +import org.apache.tinkerpop.gremlin.process.traversal.step.map.AddEdgeStartStep; +import org.apache.tinkerpop.gremlin.process.traversal.step.map.AddVertexStartStep; +import org.apache.tinkerpop.gremlin.process.traversal.step.map.GraphStep; +import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.InjectStep; +import org.apache.tinkerpop.gremlin.structure.Edge; +import org.apache.tinkerpop.gremlin.structure.Graph; +import org.apache.tinkerpop.gremlin.structure.Vertex; + +public class SocialTraversalSource extends SocialTraversalSourceDsl { + public SocialTraversalSource(Graph graph) { + super(graph); + } + + public SocialTraversalSource(Graph graph, TraversalStrategies strategies) { + super(graph, strategies); + } + + public SocialTraversalSource(RemoteConnection connection) { + super(connection); + } + + @Override + public SocialTraversalSource clone() { + return (SocialTraversalSource) super.clone(); + } + + @Override + public SocialTraversalSource with(String key) { + return (SocialTraversalSource) super.with(key); + } + + @Override + public SocialTraversalSource with(String key, Object value) { + return (SocialTraversalSource) super.with(key, value); + } + + @Override + public SocialTraversalSource withStrategies(TraversalStrategy... traversalStrategies) { + return (SocialTraversalSource) super.withStrategies(traversalStrategies); + } + + @Override + public SocialTraversalSource withoutStrategies( + Class... traversalStrategyClasses) { + return (SocialTraversalSource) super.withoutStrategies((Class[]) traversalStrategyClasses); + } + + @Override + public SocialTraversalSource withComputer(Computer computer) { + return (SocialTraversalSource) super.withComputer(computer); + } + + @Override + public SocialTraversalSource withComputer(Class graphComputerClass) { + return (SocialTraversalSource) super.withComputer((Class) graphComputerClass); + } + + @Override + public SocialTraversalSource withComputer() { + return (SocialTraversalSource) super.withComputer(); + } + + @Override + public SocialTraversalSource withSideEffect( + String key, A initialValue, BinaryOperator reducer) { + return (SocialTraversalSource) + super.withSideEffect(key, (Object) initialValue, (BinaryOperator) reducer); + } + + @Override + public SocialTraversalSource withSideEffect(String key, A initialValue) { + return (SocialTraversalSource) super.withSideEffect(key, (Object) initialValue); + } + + @Override + public SocialTraversalSource withSideEffect(String key, Supplier initialValue) { + return (SocialTraversalSource) super.withSideEffect(key, (Supplier) initialValue); + } + + @Override + public SocialTraversalSource withSack( + A initialValue, UnaryOperator splitOperator, BinaryOperator mergeOperator) { + return (SocialTraversalSource) + super.withSack( + (Object) initialValue, (UnaryOperator) splitOperator, (BinaryOperator) mergeOperator); + } + + @Override + public SocialTraversalSource withSack(A initialValue) { + return (SocialTraversalSource) super.withSack((Object) initialValue); + } + + @Override + public SocialTraversalSource withSack(Supplier initialValue) { + return (SocialTraversalSource) super.withSack((Supplier) initialValue); + } + + @Override + public SocialTraversalSource withSack(A initialValue, UnaryOperator splitOperator) { + return (SocialTraversalSource) + super.withSack((Object) initialValue, (UnaryOperator) splitOperator); + } + + @Override + public SocialTraversalSource withSack(A initialValue, BinaryOperator mergeOperator) { + return (SocialTraversalSource) + super.withSack((Object) initialValue, (BinaryOperator) mergeOperator); + } + + @Override + public SocialTraversalSource withBulk(boolean useBulk) { + return (SocialTraversalSource) super.withBulk(useBulk); + } + + @Override + public SocialTraversalSource withPath() { + return (SocialTraversalSource) super.withPath(); + } + + public SocialTraversal persons(String... names) { + SocialTraversalSource clone = this.clone(); + return new DefaultSocialTraversal( + clone, (GraphTraversal.Admin) super.persons(names).asAdmin()); + } + + public SocialTraversal addV() { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("addV", new Object[0]); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new AddVertexStartStep(traversal, (String) null)); + } + + public SocialTraversal addV(String label) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("addV", label); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new AddVertexStartStep(traversal, label)); + } + + public SocialTraversal addV(Traversal vertexLabelTraversal) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("addV", vertexLabelTraversal); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new AddVertexStartStep(traversal, vertexLabelTraversal)); + } + + public SocialTraversal addE(String label) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("addE", label); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new AddEdgeStartStep(traversal, label)); + } + + public SocialTraversal addE(Traversal edgeLabelTraversal) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("addE", edgeLabelTraversal); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new AddEdgeStartStep(traversal, edgeLabelTraversal)); + } + + public SocialTraversal V(Object... vertexIds) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("V", vertexIds); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new GraphStep(traversal, Vertex.class, true, vertexIds)); + } + + public SocialTraversal E(Object... edgeIds) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("E", edgeIds); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep((Step) new GraphStep(traversal, Edge.class, true, edgeIds)); + } + + public SocialTraversal inject(S... starts) { + SocialTraversalSource clone = this.clone(); + clone.getBytecode().addStep("inject", starts); + DefaultSocialTraversal traversal = new DefaultSocialTraversal(clone); + return (SocialTraversal) + traversal.asAdmin().addStep(new InjectStep((Traversal.Admin) traversal, starts)); + } + + @Override + public Optional> getAnonymousTraversalClass() { + return Optional.of(__.class); + } +} diff --git a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalRemoteITBase.java b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalRemoteITBase.java index 3db8a7d1a12..f13f57f0ebd 100644 --- a/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalRemoteITBase.java +++ b/integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalRemoteITBase.java @@ -26,7 +26,6 @@ import com.datastax.dse.driver.Assertions; import com.datastax.dse.driver.api.core.graph.SocialTraversalSource; import com.datastax.dse.driver.api.core.graph.TinkerPathAssert; -import com.datastax.dse.driver.api.core.graph.__; import com.datastax.oss.driver.api.core.CqlSession; import com.datastax.oss.driver.api.core.Version; import com.datastax.oss.driver.api.core.servererrors.InvalidQueryException; @@ -46,6 +45,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__; import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree; import org.apache.tinkerpop.gremlin.structure.Direction; import org.apache.tinkerpop.gremlin.structure.Edge; From 517a576461b7ca9b8a6e95a4168a4b74f917e094 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 03:02:00 -0500 Subject: [PATCH 10/15] Update annotation processors for OSGi testing --- osgi-tests/pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/osgi-tests/pom.xml b/osgi-tests/pom.xml index fa9c1b2ec13..fe6ec5e2c5a 100644 --- a/osgi-tests/pom.xml +++ b/osgi-tests/pom.xml @@ -291,6 +291,17 @@ true + + maven-compiler-plugin + + + + org.apache.cassandra + java-driver-mapper-processor + + + + org.sonatype.plugins nexus-staging-maven-plugin From 569d59b44c6d35e58825129d054b917932e837a8 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 15:50:24 -0500 Subject: [PATCH 11/15] Various Maven/Jenkins fixes --- Jenkinsfile-datastax | 38 +++++++++++++----------------- pom.xml | 55 ++++---------------------------------------- 2 files changed, 20 insertions(+), 73 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index bbbcbf9c0a2..412b033b1fc 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -31,28 +31,24 @@ def initializeEnvironment() { env.PATH = "${env.MAVEN_HOME}/bin:${env.PATH}" /* - * As of JAVA-3042 JAVA_HOME is always set to JDK8 and this is currently necessary for mvn compile and DSE Search/Graph. - * To facilitate testing with JDK11/17 we feed the appropriate JAVA_HOME into the maven build via commandline. - * - * Maven command-line flags: - * - -DtestJavaHome=/path/to/java/home: overrides JAVA_HOME for surefire/failsafe tests, defaults to environment JAVA_HOME. - * - -Ptest-jdk-N: enables profile for running tests with a specific JDK version (substitute N for 8/11/17). - * - * Note test-jdk-N is also automatically loaded based off JAVA_HOME SDK version so testing with an older SDK is not supported. + * JAVA_HOME is always set to the specified runtime JDK (i.e. whatever is in JABBA_VERSION). This covers all Maven + * invocations. Actual tests run by Maven's surefire/failsafe plugin will be managed via test testJavaHome param. * * Environment variables: - * - JAVA_HOME: Path to JDK used for mvn (all steps except surefire/failsafe), Cassandra, DSE. - * - JAVA8_HOME: Path to JDK8 used for Cassandra/DSE if ccm determines JAVA_HOME is not compatible with the chosen backend. - * - TEST_JAVA_HOME: PATH to JDK used for surefire/failsafe testing. - * - TEST_JAVA_VERSION: TEST_JAVA_HOME SDK version number [8/11/17], used to configure test-jdk-N profile in maven (see above) + * - JAVA_HOME: Path to JDK used for mvn. ccm may use this if applicable, otherwise it falls back to JAVA8_HOME and JAVA11_HOME + * for older Cassandra/DSE/HCD instances. + * - JAVA8_HOME: Path to JDK8 used for Cassandra/DSE if ccm determines JAVA_HOME is not compatible with the chosen backend + * - JAVA11_HOME: Similar to JAVA8_HOME for Java11 */ - env.JAVA_HOME = sh(label: 'Get JAVA_HOME',script: '''#!/bin/bash -le . ${JABBA_SHELL} jabba which ${JABBA_VERSION}''', returnStdout: true).trim() - env.JAVA8_HOME = sh(label: 'Get JAVA8_HOME',script: '''#!/bin/bash -le + env.JAVA8_HOME = sh(label: 'Get JAVA8_HOME (in case ccm needs it)',script: '''#!/bin/bash -le . ${JABBA_SHELL} jabba which 1.8''', returnStdout: true).trim() + env.JAVA11_HOME = sh(label: 'Get JAVA11_HOME (in case ccm needs it)',script: '''#!/bin/bash -le + . ${JABBA_SHELL} + jabba which openjdk@1.11''', returnStdout: true).trim() sh label: 'Download Apache CassandraⓇ, DataStax Enterprise or DataStax HCD ',script: '''#!/bin/bash -le . ${JABBA_SHELL} @@ -88,14 +84,14 @@ ENVIRONMENT_EOF ''' } - sh label: 'Display Java and environment information',script: '''#!/bin/bash -le + sh label: 'Display Java and environment information for Maven',script: '''#!/bin/bash -le # Load CCM environment variables set -o allexport . ${HOME}/environment.txt set +o allexport . ${JABBA_SHELL} - jabba use 1.8 + jabba use ${JABBA_VERSION} java -version mvn -v @@ -103,13 +99,13 @@ ENVIRONMENT_EOF ''' } -def buildDriver(jabbaVersion) { +def buildDriver() { def buildDriverScript = '''#!/bin/bash -le . ${JABBA_SHELL} - jabba use '''+jabbaVersion+''' + jabba use ${JABBA_VERSION} - echo "Building with Java version '''+jabbaVersion+'''" + echo "Building with Java version ${JABBA_VERSION}" mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true ''' @@ -129,7 +125,7 @@ def executeTests() { set +o allexport . ${JABBA_SHELL} - jabba use 1.8 + jabba use ${JABBA_VERSION} INTEGRATION_TESTS_FILTER_ARGUMENT="" if [ ! -z "${INTEGRATION_TESTS_FILTER}" ]; then @@ -138,14 +134,12 @@ def executeTests() { printenv | sort mvn -B -V ${INTEGRATION_TESTS_FILTER_ARGUMENT} -T 1 verify \ - -Ptest-jdk-'''+testJavaVersion+''' \ -DtestJavaHome='''+testJavaHome+''' \ -DfailIfNoTests=false \ -Dmaven.test.failure.ignore=true \ -Dmaven.javadoc.skip=true \ -Dccm.version=${CCM_CASSANDRA_VERSION} \ -Dccm.distribution=${CCM_SERVER_TYPE:cassandra} \ - -Dproxy.path=${HOME}/proxy \ ${SERIAL_ITS_ARGUMENT} \ ${ISOLATED_ITS_ARGUMENT} \ ${PARALLELIZABLE_ITS_ARGUMENT} diff --git a/pom.xml b/pom.xml index 39df107c06f..1e8c96005fc 100644 --- a/pom.xml +++ b/pom.xml @@ -96,6 +96,10 @@ 22.0.0.2 false ${skipTests} + + -XX:+AllowRedefinitionToAddDeleteMethods + + --add-opens=java.base/jdk.internal.util.random=ALL-UNNAMED @@ -1008,57 +1012,6 @@ limitations under the License.]]> ${testJavaHome} - - - test-jdk-8 - - [8,) - - - - - test-jdk-11 - - [11,) - - - - - test-jdk-14 - - [14,) - - - - -XX:+AllowRedefinitionToAddDeleteMethods - - - - - test-jdk-17 - - [17,) - - - - -XX:+AllowRedefinitionToAddDeleteMethods - - --add-opens java.base/jdk.internal.util.random=ALL-UNNAMED - - - - - test-jdk-21 - - [21,) - - - - -XX:+AllowRedefinitionToAddDeleteMethods - - --add-opens=java.base/jdk.internal.util.random=ALL-UNNAMED - - From d696fcd4d3231e1e6c6421d7dc6ed8c7357b622c Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 15:56:20 -0500 Subject: [PATCH 12/15] A few more Jenkinsfile fixes --- Jenkinsfile-datastax | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 412b033b1fc..ca124d51d46 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -100,7 +100,7 @@ ENVIRONMENT_EOF } def buildDriver() { - def buildDriverScript = '''#!/bin/bash -le + sh label: 'Build driver', script: '''#!/bin/bash -le . ${JABBA_SHELL} jabba use ${JABBA_VERSION} @@ -109,7 +109,6 @@ def buildDriver() { mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true ''' - sh label: 'Build driver', script: buildDriverScript } def executeTests() { @@ -443,7 +442,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('openjdk@1.17') + buildDriver() } } stage('Execute-Tests') { @@ -558,7 +557,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('openjdk@1.17') + buildDriver() } } stage('Execute-Tests') { From 2e35151b385df45e203f06a37d5347c8b6dc7951 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 16:03:20 -0500 Subject: [PATCH 13/15] Still more Jenkins fixes --- Jenkinsfile-datastax | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index ca124d51d46..3c76b8fd1af 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -317,7 +317,7 @@ pipeline { name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_JABBA_VERSION', choices: [ 'openjdk@1.17', // OpenJDK version 17 - 'openjdk@1.21' // OpenJDK version 21 + 'openjdk@21' // OpenJDK version 21 ], description: '''JDK version to use for TESTING when running adhoc BUILD-AND-EXECUTE-TESTS builds. All builds will use JDK8 for building the driver @@ -332,7 +332,7 @@ pipeline { - +
OpenJDK version 17
openjdk@1.21openjdk@21 OpenJDK version 21
''') @@ -416,7 +416,7 @@ pipeline { axis { name 'JABBA_VERSION' values 'openjdk@1.17', // jdk17 - 'openjdk@1.21' // jdk21 + 'openjdk@21' // jdk21 } } From b70bd2f0c3442b0f932a204c3ea7e5f1762fc0cc Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 16:09:52 -0500 Subject: [PATCH 14/15] Yet more Jenkinsfile fixes 'cause I love them so --- Jenkinsfile-datastax | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 3c76b8fd1af..5ccae1bf2b0 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -103,9 +103,9 @@ def buildDriver() { sh label: 'Build driver', script: '''#!/bin/bash -le . ${JABBA_SHELL} - jabba use ${JABBA_VERSION} + jabba use ${BUILD_JAVA_VERSION} - echo "Building with Java version ${JABBA_VERSION}" + echo "Building with Java version ${BUILD_JAVA_VERSION}" mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true ''' @@ -124,7 +124,7 @@ def executeTests() { set +o allexport . ${JABBA_SHELL} - jabba use ${JABBA_VERSION} + jabba use ${BUILD_JAVA_VERSION} INTEGRATION_TESTS_FILTER_ARGUMENT="" if [ ! -z "${INTEGRATION_TESTS_FILTER}" ]; then @@ -380,6 +380,7 @@ pipeline { environment { OS_VERSION = 'ubuntu/focal64/java-driver' JABBA_SHELL = '/usr/lib/jabba/jabba.sh' + BUILD_JAVA_VERSION = "openjdk@1.17" CCM_ENVIRONMENT_SHELL = '/usr/local/bin/ccm_environment.sh' SERIAL_ITS_ARGUMENT = "-DskipSerialITs=${params.SKIP_SERIAL_ITS}" ISOLATED_ITS_ARGUMENT = "-DskipIsolatedITs=${params.SKIP_ISOLATED_ITS}" From 0cec8261455718021843a9480d04e43526fb6d54 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Thu, 20 Aug 2026 16:40:48 -0500 Subject: [PATCH 15/15] I think this is the last round of Jenkinsfile fixes... but I've been wrong before --- Jenkinsfile-datastax | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 5ccae1bf2b0..84d4643e1d8 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -46,9 +46,9 @@ def initializeEnvironment() { env.JAVA8_HOME = sh(label: 'Get JAVA8_HOME (in case ccm needs it)',script: '''#!/bin/bash -le . ${JABBA_SHELL} jabba which 1.8''', returnStdout: true).trim() - env.JAVA11_HOME = sh(label: 'Get JAVA11_HOME (in case ccm needs it)',script: '''#!/bin/bash -le + env.JAVA11_HOME = sh(label: 'Get JAVA11_HOME (in case ccm needs it)',script: '''#!/bin/bash -le . ${JABBA_SHELL} - jabba which openjdk@1.11''', returnStdout: true).trim() + jabba which openjdk@11''', returnStdout: true).trim() sh label: 'Download Apache CassandraⓇ, DataStax Enterprise or DataStax HCD ',script: '''#!/bin/bash -le . ${JABBA_SHELL}