[1/3] tinkerpop git commit: TINKERPOP-2041 Fixed .NET tests around TP predicates [Forced Update!]
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-2041 8f07a510b -> 4b145156d (forced update) TINKERPOP-2041 Fixed .NET tests around TP predicates Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4b145156 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4b145156 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4b145156 Branch: refs/heads/TINKERPOP-2041 Commit: 4b145156d436117caaca372668fe20106e390eaf Parents: b2d043e Author: Stephen Mallette Authored: Fri Sep 28 08:27:25 2018 -0400 Committer: Daniel Kuppitz Committed: Fri Sep 28 12:56:27 2018 -0700 -- .../src/Gremlin.Net/Process/Traversal/TP.cs | 2 +- .../Gherkin/TraversalEvaluation/TPParameter.cs | 97 .../TraversalEvaluation/TraversalParser.cs | 4 + 3 files changed, 102 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4b145156/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs -- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs index ac6415d..abebd1e 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs @@ -39,7 +39,7 @@ namespace Gremlin.Net.Process.Traversal public class TP : P { /// -/// Initializes a new instance of the class. +/// Initializes a new instance of the class. /// /// The name of the predicate. /// The value of the predicate. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4b145156/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs -- diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs new file mode 100644 index 000..9100c6f --- /dev/null +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs @@ -0,0 +1,97 @@ +#region License + +/* + * 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. + */ + +#endregion + +using System; +using System.Collections.Generic; +using System.Dynamic; +using System.Linq; +using System.Reflection; +using Gremlin.Net.Process.Traversal; + +namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation +{ +/// +/// Represents a parameter for a traversal predicate (ie: TP.contains()) +/// +internal class TPParameter : ITokenParameter, IEquatable +{ +private IDictionary _contextParameterValues; +public IList Tokens { get; } + +public TPParameter(IList tokens) +{ +Tokens = tokens; +} + +public bool Equals(TPParameter other) +{ +return Tokens.SequenceEqual(other.Tokens); +} + +public override bool Equals(object obj) +{ +if (ReferenceEquals(null, obj)) return false; +if (ReferenceEquals(this, obj)) return true; +if (obj.GetType() != GetType()) return false; +return Equals((TPParameter) obj); +} + +public override int GetHashCode() +{ +return Tokens != null ? Tokens.GetHashCode() : 0; +} + +public object GetValue() +{ +var type = typeof(TP); +object instance = null; +for (var i = 1; i < Tokens.Count; i++) +{ +var token = Tokens[i]; +token.SetContextParameterValues(_contextParameterValues); +var method = type.GetMethod(TraversalParser.GetCsharpName(token.Name), +BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public); +if (method == null) +{ +
[3/3] tinkerpop git commit: TINKERPOP-2041 Implemented text predicates
TINKERPOP-2041 Implemented text predicates Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9d83f8af Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9d83f8af Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9d83f8af Branch: refs/heads/TINKERPOP-2041 Commit: 9d83f8af6562a54d6e2a200e35de145b9ca26062 Parents: cce3fe6 Author: Daniel Kuppitz Authored: Wed Sep 26 15:44:35 2018 -0700 Committer: Daniel Kuppitz Committed: Fri Sep 28 12:56:27 2018 -0700 -- CHANGELOG.asciidoc | 1 + docs/src/reference/the-traversal.asciidoc | 34 +++-- docs/src/upgrade/release-3.4.x.asciidoc | 15 +++ .../tinkerpop/gremlin/jsr223/CoreImports.java | 3 + .../tinkerpop/gremlin/process/traversal/TP.java | 107 .../gremlin/process/traversal/Text.java | 123 +++ .../structure/io/graphson/GraphSONModule.java | 5 + .../io/graphson/TraversalSerializersV2d0.java | 35 ++ .../io/graphson/TraversalSerializersV3d0.java | 35 ++ .../structure/io/gryo/GryoSerializersV1d0.java | 21 .../structure/io/gryo/GryoSerializersV3d0.java | 21 .../gremlin/structure/io/gryo/GryoVersion.java | 7 +- .../gremlin/process/traversal/PTest.java| 15 +++ .../GraphSONMapperPartialEmbeddedTypeTest.java | 14 ++- gremlin-dotnet/glv/TP.template | 71 +++ gremlin-dotnet/glv/generate.groovy | 14 ++- .../src/Gremlin.Net/Process/Traversal/TP.cs | 96 +++ .../Structure/IO/GraphSON/GraphSONWriter.cs | 3 +- .../Structure/IO/GraphSON/TPSerializer.cs | 45 +++ .../gremlin/groovy/jsr223/GroovyTranslator.java | 7 ++ gremlin-javascript/glv/TraversalSource.template | 45 ++- gremlin-javascript/glv/generate.groovy | 7 ++ .../main/javascript/gremlin-javascript/index.js | 1 + .../gremlin-javascript/lib/process/traversal.js | 63 +- .../lib/structure/io/type-serializers.js| 24 +++- .../test/cucumber/feature-steps.js | 1 + gremlin-python/glv/TraversalSource.template | 21 +++- gremlin-python/glv/generate.groovy | 9 +- .../gremlin/python/jsr223/PythonTranslator.java | 7 ++ .../jython/gremlin_python/process/traversal.py | 63 +- .../gremlin_python/structure/io/graphsonV2d0.py | 13 +- .../gremlin_python/structure/io/graphsonV3d0.py | 13 +- .../src/main/jython/radish/feature_steps.py | 3 +- gremlin-test/features/filter/Has.feature| 57 - .../process/traversal/step/filter/HasTest.java | 86 + 35 files changed, 1056 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9d83f8af/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 5e63da0..e6f3cd8 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -25,6 +25,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima This release also includes changes from <>. +* Added text predicates. * Rewrote `ConnectiveStrategy` to support an arbitrary number of infix notations in a single traversal. * GraphSON `MessageSerializer`s will automatically register the GremlinServerModule to a provided GraphSONMapper. * Removed support for `-i` option in Gremlin Server which was previously deprecated. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9d83f8af/docs/src/reference/the-traversal.asciidoc -- diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc index 6146f9b..da7260c 100644 --- a/docs/src/reference/the-traversal.asciidoc +++ b/docs/src/reference/the-traversal.asciidoc @@ -3356,24 +3356,32 @@ interface. Steps that allow for this type of modulation will explicitly state so [[a-note-on-predicates]] == A Note on Predicates -A `P` is a predicate of the form `Function`. That is, given some object, return true or false. The -provided predicates are outlined in the table below and are used in various steps such as <>-step, +A `P` is a predicate of the form `Function`. That is, given some object, return true or false. As of +the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, which only work on `String` values. The `TP` +text predicates extends the `P` predicates, but are specialized in that they are of the form `Function`. +The provided predicates are outlined in the table below and are used in various steps such as <>-step, <>-step, <>-step, etc. [width="100%",cols="3,15",options="header"]
[2/3] tinkerpop git commit: TINKERPOP-2041 Fixed gremlin-javascript serializers for TP
TINKERPOP-2041 Fixed gremlin-javascript serializers for TP Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b2d043e8 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b2d043e8 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b2d043e8 Branch: refs/heads/TINKERPOP-2041 Commit: b2d043e8e98856780defff99cd47ad1bf183a974 Parents: 9d83f8a Author: Stephen Mallette Authored: Thu Sep 27 16:33:26 2018 -0400 Committer: Daniel Kuppitz Committed: Fri Sep 28 12:56:27 2018 -0700 -- .../gremlin-javascript/lib/structure/io/graph-serializer.js| 2 ++ .../gremlin-javascript/lib/structure/io/type-serializers.js| 1 + 2 files changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b2d043e8/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js -- diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js index 9ce1761..fca8375 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js @@ -162,6 +162,7 @@ const deserializers = { 'g:Property': typeSerializers.PropertySerializer, 'g:Path': typeSerializers.Path3Serializer, 'g:T': typeSerializers.TSerializer, + 'g:TP': typeSerializers.TPSerializer, 'g:List': typeSerializers.ListSerializer, 'g:Set': typeSerializers.SetSerializer, 'g:Map': typeSerializers.MapSerializer @@ -173,6 +174,7 @@ const serializers = [ typeSerializers.BytecodeSerializer, typeSerializers.TraverserSerializer, typeSerializers.PSerializer, + typeSerializers.TPSerializer, typeSerializers.LambdaSerializer, typeSerializers.EnumSerializer, typeSerializers.VertexSerializer, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b2d043e8/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js -- diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js index ca81c2a..576c721 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js @@ -406,6 +406,7 @@ module.exports = { PathSerializer, PropertySerializer, PSerializer, + TPSerializer, SetSerializer, TSerializer, TraverserSerializer,
tinkerpop git commit: TINKERPOP-2044 Configurable traversal to validate host connectivity.
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-2044 [created] bd1760f56 TINKERPOP-2044 Configurable traversal to validate host connectivity. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd1760f5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd1760f5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd1760f5 Branch: refs/heads/TINKERPOP-2044 Commit: bd1760f56a1e70cc49f4129a367c60e748aa54ad Parents: 0403156 Author: Stephen Mallette Authored: Fri Sep 28 15:54:30 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 15:54:30 2018 -0400 -- CHANGELOG.asciidoc | 1 + .../src/reference/gremlin-applications.asciidoc | 1 + .../tinkerpop/gremlin/driver/Cluster.java | 31 ++-- .../gremlin/driver/ConnectionPool.java | 3 +- .../tinkerpop/gremlin/driver/Settings.java | 15 +++--- .../tinkerpop/gremlin/driver/SettingsTest.java | 8 +++-- .../server/GremlinDriverIntegrateTest.java | 26 +++- 7 files changed, 74 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd1760f5/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 6d9770f..63bb1ad 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -37,6 +37,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Added synchronized `Map` to Gryo 1.0 registrations. * Added `Triple` to Gryo 1.0 registrations. * Improved escaping of special characters in strings passed to the `GroovyTranslator`. +* Added `Cluster` configuration option to set a custom validation script to use to test server connectivity in the Java driver. * Added better internal processing of `Column` in `by(Function)`. * Added `hasNext()` support on `Traversal` for `gremlin-python`. * Added support for additional extended types in Gremlin.Net with `decimal`, `TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd1760f5/docs/src/reference/gremlin-applications.asciidoc -- diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc index 1cd9964..5607667 100644 --- a/docs/src/reference/gremlin-applications.asciidoc +++ b/docs/src/reference/gremlin-applications.asciidoc @@ -750,6 +750,7 @@ The following table describes the various configuration options for the Gremlin |connectionPool.sslSkipCertValidation |Configures the `TrustManager` to trust all certs without any validation. Should not be used in production.|false |connectionPool.trustStore |File location for a SSL Certificate Chain to use when SSL is enabled. If this value is not provided and SSL is enabled, the default `TrustManager` will be used. |_none_ |connectionPool.trustStorePassword |The password of the `trustStore` if it is password-protected |_none_ +|connectionPool.validationRequest |A script that is used to test server connectivity. A good script to use is one that evaluates quickly and returns no data. The default simply returns an empty string, but if a graph is required by a particular provider, a good traversal might be `g.inject()`. |_''_ |hosts |The list of hosts that the driver will connect to. |localhost |jaasEntry |Sets the `AuthProperties.Property.JAAS_ENTRY` properties for authentication to Gremlin Server. |_none_ |nioPoolSize |Size of the pool for handling request/response operations. |available processors http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd1760f5/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java -- diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java index 9adaaa1..c1a1a52 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java @@ -25,11 +25,16 @@ import io.netty.handler.ssl.SslContextBuilder; import io.netty.handler.ssl.SslProvider; import io.netty.handler.ssl.util.InsecureTrustManagerFactory; import org.apache.commons.configuration.Configuration; +import org.apache.tinkerpop.gremlin.driver.message.RequestMessage; import org.apache.tinkerpop.gremlin.driver.ser.Serializers; import io.netty.bootstrap.Bootstrap; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import
[2/3] tinkerpop git commit: Merge branch 'tp32' into tp33
Merge branch 'tp32' into tp33 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8b4f86f0 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8b4f86f0 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8b4f86f0 Branch: refs/heads/master Commit: 8b4f86f0b36428dfcb6d6b9914b8afccf8ba1ec2 Parents: 0f37b2e 0403156 Author: Stephen Mallette Authored: Fri Sep 28 09:25:19 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 09:25:19 2018 -0400 -- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b4f86f0/.gitignore --
[1/2] tinkerpop git commit: Updated .gitignore for rider users CTR
Repository: tinkerpop Updated Branches: refs/heads/tp33 0f37b2ef1 -> 8b4f86f0b Updated .gitignore for rider users CTR Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/04031566 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/04031566 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/04031566 Branch: refs/heads/tp33 Commit: 04031566378fbc2cec277ab0a2e337ee77529b7a Parents: 03c3e48 Author: Stephen Mallette Authored: Fri Sep 28 09:24:55 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 09:24:55 2018 -0400 -- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04031566/.gitignore -- diff --git a/.gitignore b/.gitignore index fa8dac6..61da26c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ *.log target/ *.iml -.idea/ +**/.idea/ *.iws *.DS_Store *.ipr
tinkerpop git commit: Updated .gitignore for rider users CTR
Repository: tinkerpop Updated Branches: refs/heads/tp32 03c3e48ef -> 040315663 Updated .gitignore for rider users CTR Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/04031566 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/04031566 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/04031566 Branch: refs/heads/tp32 Commit: 04031566378fbc2cec277ab0a2e337ee77529b7a Parents: 03c3e48 Author: Stephen Mallette Authored: Fri Sep 28 09:24:55 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 09:24:55 2018 -0400 -- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04031566/.gitignore -- diff --git a/.gitignore b/.gitignore index fa8dac6..61da26c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ *.log target/ *.iml -.idea/ +**/.idea/ *.iws *.DS_Store *.ipr
[2/2] tinkerpop git commit: Merge branch 'tp32' into tp33
Merge branch 'tp32' into tp33 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8b4f86f0 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8b4f86f0 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8b4f86f0 Branch: refs/heads/tp33 Commit: 8b4f86f0b36428dfcb6d6b9914b8afccf8ba1ec2 Parents: 0f37b2e 0403156 Author: Stephen Mallette Authored: Fri Sep 28 09:25:19 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 09:25:19 2018 -0400 -- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b4f86f0/.gitignore --
[1/3] tinkerpop git commit: Updated .gitignore for rider users CTR
Repository: tinkerpop Updated Branches: refs/heads/master 8d722f1fa -> 0d8cf1663 Updated .gitignore for rider users CTR Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/04031566 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/04031566 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/04031566 Branch: refs/heads/master Commit: 04031566378fbc2cec277ab0a2e337ee77529b7a Parents: 03c3e48 Author: Stephen Mallette Authored: Fri Sep 28 09:24:55 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 09:24:55 2018 -0400 -- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/04031566/.gitignore -- diff --git a/.gitignore b/.gitignore index fa8dac6..61da26c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ *.log target/ *.iml -.idea/ +**/.idea/ *.iws *.DS_Store *.ipr
[3/3] tinkerpop git commit: Merge branch 'tp33'
Merge branch 'tp33' Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0d8cf166 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0d8cf166 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0d8cf166 Branch: refs/heads/master Commit: 0d8cf166384be3f0c367c8423f7b19ed67adbd84 Parents: 8d722f1 8b4f86f Author: Stephen Mallette Authored: Fri Sep 28 09:25:26 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 09:25:26 2018 -0400 -- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --
[1/2] tinkerpop git commit: TINKERPOP-2039 Bump to Groovy 2.5.2
Repository: tinkerpop Updated Branches: refs/heads/master 19d533fb2 -> 8d722f1fa TINKERPOP-2039 Bump to Groovy 2.5.2 Required some minor changes to the Console as the CliBuilder is no longer the recommended approach for Groovy - had to use picocli classes instead. Still couldn't make the command line parsing work exclusively under picocli - I think we have somewhat nonstandard options in our command line. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/80242be3 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/80242be3 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/80242be3 Branch: refs/heads/master Commit: 80242be387e6d3b4daa0a7b045d7a4f463123321 Parents: 1e3d4d2 Author: Stephen Mallette Authored: Wed Sep 19 10:50:20 2018 -0400 Committer: Stephen Mallette Committed: Thu Sep 27 15:38:52 2018 -0400 -- CHANGELOG.asciidoc | 1 + gremlin-console/pom.xml | 5 --- .../tinkerpop/gremlin/console/Console.groovy| 34 +++- gremlin-dotnet/pom.xml | 2 +- gremlin-javascript/pom.xml | 2 +- gremlin-python/pom.xml | 2 +- pom.xml | 2 +- 7 files changed, 23 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80242be3/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index efb3e43..ae46ad4 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -37,6 +37,7 @@ This release also includes changes from <>. * Maintained order of annotations in metrics returned from `profile()`-step. * Bumped to Netty 4.1.25. * Bumped to Spark 2.3.1. +* Bumped to Groovy 2.5.2. * Modified Gremlin Server to return a "host" status attribute on responses. * Added ability to the Java, .NET and Python drivers to retrieve status attributes returned from the server. * Modified Java and Gremlin.Net `ResponseException` to include status code and status attributes. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80242be3/gremlin-console/pom.xml -- diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml index 3b650ee..615af4e 100644 --- a/gremlin-console/pom.xml +++ b/gremlin-console/pom.xml @@ -41,11 +41,6 @@ limitations under the License. httpclient -commons-cli -commons-cli -1.2 - - org.apache.tinkerpop gremlin-driver ${project.version} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80242be3/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy -- diff --git a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy index d45b49a..1e05864 100644 --- a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy +++ b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy @@ -18,10 +18,11 @@ */ package org.apache.tinkerpop.gremlin.console +import groovy.cli.picocli.CliBuilder +import groovy.cli.picocli.OptionAccessor import jline.TerminalFactory import jline.console.history.FileHistory -import org.apache.commons.cli.Option import org.apache.tinkerpop.gremlin.console.commands.GremlinSetCommand import org.apache.tinkerpop.gremlin.console.commands.InstallCommand import org.apache.tinkerpop.gremlin.console.commands.PluginCommand @@ -43,8 +44,8 @@ import org.codehaus.groovy.tools.shell.Groovysh import org.codehaus.groovy.tools.shell.IO import org.codehaus.groovy.tools.shell.InteractiveShellRunner import org.codehaus.groovy.tools.shell.commands.SetCommand -import org.codehaus.groovy.tools.shell.util.HelpFormatter import org.fusesource.jansi.Ansi +import picocli.CommandLine /** * @author Stephen Mallette (http://stephen.genoprime.com) @@ -400,21 +401,22 @@ class Console { IO io = new IO(System.in, System.out, System.err) -final CliBuilder cli = new CliBuilder(usage: 'gremlin.sh [options] [...]', formatter: new HelpFormatter(), stopAtNonOption: false) +final CliBuilder cli = new CliBuilder() +cli.stopAtNonOption = false +cli.name = "gremlin.sh" // note that the inclusion of -l is really a setting handled by gremlin.sh and not by Console class itself. // it is mainly listed here for informational purposes when the user starts
[2/2] tinkerpop git commit: Merge branch 'TINKERPOP-2039'
Merge branch 'TINKERPOP-2039' Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8d722f1f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8d722f1f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8d722f1f Branch: refs/heads/master Commit: 8d722f1fa4ce5b56a841da4decc2e4ff5afeabda Parents: 19d533f 80242be Author: Stephen Mallette Authored: Fri Sep 28 08:29:24 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 08:29:24 2018 -0400 -- CHANGELOG.asciidoc | 1 + gremlin-console/pom.xml | 5 --- .../tinkerpop/gremlin/console/Console.groovy| 34 +++- gremlin-dotnet/pom.xml | 2 +- gremlin-javascript/pom.xml | 2 +- gremlin-python/pom.xml | 2 +- pom.xml | 2 +- 7 files changed, 23 insertions(+), 25 deletions(-) --
tinkerpop git commit: TINKERPOP-2041 Fixed .NET tests around TP predicates
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-2041 6245880e6 -> 8f07a510b TINKERPOP-2041 Fixed .NET tests around TP predicates Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8f07a510 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8f07a510 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8f07a510 Branch: refs/heads/TINKERPOP-2041 Commit: 8f07a510b634c63d1eb82408c4b28793534b7114 Parents: 6245880 Author: Stephen Mallette Authored: Fri Sep 28 08:27:25 2018 -0400 Committer: Stephen Mallette Committed: Fri Sep 28 08:27:25 2018 -0400 -- .../src/Gremlin.Net/Process/Traversal/TP.cs | 2 +- .../Gherkin/TraversalEvaluation/TPParameter.cs | 97 .../TraversalEvaluation/TraversalParser.cs | 4 + 3 files changed, 102 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f07a510/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs -- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs index ac6415d..abebd1e 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs @@ -39,7 +39,7 @@ namespace Gremlin.Net.Process.Traversal public class TP : P { /// -/// Initializes a new instance of the class. +/// Initializes a new instance of the class. /// /// The name of the predicate. /// The value of the predicate. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8f07a510/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs -- diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs new file mode 100644 index 000..9100c6f --- /dev/null +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs @@ -0,0 +1,97 @@ +#region License + +/* + * 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. + */ + +#endregion + +using System; +using System.Collections.Generic; +using System.Dynamic; +using System.Linq; +using System.Reflection; +using Gremlin.Net.Process.Traversal; + +namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation +{ +/// +/// Represents a parameter for a traversal predicate (ie: TP.contains()) +/// +internal class TPParameter : ITokenParameter, IEquatable +{ +private IDictionary _contextParameterValues; +public IList Tokens { get; } + +public TPParameter(IList tokens) +{ +Tokens = tokens; +} + +public bool Equals(TPParameter other) +{ +return Tokens.SequenceEqual(other.Tokens); +} + +public override bool Equals(object obj) +{ +if (ReferenceEquals(null, obj)) return false; +if (ReferenceEquals(this, obj)) return true; +if (obj.GetType() != GetType()) return false; +return Equals((TPParameter) obj); +} + +public override int GetHashCode() +{ +return Tokens != null ? Tokens.GetHashCode() : 0; +} + +public object GetValue() +{ +var type = typeof(TP); +object instance = null; +for (var i = 1; i < Tokens.Count; i++) +{ +var token = Tokens[i]; +token.SetContextParameterValues(_contextParameterValues); +var method = type.GetMethod(TraversalParser.GetCsharpName(token.Name), +BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public); +if (method == null) +{ +