diff --git a/neptune-tinkerpop/.gitignore b/neptune-tinkerpop/.gitignore index 8ee4623..8fbc6ee 100644 --- a/neptune-tinkerpop/.gitignore +++ b/neptune-tinkerpop/.gitignore @@ -1,2 +1,3 @@ *.class target/ +*.kryo \ No newline at end of file diff --git a/neptune-tinkerpop/3.4.13/pom.xml b/neptune-tinkerpop/3.7.2/pom.xml similarity index 90% rename from neptune-tinkerpop/3.4.13/pom.xml rename to neptune-tinkerpop/3.7.2/pom.xml index 4a26bce..1ac56c6 100644 --- a/neptune-tinkerpop/3.4.13/pom.xml +++ b/neptune-tinkerpop/3.7.2/pom.xml @@ -17,18 +17,17 @@ org.apache.tinkerpop gremlin-core - 3.4.13 + 3.7.2 org.apache.tinkerpop tinkergraph-gremlin - 3.4.13 + 3.7.2 org.apache.tinkerpop gremlin-test - 3.4.13 + 3.7.2 - diff --git a/neptune-tinkerpop/3.4.13/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java b/neptune-tinkerpop/3.7.2/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java similarity index 97% rename from neptune-tinkerpop/3.4.13/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java rename to neptune-tinkerpop/3.7.2/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java index e349b96..88f82d3 100644 --- a/neptune-tinkerpop/3.4.13/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java +++ b/neptune-tinkerpop/3.7.2/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/HasContainer.java @@ -21,6 +21,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Compare; import org.apache.tinkerpop.gremlin.process.traversal.Contains; import org.apache.tinkerpop.gremlin.process.traversal.P; +import org.apache.tinkerpop.gremlin.process.traversal.PBiPredicate; import org.apache.tinkerpop.gremlin.structure.Element; import org.apache.tinkerpop.gremlin.structure.Property; import org.apache.tinkerpop.gremlin.structure.T; @@ -98,7 +99,7 @@ protected boolean testLabel(final Element element) { // add comparison predicates to support the multi-label syntax `label1::label2::label3` - class LabelEquals implements BiPredicate { + class LabelEquals implements PBiPredicate { public boolean test(String label, String otherLabel) { if (label == null) return false; for (String partialLabel: label.split(LABEL_DELIMITER)) { @@ -110,7 +111,7 @@ public boolean test(String label, String otherLabel) { } } - class LabelWithin implements BiPredicate> { + class LabelWithin implements PBiPredicate> { public boolean test(String label, List labels) { if (label == null) return false; for (String partialLabel: label.split(LABEL_DELIMITER)) { diff --git a/neptune-tinkerpop/3.4.13/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasLabelTest.java b/neptune-tinkerpop/3.7.2/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasLabelTest.java similarity index 100% rename from neptune-tinkerpop/3.4.13/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasLabelTest.java rename to neptune-tinkerpop/3.7.2/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasLabelTest.java diff --git a/neptune-tinkerpop/3.4.13/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java b/neptune-tinkerpop/3.7.2/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java similarity index 99% rename from neptune-tinkerpop/3.4.13/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java rename to neptune-tinkerpop/3.7.2/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java index 0efd240..3254aa1 100644 --- a/neptune-tinkerpop/3.4.13/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java +++ b/neptune-tinkerpop/3.7.2/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphProvider.java @@ -18,7 +18,7 @@ */ package org.apache.tinkerpop.gremlin.tinkergraph; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; import org.apache.tinkerpop.gremlin.AbstractGraphProvider; import org.apache.tinkerpop.gremlin.LoadGraphWith; import org.apache.tinkerpop.gremlin.TestHelper; diff --git a/neptune-tinkerpop/build.sh b/neptune-tinkerpop/build.sh index b57b576..f92c0fd 100755 --- a/neptune-tinkerpop/build.sh +++ b/neptune-tinkerpop/build.sh @@ -2,7 +2,7 @@ runDir=$(pwd) -versions=("3.4.13" "3.6.2") +versions=("3.6.2" "3.7.2") for version in "${versions[@]}"; do ( cd $version diff --git a/neptune-tinkerpop/gremlin-core-3.4.13-patches.zip b/neptune-tinkerpop/gremlin-core-3.4.13-patches.zip deleted file mode 100644 index 352a240..0000000 Binary files a/neptune-tinkerpop/gremlin-core-3.4.13-patches.zip and /dev/null differ diff --git a/neptune-tinkerpop/gremlin-core-3.6.2-patches.zip b/neptune-tinkerpop/gremlin-core-3.6.2-patches.zip index b42e788..c3d38ff 100644 Binary files a/neptune-tinkerpop/gremlin-core-3.6.2-patches.zip and b/neptune-tinkerpop/gremlin-core-3.6.2-patches.zip differ diff --git a/neptune-tinkerpop/gremlin-core-3.7.2-patches.zip b/neptune-tinkerpop/gremlin-core-3.7.2-patches.zip new file mode 100644 index 0000000..85d33ca Binary files /dev/null and b/neptune-tinkerpop/gremlin-core-3.7.2-patches.zip differ diff --git a/tinkerpop-id-manager/3.6/build.gradle.kts b/tinkerpop-id-manager/3.6/build.gradle.kts new file mode 100644 index 0000000..fcc664b --- /dev/null +++ b/tinkerpop-id-manager/3.6/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + java +} + +repositories { + mavenCentral() +} + +dependencies { + implementation("org.apache.tinkerpop:tinkergraph-gremlin:3.6.2") +} + +tasks.jar { + archiveFileName.set("${rootProject.name}.jar") + destinationDirectory.set(rootDir) +} \ No newline at end of file diff --git a/tinkerpop-id-manager/src/main/java/cloud/localstack/UUIDAnyIdManager.java b/tinkerpop-id-manager/3.6/src/main/java/cloud/localstack/UUIDAnyIdManager.java similarity index 100% rename from tinkerpop-id-manager/src/main/java/cloud/localstack/UUIDAnyIdManager.java rename to tinkerpop-id-manager/3.6/src/main/java/cloud/localstack/UUIDAnyIdManager.java diff --git a/tinkerpop-id-manager/3.7/build.gradle.kts b/tinkerpop-id-manager/3.7/build.gradle.kts new file mode 100644 index 0000000..c666984 --- /dev/null +++ b/tinkerpop-id-manager/3.7/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + java +} + +repositories { + mavenCentral() +} + +dependencies { + implementation("org.apache.tinkerpop:tinkergraph-gremlin:3.7.2") +} + +tasks.jar { + archiveFileName.set("${rootProject.name}-37.jar") + destinationDirectory.set(rootDir) +} \ No newline at end of file diff --git a/tinkerpop-id-manager/3.7/src/main/java/cloud/localstack/UUIDAnyIdManager.java b/tinkerpop-id-manager/3.7/src/main/java/cloud/localstack/UUIDAnyIdManager.java new file mode 100644 index 0000000..398ae24 --- /dev/null +++ b/tinkerpop-id-manager/3.7/src/main/java/cloud/localstack/UUIDAnyIdManager.java @@ -0,0 +1,29 @@ +package cloud.localstack; + + +import org.apache.tinkerpop.gremlin.tinkergraph.structure.AbstractTinkerGraph; + +import java.util.UUID; + +public class UUIDAnyIdManager implements AbstractTinkerGraph.IdManager { + @Override + public String getNextId(final AbstractTinkerGraph graph) { + return UUID.randomUUID().toString(); + } + + @Override + public String convert(final Object id) { + if (null == id) { + return null; + } + if (!(id instanceof String)) { + throw new IllegalArgumentException(String.format("Expected an id that is String but received %s - [%s]", id.getClass(), id)); + } + return (String) id; + } + + @Override + public boolean allow(final Object id) { + return id instanceof String; + } +} diff --git a/tinkerpop-id-manager/build.gradle.kts b/tinkerpop-id-manager/build.gradle.kts index 27eb1b2..b6517eb 100644 --- a/tinkerpop-id-manager/build.gradle.kts +++ b/tinkerpop-id-manager/build.gradle.kts @@ -11,7 +11,6 @@ repositories { dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.0") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - implementation("org.apache.tinkerpop:tinkergraph-gremlin:3.4.10") } tasks.getByName("test") { diff --git a/tinkerpop-id-manager/settings.gradle.kts b/tinkerpop-id-manager/settings.gradle.kts index 8b5d975..28fa757 100644 --- a/tinkerpop-id-manager/settings.gradle.kts +++ b/tinkerpop-id-manager/settings.gradle.kts @@ -8,3 +8,5 @@ */ rootProject.name = "tinkerpop-id-manager" + +include("3.6", "3.7") \ No newline at end of file diff --git a/tinkerpop-id-manager/tinkerpop-id-manager-37.jar b/tinkerpop-id-manager/tinkerpop-id-manager-37.jar new file mode 100644 index 0000000..b66b435 Binary files /dev/null and b/tinkerpop-id-manager/tinkerpop-id-manager-37.jar differ diff --git a/tinkerpop-id-manager/tinkerpop-id-manager.jar b/tinkerpop-id-manager/tinkerpop-id-manager.jar index 066e03e..3620cbb 100644 Binary files a/tinkerpop-id-manager/tinkerpop-id-manager.jar and b/tinkerpop-id-manager/tinkerpop-id-manager.jar differ