You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2018/03/14 12:17:54 UTC
[7/7] tinkerpop git commit: Merge branch 'tp32' into tp33
Merge branch 'tp32' into tp33
Conflicts:
gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0c6459d9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0c6459d9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0c6459d9
Branch: refs/heads/tp33
Commit: 0c6459d992f7c643e433e3482d676c7096288438
Parents: 9bd4d7f 1ea01ad
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Mar 14 08:14:54 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Mar 14 08:14:54 2018 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../jsr223/GremlinJythonScriptEngine.java | 7 +--
.../gremlin/python/jsr223/JythonTranslator.java | 28 +++++++++
.../gremlin/python/jsr223/PythonTranslator.java | 35 ++++++-----
.../python/jsr223/JythonTranslatorTest.java | 63 ++++++++++++--------
5 files changed, 89 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c6459d9/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index bbae529,94ee24f..a5aac3d
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -283,9 -32,9 +283,10 @@@ image::https://raw.githubusercontent.co
* Bumped to Jackson 2.9.4.
* Improved performance of `JavaTranslator` by caching reflected methods required for traversal construction.
* Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
+ * Fixed a bug where lambdas in `gremlin-python` would trigger a failure if steps using python-only symbols were present (such as `as_()`).
* Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
* Delayed setting of the request identifier until `RequestMessage` construction by the builder.
+* `ReferenceElement` avoids `UnsupportedOperationException` handling in construction thus improving performance.
* Improved error messaging for failed serialization and deserialization of request/response messages.
* Fixed handling of `Direction.BOTH` in `Messenger` implementations to pass the message to the opposite side of the `StarGraph`.
* Removed hardcoded expectation in metrics serialization test suite as different providers may have different outputs.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c6459d9/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0c6459d9/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
----------------------------------------------------------------------
diff --cc gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
index 568ca03,d8c73f0..b453cd7
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
@@@ -107,14 -110,15 +108,14 @@@ public class PythonTranslator implement
for (final Bytecode.Instruction instruction : bytecode.getInstructions()) {
final String methodName = instruction.getOperator();
final Object[] arguments = instruction.getArguments();
- if (IS_TESTING &&
- instruction.getOperator().equals(TraversalSource.Symbols.withStrategies) &&
- instruction.getArguments()[0].toString().contains("TranslationStrategy"))
- continue;
- else if (0 == arguments.length)
+ if (0 == arguments.length)
- traversalScript.append(".").append(SymbolHelper.toPython(methodName)).append("()");
- else if (methodName.equals("range") && 2 == arguments.length && ((Number) arguments[0]).intValue() != 0) {
+ traversalScript.append(".").append(resolveSymbol(methodName)).append("()");
+ else if (methodName.equals("range") && 2 == arguments.length)
- traversalScript.append("[").append(arguments[0]).append(":").append(arguments[1]).append("]");
+ if (((Number) arguments[0]).longValue() + 1 == ((Number) arguments[1]).longValue())
+ traversalScript.append("[").append(arguments[0]).append("]");
+ else
+ traversalScript.append("[").append(arguments[0]).append(":").append(arguments[1]).append("]");
- } else if (methodName.equals("limit") && 1 == arguments.length)
+ else if (methodName.equals("limit") && 1 == arguments.length)
traversalScript.append("[0:").append(arguments[0]).append("]");
else if (methodName.equals("values") && 1 == arguments.length && traversalScript.length() > 3 && !STEP_NAMES.contains(arguments[0].toString()))
traversalScript.append(".").append(arguments[0]);