diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 602f33101ca..84d4643e1d8 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@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,17 +99,16 @@ ENVIRONMENT_EOF ''' } -def buildDriver(jabbaVersion) { - def buildDriverScript = '''#!/bin/bash -le +def buildDriver() { + sh label: 'Build driver', script: '''#!/bin/bash -le . ${JABBA_SHELL} - jabba use '''+jabbaVersion+''' + jabba use ${BUILD_JAVA_VERSION} - echo "Building with Java version '''+jabbaVersion+'''" + echo "Building with Java version ${BUILD_JAVA_VERSION}" mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true ''' - sh label: 'Build driver', script: buildDriverScript } def executeTests() { @@ -129,13 +124,7 @@ def executeTests() { set +o allexport . ${JABBA_SHELL} - jabba use 1.8 - - if [ "${JABBA_VERSION}" != "1.8" ]; then - SKIP_JAVADOCS=true - else - SKIP_JAVADOCS=false - fi + jabba use ${BUILD_JAVA_VERSION} INTEGRATION_TESTS_FILTER_ARGUMENT="" if [ ! -z "${INTEGRATION_TESTS_FILTER}" ]; then @@ -144,14 +133,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=${SKIP_JAVADOCS} \ + -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} @@ -329,10 +316,8 @@ 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 + '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 @@ -342,20 +327,12 @@ pipeline { - - - - - - - - - +
Choice Description
1.8Oracle JDK version 1.8 (Used for compiling regardless of choice)
openjdk@1.11OpenJDK version 11
openjdk@1.17 OpenJDK version 17
openjdk@1.21openjdk@21 OpenJDK version 21
''') @@ -394,9 +371,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 """ : "") } @@ -404,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}" @@ -439,10 +416,8 @@ pipeline { } axis { name 'JABBA_VERSION' - values '1.8', // jdk8 - 'openjdk@1.11', // jdk11 - 'openjdk@1.17', // jdk17 - 'openjdk@1.21' // jdk21 + values 'openjdk@1.17', // jdk17 + 'openjdk@21' // jdk21 } } @@ -468,7 +443,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('1.8') + buildDriver() } } stage('Execute-Tests') { @@ -583,7 +558,7 @@ pipeline { } stage('Build-Driver') { steps { - buildDriver('1.8') + buildDriver() } } stage('Execute-Tests') { @@ -611,7 +586,7 @@ pipeline { when { allOf { environment name: 'SERVER_VERSION', value: '4.0' - environment name: 'JABBA_VERSION', value: '1.8' + environment name: 'JABBA_VERSION', value: 'openjdk@1.17' } } steps { 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..d06d261b1ab 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 @@ -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/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; 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..fe6ec5e2c5a 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 @@ -291,6 +291,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 947132f9a43..1e8c96005fc 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 @@ -51,6 +51,7 @@ bom + 17 UTF-8 UTF-8 1.4.1 @@ -95,6 +96,10 @@ 22.0.0.2 false ${skipTests} + + -XX:+AllowRedefinitionToAddDeleteMethods + + --add-opens=java.base/jdk.internal.util.random=ALL-UNNAMED @@ -459,7 +464,7 @@ maven-compiler-plugin - 3.8.1 + 3.15.0 com.coveo @@ -486,7 +491,7 @@ maven-shade-plugin - 3.2.3 + 3.6.2 maven-assembly-plugin @@ -615,33 +620,22 @@ 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)/.* + 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 - true + false false - - - org.codehaus.plexus - plexus-compiler-javac-errorprone - 2.8.6 - - - com.google.errorprone - error_prone_core - 2.3.4 - - com.coveo @@ -834,12 +828,13 @@ limitations under the License.]]> com.datastax.oss api-plumber-doclet - 1.0.0 + 2.0.0 -preventleak com.datastax.oss.driver.internal + -preventleak com.datastax.dse.driver.internal -preventleak @@ -1017,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 - - 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