Renamed `TP` to `TextP` as proposed by @robertdale
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f057fb36 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f057fb36 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f057fb36 Branch: refs/heads/TINKERPOP-2041 Commit: f057fb3601ab12dfe8dc10361c9916c904fc5a0d Parents: 79d4a05 Author: Daniel Kuppitz <daniel_kupp...@hotmail.com> Authored: Mon Oct 1 09:27:35 2018 -0700 Committer: Daniel Kuppitz <daniel_kupp...@hotmail.com> Committed: Thu Oct 4 07:45:08 2018 -0700 ---------------------------------------------------------------------- docs/src/reference/the-traversal.asciidoc | 16 +-- docs/src/upgrade/release-3.4.x.asciidoc | 2 +- .../tinkerpop/gremlin/jsr223/CoreImports.java | 6 +- .../tinkerpop/gremlin/process/traversal/TP.java | 107 ------------------- .../gremlin/process/traversal/TextP.java | 107 +++++++++++++++++++ .../structure/io/graphson/GraphSONModule.java | 10 +- .../io/graphson/TraversalSerializersV2d0.java | 12 +-- .../io/graphson/TraversalSerializersV3d0.java | 12 +-- .../structure/io/gryo/GryoSerializersV1d0.java | 10 +- .../structure/io/gryo/GryoSerializersV3d0.java | 10 +- .../gremlin/structure/io/gryo/GryoVersion.java | 6 +- .../gremlin/process/traversal/PTest.java | 28 ++--- .../GraphSONMapperPartialEmbeddedTypeTest.java | 16 +-- gremlin-dotnet/glv/TP.template | 71 ------------ gremlin-dotnet/glv/TextP.template | 71 ++++++++++++ gremlin-dotnet/glv/generate.groovy | 12 +-- .../src/Gremlin.Net/Process/Traversal/TP.cs | 96 ----------------- .../src/Gremlin.Net/Process/Traversal/TextP.cs | 96 +++++++++++++++++ .../Structure/IO/GraphSON/GraphSONWriter.cs | 2 +- .../Structure/IO/GraphSON/TPSerializer.cs | 45 -------- .../Structure/IO/GraphSON/TextPSerializer.cs | 45 ++++++++ .../Gherkin/TraversalEvaluation/TPParameter.cs | 97 ----------------- .../TraversalEvaluation/TextPParameter.cs | 97 +++++++++++++++++ .../TraversalEvaluation/TraversalParser.cs | 6 +- .../gremlin/groovy/jsr223/GroovyTranslator.java | 8 +- gremlin-javascript/glv/TraversalSource.template | 6 +- gremlin-javascript/glv/generate.groovy | 6 +- .../main/javascript/gremlin-javascript/index.js | 2 +- .../gremlin-javascript/lib/process/traversal.js | 6 +- .../lib/structure/io/graph-serializer.js | 4 +- .../lib/structure/io/type-serializers.js | 10 +- .../test/cucumber/feature-steps.js | 2 +- gremlin-python/glv/TraversalSource.template | 6 +- gremlin-python/glv/generate.groovy | 6 +- .../gremlin/python/jsr223/PythonTranslator.java | 8 +- .../jython/gremlin_python/process/traversal.py | 26 ++--- .../gremlin_python/structure/io/graphsonV2d0.py | 8 +- .../gremlin_python/structure/io/graphsonV3d0.py | 8 +- .../src/main/jython/radish/feature_steps.py | 4 +- gremlin-test/features/filter/Has.feature | 10 +- .../process/traversal/step/filter/HasTest.java | 12 +-- 41 files changed, 556 insertions(+), 556 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/docs/src/reference/the-traversal.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc index da7260c..fdd261a 100644 --- a/docs/src/reference/the-traversal.asciidoc +++ b/docs/src/reference/the-traversal.asciidoc @@ -3357,8 +3357,8 @@ interface. Steps that allow for this type of modulation will explicitly state so == A Note on Predicates A `P` is a predicate of the form `Function<Object,Boolean>`. 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<String,Boolean>`. +the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, which only work on `String` values. The `TextP` +text predicates extend the `P` predicates, but are specialized in that they are of the form `Function<String,Boolean>`. The provided predicates are outlined in the table below and are used in various steps such as <<has-step,`has()`>>-step, <<where-step,`where()`>>-step, <<is-step,`is()`>>-step, etc. @@ -3376,12 +3376,12 @@ The provided predicates are outlined in the table below and are used in various | `P.between(number,number)` | Is the incoming number greater than or equal to the first provided number and less than the second? | `P.within(objects...)` | Is the incoming object in the array of provided objects? | `P.without(objects...)` | Is the incoming object not in the array of the provided objects? -| `TP.startsWith(string)` | Does the incoming `String` start with the provided `String`? -| `TP.endsWith(string)` | Does the incoming `String` end with the provided `String`? -| `TP.contains(string)` | Does the incoming `String` contain the provided `String`? -| `TP.startsNotWith(string)` | TODO: find a better name -| `TP.endsNotWith(string)` | TODO: find a better name -| `TP.absent(string)` | TODO: find a better name +| `TextP.startsWith(string)` | Does the incoming `String` start with the provided `String`? +| `TextP.endsWith(string)` | Does the incoming `String` end with the provided `String`? +| `TextP.contains(string)` | Does the incoming `String` contain the provided `String`? +| `TextP.startsNotWith(string)` | TODO: find a better name +| `TextP.endsNotWith(string)` | TODO: find a better name +| `TextP.absent(string)` | TODO: find a better name |========================================================= [gremlin-groovy] http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/docs/src/upgrade/release-3.4.x.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/upgrade/release-3.4.x.asciidoc b/docs/src/upgrade/release-3.4.x.asciidoc index c26b9c7..213577a 100644 --- a/docs/src/upgrade/release-3.4.x.asciidoc +++ b/docs/src/upgrade/release-3.4.x.asciidoc @@ -31,7 +31,7 @@ Please see the link:https://github.com/apache/tinkerpop/blob/3.4.0/CHANGELOG.asc ==== Added text predicates -Gremlin now supports simple text predicates on top of the existing `P` predicates. Both, the new `TP` text predicates and the old `P` predicates, can be chained using `and()` and `or()`. +Gremlin now supports simple text predicates on top of the existing `P` predicates. Both, the new `TextP` text predicates and the old `P` predicates, can be chained using `and()` and `or()`. [source,groovy] ---- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java index 38ef258..d60502a 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java @@ -67,7 +67,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.P; import org.apache.tinkerpop.gremlin.process.traversal.Pop; import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions; import org.apache.tinkerpop.gremlin.process.traversal.Scope; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Translator; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; @@ -182,7 +182,7 @@ public final class CoreImports { CLASS_IMPORTS.add(TraversalOptionParent.class); CLASS_IMPORTS.add(TraversalOptionParent.Pick.class); CLASS_IMPORTS.add(P.class); - CLASS_IMPORTS.add(TP.class); + CLASS_IMPORTS.add(TextP.class); // remote CLASS_IMPORTS.add(RemoteConnection.class); CLASS_IMPORTS.add(RemoteGraph.class); @@ -293,7 +293,7 @@ public final class CoreImports { uniqueMethods(IoCore.class).forEach(METHOD_IMPORTS::add); uniqueMethods(P.class).forEach(METHOD_IMPORTS::add); - uniqueMethods(TP.class).forEach(METHOD_IMPORTS::add); + uniqueMethods(TextP.class).forEach(METHOD_IMPORTS::add); uniqueMethods(__.class).filter(m -> !m.getName().equals("__")).forEach(METHOD_IMPORTS::add); uniqueMethods(Computer.class).forEach(METHOD_IMPORTS::add); uniqueMethods(TimeUtil.class).forEach(METHOD_IMPORTS::add); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TP.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TP.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TP.java deleted file mode 100644 index fc245a4..0000000 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TP.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * 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 org.apache.tinkerpop.gremlin.process.traversal; - -import java.util.function.BiPredicate; - -/** - * @author Daniel Kuppitz (http://gremlin.guru) - */ -public class TP extends P<String> { - - @SuppressWarnings("WeakerAccess") - public TP(final BiPredicate<String, String> biPredicate, final String value) { - super(biPredicate, value); - } - - @Override - public boolean equals(final Object other) { - return other instanceof TP && super.equals(other); - } - - @Override - public String toString() { - return null == this.originalValue ? this.biPredicate.toString() : this.biPredicate.toString() + "(" + this.originalValue + ")"; - } - - @Override - public TP negate() { - return new TP(this.biPredicate.negate(), this.originalValue); - } - - public TP clone() { - return (TP) super.clone(); - } - - //////////////// statics - - /** - * Determines if String does start with the given value. - * - * @since 3.4.0 - */ - public static TP startsWith(final String value) { - return new TP(Text.startsWith, value); - } - - /** - * Determines if String does not start with the given value. - * - * @since 3.4.0 - */ - public static TP startsNotWith(final String value) { - return new TP(Text.startsNotWith, value); - } - - /** - * Determines if String does start with the given value. - * - * @since 3.4.0 - */ - public static TP endsWith(final String value) { - return new TP(Text.endsWith, value); - } - - /** - * Determines if String does not start with the given value. - * - * @since 3.4.0 - */ - public static TP endsNotWith(final String value) { - return new TP(Text.endsNotWith, value); - } - - /** - * Determines if String does contain the given value. - * - * @since 3.4.0 - */ - public static TP contains(final String value) { - return new TP(Text.contains, value); - } - - /** - * Determines if String does not contain the given value. - * - * @since 3.4.0 - */ - public static TP absent(final String value) { - return new TP(Text.absent, value); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TextP.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TextP.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TextP.java new file mode 100644 index 0000000..2b1b976 --- /dev/null +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TextP.java @@ -0,0 +1,107 @@ +/* + * 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 org.apache.tinkerpop.gremlin.process.traversal; + +import java.util.function.BiPredicate; + +/** + * @author Daniel Kuppitz (http://gremlin.guru) + */ +public class TextP extends P<String> { + + @SuppressWarnings("WeakerAccess") + public TextP(final BiPredicate<String, String> biPredicate, final String value) { + super(biPredicate, value); + } + + @Override + public boolean equals(final Object other) { + return other instanceof TextP && super.equals(other); + } + + @Override + public String toString() { + return null == this.originalValue ? this.biPredicate.toString() : this.biPredicate.toString() + "(" + this.originalValue + ")"; + } + + @Override + public TextP negate() { + return new TextP(this.biPredicate.negate(), this.originalValue); + } + + public TextP clone() { + return (TextP) super.clone(); + } + + //////////////// statics + + /** + * Determines if String does start with the given value. + * + * @since 3.4.0 + */ + public static TextP startsWith(final String value) { + return new TextP(Text.startsWith, value); + } + + /** + * Determines if String does not start with the given value. + * + * @since 3.4.0 + */ + public static TextP startsNotWith(final String value) { + return new TextP(Text.startsNotWith, value); + } + + /** + * Determines if String does start with the given value. + * + * @since 3.4.0 + */ + public static TextP endsWith(final String value) { + return new TextP(Text.endsWith, value); + } + + /** + * Determines if String does not start with the given value. + * + * @since 3.4.0 + */ + public static TextP endsNotWith(final String value) { + return new TextP(Text.endsNotWith, value); + } + + /** + * Determines if String does contain the given value. + * + * @since 3.4.0 + */ + public static TextP contains(final String value) { + return new TextP(Text.contains, value); + } + + /** + * Determines if String does not contain the given value. + * + * @since 3.4.0 + */ + public static TextP absent(final String value) { + return new TextP(Text.absent, value); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java index 74647a1..ed0df64 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java @@ -28,7 +28,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Path; import org.apache.tinkerpop.gremlin.process.traversal.Pop; import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions; import org.apache.tinkerpop.gremlin.process.traversal.Scope; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy; import org.apache.tinkerpop.gremlin.process.traversal.Traverser; @@ -146,7 +146,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule { put(AndP.class, "P"); put(OrP.class, "P"); put(P.class, "P"); - put(TP.class, "TP"); + put(TextP.class, "TextP"); Stream.of( VertexProperty.Cardinality.class, Column.class, @@ -272,7 +272,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule { TraversalOptionParent.Pick.values(), T.values()).flatMap(Stream::of).forEach(e -> addDeserializer(e.getClass(), new TraversalSerializersV3d0.EnumJacksonDeserializer(e.getDeclaringClass()))); addDeserializer(P.class, new TraversalSerializersV3d0.PJacksonDeserializer()); - addDeserializer(TP.class, new TraversalSerializersV3d0.TPJacksonDeserializer()); + addDeserializer(TextP.class, new TraversalSerializersV3d0.TextPJacksonDeserializer()); addDeserializer(Lambda.class, new TraversalSerializersV3d0.LambdaJacksonDeserializer()); addDeserializer(Traverser.class, new TraversalSerializersV3d0.TraverserJacksonDeserializer()); Arrays.asList( @@ -362,7 +362,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule { put(AndP.class, "P"); put(OrP.class, "P"); put(P.class, "P"); - put(TP.class, "TP"); + put(TextP.class, "TextP"); Stream.of( VertexProperty.Cardinality.class, Column.class, @@ -480,7 +480,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule { TraversalOptionParent.Pick.values(), T.values()).flatMap(Stream::of).forEach(e -> addDeserializer(e.getClass(), new TraversalSerializersV2d0.EnumJacksonDeserializer(e.getDeclaringClass()))); addDeserializer(P.class, new TraversalSerializersV2d0.PJacksonDeserializer()); - addDeserializer(TP.class, new TraversalSerializersV2d0.TPJacksonDeserializer()); + addDeserializer(TextP.class, new TraversalSerializersV2d0.TextPJacksonDeserializer()); addDeserializer(Lambda.class, new TraversalSerializersV2d0.LambdaJacksonDeserializer()); addDeserializer(Traverser.class, new TraversalSerializersV2d0.TraverserJacksonDeserializer()); Arrays.asList( http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV2d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV2d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV2d0.java index 7ba4ca5..5297733 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV2d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV2d0.java @@ -24,7 +24,7 @@ import org.apache.commons.configuration.MapConfiguration; import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser; import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy; import org.apache.tinkerpop.gremlin.process.traversal.Traverser; @@ -373,14 +373,14 @@ final class TraversalSerializersV2d0 { } } - final static class TPJacksonDeserializer extends StdDeserializer<TP> { + final static class TextPJacksonDeserializer extends StdDeserializer<TextP> { - public TPJacksonDeserializer() { - super(TP.class); + public TextPJacksonDeserializer() { + super(TextP.class); } @Override - public TP deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + public TextP deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { String predicate = null; String value = null; @@ -395,7 +395,7 @@ final class TraversalSerializersV2d0 { } try { - return (TP) TP.class.getMethod(predicate, String.class).invoke(null, value); + return (TextP) TextP.class.getMethod(predicate, String.class).invoke(null, value); } catch (final Exception e) { throw new IllegalStateException(e.getMessage(), e); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV3d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV3d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV3d0.java index ca01ec0..d3aa60e 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV3d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV3d0.java @@ -24,7 +24,7 @@ import org.apache.commons.configuration.MapConfiguration; import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser; import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy; import org.apache.tinkerpop.gremlin.process.traversal.Traverser; @@ -371,14 +371,14 @@ final class TraversalSerializersV3d0 { } } - final static class TPJacksonDeserializer extends StdDeserializer<TP> { + final static class TextPJacksonDeserializer extends StdDeserializer<TextP> { - public TPJacksonDeserializer() { - super(TP.class); + public TextPJacksonDeserializer() { + super(TextP.class); } @Override - public TP deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + public TextP deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { String predicate = null; String value = null; @@ -393,7 +393,7 @@ final class TraversalSerializersV3d0 { } try { - return (TP) TP.class.getMethod(predicate, String.class).invoke(null, value); + return (TextP) TextP.class.getMethod(predicate, String.class).invoke(null, value); } catch (final Exception e) { throw new IllegalStateException(e.getMessage(), e); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java index c7de4ec..7697462 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV1d0.java @@ -22,7 +22,7 @@ import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraver import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; import org.apache.tinkerpop.gremlin.process.traversal.Path; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource; import org.apache.tinkerpop.gremlin.process.traversal.util.AndP; import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP; @@ -229,20 +229,20 @@ public final class GryoSerializersV1d0 { } } - public final static class TPSerializer implements SerializerShim<TP> { + public final static class TextPSerializer implements SerializerShim<TextP> { @Override - public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final TP p) { + public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final TextP p) { output.writeString(p.getBiPredicate().toString()); kryo.writeObject(output, p.getValue()); } @Override - public <I extends InputShim> TP read(final KryoShim<I, ?> kryo, final I input, final Class<TP> clazz) { + public <I extends InputShim> TextP read(final KryoShim<I, ?> kryo, final I input, final Class<TextP> clazz) { final String predicate = input.readString(); final String value = kryo.readObject(input, String.class); try { - return (TP) TP.class.getMethod(predicate, String.class).invoke(null, value); + return (TextP) TextP.class.getMethod(predicate, String.class).invoke(null, value); } catch (final Exception e) { throw new IllegalStateException(e.getMessage(), e); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java index ffda00e..e35bd33 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java @@ -22,7 +22,7 @@ import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraver import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; import org.apache.tinkerpop.gremlin.process.traversal.Path; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource; import org.apache.tinkerpop.gremlin.process.traversal.util.AndP; import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP; @@ -345,20 +345,20 @@ public final class GryoSerializersV3d0 { } } - public final static class TPSerializer implements SerializerShim<TP> { + public final static class TextPSerializer implements SerializerShim<TextP> { @Override - public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final TP p) { + public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final TextP p) { output.writeString(p.getBiPredicate().toString()); kryo.writeObject(output, p.getValue()); } @Override - public <I extends InputShim> TP read(final KryoShim<I, ?> kryo, final I input, final Class<TP> clazz) { + public <I extends InputShim> TextP read(final KryoShim<I, ?> kryo, final I input, final Class<TextP> clazz) { final String predicate = input.readString(); final String value = kryo.readObject(input, String.class); try { - return (TP) TP.class.getMethod(predicate, String.class).invoke(null, value); + return (TextP) TextP.class.getMethod(predicate, String.class).invoke(null, value); } catch (final Exception e) { throw new IllegalStateException(e.getMessage(), e); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java index fb62fee..0829fbb 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java @@ -33,7 +33,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Path; import org.apache.tinkerpop.gremlin.process.traversal.Pop; import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions; import org.apache.tinkerpop.gremlin.process.traversal.Scope; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent; import org.apache.tinkerpop.gremlin.process.traversal.step.filter.RangeGlobalStep; import org.apache.tinkerpop.gremlin.process.traversal.step.map.FoldStep; @@ -312,7 +312,7 @@ public enum GryoVersion { add(GryoTypeReg.of(Bytecode.class, 122, new GryoSerializersV3d0.BytecodeSerializer())); add(GryoTypeReg.of(P.class, 124, new GryoSerializersV3d0.PSerializer())); - add(GryoTypeReg.of(TP.class, 186, new GryoSerializersV3d0.TPSerializer())); // ***LAST ID*** + add(GryoTypeReg.of(TextP.class, 186, new GryoSerializersV3d0.TextPSerializer())); // ***LAST ID*** add(GryoTypeReg.of(Lambda.class, 125, new GryoSerializersV3d0.LambdaSerializer())); add(GryoTypeReg.of(Bytecode.Binding.class, 126, new GryoSerializersV3d0.BindingSerializer())); add(GryoTypeReg.of(Order.class, 127)); @@ -504,7 +504,7 @@ public enum GryoVersion { add(GryoTypeReg.of(Bytecode.class, 122, new GryoSerializersV1d0.BytecodeSerializer())); add(GryoTypeReg.of(P.class, 124, new GryoSerializersV1d0.PSerializer())); - add(GryoTypeReg.of(TP.class, 186, new GryoSerializersV1d0.TPSerializer())); // ***LAST ID*** + add(GryoTypeReg.of(TextP.class, 186, new GryoSerializersV1d0.TextPSerializer())); // ***LAST ID*** add(GryoTypeReg.of(Lambda.class, 125, new GryoSerializersV1d0.LambdaSerializer())); add(GryoTypeReg.of(Bytecode.Binding.class, 126, new GryoSerializersV1d0.BindingSerializer())); add(GryoTypeReg.of(Order.class, 127)); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/PTest.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/PTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/PTest.java index 1060b4e..0e21ece 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/PTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/PTest.java @@ -95,20 +95,20 @@ public class PTest { {P.between("m", "n").or(P.eq("daniel")), "daniel", true}, {P.between("m", "n").or(P.eq("daniel")), "stephen", false}, // text predicates - {TP.contains("ark"), "marko", true}, - {TP.contains("ark"), "josh", false}, - {TP.startsWith("jo"), "marko", false}, - {TP.startsWith("jo"), "josh", true}, - {TP.endsWith("ter"), "marko", false}, - {TP.endsWith("ter"), "peter", true}, - {TP.contains("o"), "marko", true}, - {TP.contains("o"), "josh", true}, - {TP.contains("o").and(P.gte("j")), "marko", true}, - {TP.contains("o").and(P.gte("j")), "josh", true}, - {TP.contains("o").and(P.gte("j")).and(TP.endsWith("ko")), "marko", true}, - {TP.contains("o").and(P.gte("j")).and(TP.endsWith("ko")), "josh", false}, - {TP.contains("o").and(P.gte("j").and(TP.endsWith("ko"))), "marko", true}, - {TP.contains("o").and(P.gte("j").and(TP.endsWith("ko"))), "josh", false}, + {TextP.contains("ark"), "marko", true}, + {TextP.contains("ark"), "josh", false}, + {TextP.startsWith("jo"), "marko", false}, + {TextP.startsWith("jo"), "josh", true}, + {TextP.endsWith("ter"), "marko", false}, + {TextP.endsWith("ter"), "peter", true}, + {TextP.contains("o"), "marko", true}, + {TextP.contains("o"), "josh", true}, + {TextP.contains("o").and(P.gte("j")), "marko", true}, + {TextP.contains("o").and(P.gte("j")), "josh", true}, + {TextP.contains("o").and(P.gte("j")).and(TextP.endsWith("ko")), "marko", true}, + {TextP.contains("o").and(P.gte("j")).and(TextP.endsWith("ko")), "josh", false}, + {TextP.contains("o").and(P.gte("j").and(TextP.endsWith("ko"))), "marko", true}, + {TextP.contains("o").and(P.gte("j").and(TextP.endsWith("ko"))), "josh", false}, })); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperPartialEmbeddedTypeTest.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperPartialEmbeddedTypeTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperPartialEmbeddedTypeTest.java index 52a7ee4..92c4df6 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperPartialEmbeddedTypeTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperPartialEmbeddedTypeTest.java @@ -21,7 +21,7 @@ package org.apache.tinkerpop.gremlin.structure.io.graphson; import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser; import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Traverser; import org.apache.tinkerpop.shaded.jackson.databind.JsonMappingException; import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper; @@ -329,15 +329,15 @@ public class GraphSONMapperPartialEmbeddedTypeTest extends AbstractGraphSONTest P.without(Arrays.asList(1,2,3,4)), P.eq(1).and(P.eq(2)), P.eq(1).or(P.eq(2)), - TP.contains("ark"), - TP.startsWith("mar"), - TP.endsWith("ko"), - TP.endsWith("ko").and(P.gte("mar")), - P.gte("mar").and(TP.endsWith("ko"))); + TextP.contains("ark"), + TextP.startsWith("mar"), + TextP.endsWith("ko"), + TextP.endsWith("ko").and(P.gte("mar")), + P.gte("mar").and(TextP.endsWith("ko"))); for (P p : variantsOfP) { - if (p instanceof TP) { - assertEquals(p, serializeDeserialize(mapper, p, TP.class)); + if (p instanceof TextP) { + assertEquals(p, serializeDeserialize(mapper, p, TextP.class)); } else { assertEquals(p, serializeDeserialize(mapper, p, P.class)); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/glv/TP.template ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/glv/TP.template b/gremlin-dotnet/glv/TP.template deleted file mode 100644 index 22320ea..0000000 --- a/gremlin-dotnet/glv/TP.template +++ /dev/null @@ -1,71 +0,0 @@ -#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 - -// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - -namespace Gremlin.Net.Process.Traversal -{ -#pragma warning disable 1591 - - /// <summary> - /// A <see cref="TP" /> is a predicate of the form Func<string, bool>. - /// That is, given some string, return true or false. - /// </summary> - public class TP : P - { - /// <summary> - /// Initializes a new instance of the <see cref="TP" /> class. - /// </summary> - /// <param name="operatorName">The name of the predicate.</param> - /// <param name="value">The value of the predicate.</param> - /// <param name="other">An optional other predicate that is used as an argument for this predicate.</param> - public TP(string operatorName, string value, P other = null) : base(operatorName, value, other) - { - } - -<% tpmethods.each { method -> %> - public static TP <%= toCSharpMethodName.call(method) %>(string value) - { - return new TP("<%= method %>", value); - } -<% } %> - - private static T[] ToGenericArray<T>(ICollection<T> collection) - { - return collection?.ToArray() ?? new T[0]; - } - - /// <inheritdoc /> - public override string ToString() - { - return Other == null ? \$"{OperatorName}({Value})" : \$"{OperatorName}({Value},{Other})"; - } - } - -#pragma warning restore 1591 -} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/glv/TextP.template ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/glv/TextP.template b/gremlin-dotnet/glv/TextP.template new file mode 100644 index 0000000..3e289f6 --- /dev/null +++ b/gremlin-dotnet/glv/TextP.template @@ -0,0 +1,71 @@ +#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 + +// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace Gremlin.Net.Process.Traversal +{ +#pragma warning disable 1591 + + /// <summary> + /// A <see cref="TextP" /> is a predicate of the form Func<string, bool>. + /// That is, given some string, return true or false. + /// </summary> + public class TextP : P + { + /// <summary> + /// Initializes a new instance of the <see cref="TextP" /> class. + /// </summary> + /// <param name="operatorName">The name of the predicate.</param> + /// <param name="value">The value of the predicate.</param> + /// <param name="other">An optional other predicate that is used as an argument for this predicate.</param> + public TextP(string operatorName, string value, P other = null) : base(operatorName, value, other) + { + } + +<% tpmethods.each { method -> %> + public static TextP <%= toCSharpMethodName.call(method) %>(string value) + { + return new TextP("<%= method %>", value); + } +<% } %> + + private static T[] ToGenericArray<T>(ICollection<T> collection) + { + return collection?.ToArray() ?? new T[0]; + } + + /// <inheritdoc /> + public override string ToString() + { + return Other == null ? \$"{OperatorName}({Value})" : \$"{OperatorName}({Value},{Other})"; + } + } + +#pragma warning restore 1591 +} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/glv/generate.groovy ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/glv/generate.groovy b/gremlin-dotnet/glv/generate.groovy index 3dbd959..0655fd1 100644 --- a/gremlin-dotnet/glv/generate.groovy +++ b/gremlin-dotnet/glv/generate.groovy @@ -26,7 +26,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource 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.P -import org.apache.tinkerpop.gremlin.process.traversal.TP +import org.apache.tinkerpop.gremlin.process.traversal.TextP import org.apache.tinkerpop.gremlin.process.traversal.IO import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__ import org.apache.tinkerpop.gremlin.structure.Direction @@ -60,7 +60,7 @@ def toCSharpTypeMap = ["Long": "long", "Traversal[]": "ITraversal[]", "Predicate": "IPredicate", "P": "P", - "TP": "TP", + "TextP": "TextP", "TraversalStrategy": "ITraversalStrategy", "TraversalStrategy[]": "ITraversalStrategy[]", "Function": "IFunction", @@ -243,9 +243,9 @@ def binding = ["pmethods": P.class.getMethods(). collect { it.name }. unique(). sort { a, b -> a <=> b }, - "tpmethods": TP.class.getMethods(). + "tpmethods": TextP.class.getMethods(). findAll { Modifier.isStatic(it.getModifiers()) }. - findAll { TP.class.isAssignableFrom(it.returnType) }. + findAll { TextP.class.isAssignableFrom(it.returnType) }. collect { it.name }. unique(). sort { a, b -> a <=> b }, @@ -342,8 +342,8 @@ def pTemplate = engine.createTemplate(new File("${projectBaseDir}/glv/P.template def pFile = new File("${projectBaseDir}/src/Gremlin.Net/Process/Traversal/P.cs") pFile.newWriter().withWriter{ it << pTemplate } -def tpTemplate = engine.createTemplate(new File("${projectBaseDir}/glv/TP.template")).make(binding) -def tpFile = new File("${projectBaseDir}/src/Gremlin.Net/Process/Traversal/TP.cs") +def tpTemplate = engine.createTemplate(new File("${projectBaseDir}/glv/TextP.template")).make(binding) +def tpFile = new File("${projectBaseDir}/src/Gremlin.Net/Process/Traversal/TextP.cs") tpFile.newWriter().withWriter{ it << tpTemplate } binding.tokens.each {k,v -> http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/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 deleted file mode 100644 index abebd1e..0000000 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs +++ /dev/null @@ -1,96 +0,0 @@ -#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 - -// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; - -namespace Gremlin.Net.Process.Traversal -{ -#pragma warning disable 1591 - - /// <summary> - /// A <see cref="TP" /> is a predicate of the form Func<string, bool>. - /// That is, given some string, return true or false. - /// </summary> - public class TP : P - { - /// <summary> - /// Initializes a new instance of the <see cref="TP" /> class. - /// </summary> - /// <param name="operatorName">The name of the predicate.</param> - /// <param name="value">The value of the predicate.</param> - /// <param name="other">An optional other predicate that is used as an argument for this predicate.</param> - public TP(string operatorName, string value, P other = null) : base(operatorName, value, other) - { - } - - - public static TP Absent(string value) - { - return new TP("absent", value); - } - - public static TP Contains(string value) - { - return new TP("contains", value); - } - - public static TP EndsNotWith(string value) - { - return new TP("endsNotWith", value); - } - - public static TP EndsWith(string value) - { - return new TP("endsWith", value); - } - - public static TP StartsNotWith(string value) - { - return new TP("startsNotWith", value); - } - - public static TP StartsWith(string value) - { - return new TP("startsWith", value); - } - - - private static T[] ToGenericArray<T>(ICollection<T> collection) - { - return collection?.ToArray() ?? new T[0]; - } - - /// <inheritdoc /> - public override string ToString() - { - return Other == null ? $"{OperatorName}({Value})" : $"{OperatorName}({Value},{Other})"; - } - } - -#pragma warning restore 1591 -} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TextP.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TextP.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TextP.cs new file mode 100644 index 0000000..b8e8a64 --- /dev/null +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TextP.cs @@ -0,0 +1,96 @@ +#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 + +// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace Gremlin.Net.Process.Traversal +{ +#pragma warning disable 1591 + + /// <summary> + /// A <see cref="TextP" /> is a predicate of the form Func<string, bool>. + /// That is, given some string, return true or false. + /// </summary> + public class TextP : P + { + /// <summary> + /// Initializes a new instance of the <see cref="TextP" /> class. + /// </summary> + /// <param name="operatorName">The name of the predicate.</param> + /// <param name="value">The value of the predicate.</param> + /// <param name="other">An optional other predicate that is used as an argument for this predicate.</param> + public TextP(string operatorName, string value, P other = null) : base(operatorName, value, other) + { + } + + + public static TextP Absent(string value) + { + return new TextP("absent", value); + } + + public static TextP Contains(string value) + { + return new TextP("contains", value); + } + + public static TextP EndsNotWith(string value) + { + return new TextP("endsNotWith", value); + } + + public static TextP EndsWith(string value) + { + return new TextP("endsWith", value); + } + + public static TextP StartsNotWith(string value) + { + return new TextP("startsNotWith", value); + } + + public static TextP StartsWith(string value) + { + return new TextP("startsWith", value); + } + + + private static T[] ToGenericArray<T>(ICollection<T> collection) + { + return collection?.ToArray() ?? new T[0]; + } + + /// <inheritdoc /> + public override string ToString() + { + return Other == null ? $"{OperatorName}({Value})" : $"{OperatorName}({Value},{Other})"; + } + } + +#pragma warning restore 1591 +} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs index 3178d21..3268ae4 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs @@ -58,7 +58,7 @@ namespace Gremlin.Net.Structure.IO.GraphSON {typeof(Type), new ClassSerializer()}, {typeof(EnumWrapper), new EnumSerializer()}, {typeof(P), new PSerializer()}, - {typeof(TP), new TPSerializer()}, + {typeof(TextP), new TextPSerializer()}, {typeof(Vertex), new VertexSerializer()}, {typeof(Edge), new EdgeSerializer()}, {typeof(Property), new PropertySerializer()}, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TPSerializer.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TPSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TPSerializer.cs deleted file mode 100644 index 22ed358..0000000 --- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TPSerializer.cs +++ /dev/null @@ -1,45 +0,0 @@ -#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.Collections.Generic; -using Gremlin.Net.Process.Traversal; - -namespace Gremlin.Net.Structure.IO.GraphSON -{ - internal class TPSerializer : IGraphSONSerializer - { - public Dictionary<string, dynamic> Dictify(dynamic predicate, GraphSONWriter writer) - { - TP p = predicate; - var value = p.Other == null - ? writer.ToDict(p.Value) - : new List<dynamic> {writer.ToDict(p.Value), writer.ToDict(p.Other)}; - var dict = new Dictionary<string, dynamic> - { - {"predicate", p.OperatorName}, - {"value", value} - }; - return GraphSONUtil.ToTypedValue("TP", dict); - } - } -} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TextPSerializer.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TextPSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TextPSerializer.cs new file mode 100644 index 0000000..586be2d --- /dev/null +++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/TextPSerializer.cs @@ -0,0 +1,45 @@ +#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.Collections.Generic; +using Gremlin.Net.Process.Traversal; + +namespace Gremlin.Net.Structure.IO.GraphSON +{ + internal class TextPSerializer : IGraphSONSerializer + { + public Dictionary<string, dynamic> Dictify(dynamic predicate, GraphSONWriter writer) + { + TextP p = predicate; + var value = p.Other == null + ? writer.ToDict(p.Value) + : new List<dynamic> {writer.ToDict(p.Value), writer.ToDict(p.Other)}; + var dict = new Dictionary<string, dynamic> + { + {"predicate", p.OperatorName}, + {"value", value} + }; + return GraphSONUtil.ToTypedValue("TextP", dict); + } + } +} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/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 deleted file mode 100644 index 9100c6f..0000000 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs +++ /dev/null @@ -1,97 +0,0 @@ -#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 -{ - /// <summary> - /// Represents a parameter for a traversal predicate (ie: TP.contains()) - /// </summary> - internal class TPParameter : ITokenParameter, IEquatable<TPParameter> - { - private IDictionary<string, object> _contextParameterValues; - public IList<Token> Tokens { get; } - - public TPParameter(IList<Token> 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) - { - throw new InvalidOperationException($"Predicate (TP) method '{token}' not found for testing"); - } - - var parameters = method.IsStatic - ? new object[] {token.Parameters.Select(p => p.GetValue().ToString()).First()} - : token.Parameters.Select(p => p.GetValue()).ToArray(); - instance = method.Invoke(instance, parameters); - } - return instance; - } - - public Type GetParameterType() - { - return typeof(TP); - } - - public void SetContextParameterValues(IDictionary<string, object> parameterValues) - { - _contextParameterValues = parameterValues; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TextPParameter.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TextPParameter.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TextPParameter.cs new file mode 100644 index 0000000..5999659 --- /dev/null +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TextPParameter.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 +{ + /// <summary> + /// Represents a parameter for a traversal predicate (ie: TextP.contains()) + /// </summary> + internal class TextPParameter : ITokenParameter, IEquatable<TextPParameter> + { + private IDictionary<string, object> _contextParameterValues; + public IList<Token> Tokens { get; } + + public TextPParameter(IList<Token> tokens) + { + Tokens = tokens; + } + + public bool Equals(TextPParameter 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((TextPParameter) obj); + } + + public override int GetHashCode() + { + return Tokens != null ? Tokens.GetHashCode() : 0; + } + + public object GetValue() + { + var type = typeof(TextP); + 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) + { + throw new InvalidOperationException($"Predicate (TextP) method '{token}' not found for testing"); + } + + var parameters = method.IsStatic + ? new object[] {token.Parameters.Select(p => p.GetValue().ToString()).First()} + : token.Parameters.Select(p => p.GetValue()).ToArray(); + instance = method.Invoke(instance, parameters); + } + return instance; + } + + public Type GetParameterType() + { + return typeof(TextP); + } + + public void SetContextParameterValues(IDictionary<string, object> parameterValues) + { + _contextParameterValues = parameterValues; + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs index 1065780..139cd2d 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs @@ -406,9 +406,9 @@ namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation var tokens = ParseTokens(text, ref i); return new StaticTraversalParameter(tokens, text.Substring(startIndex, i - startIndex)); } - if (text.Length >= i + 3 && text.Substring(i, 3) == "TP.") + if (text.Length >= i + 6 && text.Substring(i, 6) == "TextP.") { - return new TPParameter(ParseTokens(text, ref i)); + return new TextPParameter(ParseTokens(text, ref i)); } if (text.Substring(i, 2).StartsWith("P.")) { @@ -482,4 +482,4 @@ namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation EndParameters } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java ---------------------------------------------------------------------- diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java index a3e593a..ae892f3 100644 --- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java +++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java @@ -24,7 +24,7 @@ import org.apache.commons.configuration.ConfigurationConverter; import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.P; import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Translator; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy; @@ -226,7 +226,7 @@ public final class GroovyTranslator implements Translator.ScriptTranslator { } private StringBuilder convertPToString(final P p, final StringBuilder current) { - if (p instanceof TP) return convertTPToString((TP) p, current); + if (p instanceof TextP) return convertTextPToString((TextP) p, current); if (p instanceof ConnectiveP) { final List<P<?>> list = ((ConnectiveP) p).getPredicates(); for (int i = 0; i < list.size(); i++) { @@ -240,8 +240,8 @@ public final class GroovyTranslator implements Translator.ScriptTranslator { return current; } - private StringBuilder convertTPToString(final TP p, final StringBuilder current) { - current.append("TP.").append(p.getBiPredicate().toString()).append("(").append(convertToString(p.getValue())).append(")"); + private StringBuilder convertTextPToString(final TextP p, final StringBuilder current) { + current.append("TextP.").append(p.getBiPredicate().toString()).append("(").append(convertToString(p.getValue())).append(")"); return current; } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-javascript/glv/TraversalSource.template ---------------------------------------------------------------------- diff --git a/gremlin-javascript/glv/TraversalSource.template b/gremlin-javascript/glv/TraversalSource.template index 14df95b..46d96b5 100644 --- a/gremlin-javascript/glv/TraversalSource.template +++ b/gremlin-javascript/glv/TraversalSource.template @@ -162,7 +162,7 @@ function createP(operator, args) { return new (Function.prototype.bind.apply(P, args)); } -class TP { +class TextP { /** * Represents an operation. * @constructor @@ -201,7 +201,7 @@ class TP { function createTP(operator, args) { args.unshift(null, operator); - return new (Function.prototype.bind.apply(TP, args)); + return new (Function.prototype.bind.apply(TextP, args)); } class Traverser { @@ -241,7 +241,7 @@ class EnumValue { module.exports = { EnumValue, P, - TP, + TextP, IO, Traversal, TraversalSideEffects, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-javascript/glv/generate.groovy ---------------------------------------------------------------------- diff --git a/gremlin-javascript/glv/generate.groovy b/gremlin-javascript/glv/generate.groovy index 243c607..575f847 100644 --- a/gremlin-javascript/glv/generate.groovy +++ b/gremlin-javascript/glv/generate.groovy @@ -28,7 +28,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource 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.P -import org.apache.tinkerpop.gremlin.process.traversal.TP +import org.apache.tinkerpop.gremlin.process.traversal.TextP import org.apache.tinkerpop.gremlin.process.traversal.IO import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__ import java.lang.reflect.Modifier @@ -70,9 +70,9 @@ def binding = ["enums": CoreImports.getClassImports() collect { it.name }. unique(). sort { a, b -> a <=> b }, - "tpmethods": TP.class.getMethods(). + "tpmethods": TextP.class.getMethods(). findAll { Modifier.isStatic(it.getModifiers()) }. - findAll { TP.class.isAssignableFrom(it.returnType) }. + findAll { TextP.class.isAssignableFrom(it.returnType) }. collect { it.name }. unique(). sort { a, b -> a <=> b }, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-javascript/src/main/javascript/gremlin-javascript/index.js ---------------------------------------------------------------------- diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/index.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/index.js index b15ecbc..f6456b7 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/index.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/index.js @@ -49,7 +49,7 @@ module.exports = { Bytecode: Bytecode, EnumValue: t.EnumValue, P: t.P, - TP: t.TP, + TextP: t.TextP, Traversal: t.Traversal, TraversalSideEffects: t.TraversalSideEffects, TraversalStrategies: strategiesModule.TraversalStrategies, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js ---------------------------------------------------------------------- diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js index ca9d062..89f8ddc 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js @@ -310,7 +310,7 @@ function createP(operator, args) { return new (Function.prototype.bind.apply(P, args)); } -class TP { +class TextP { /** * Represents an operation. * @constructor @@ -374,7 +374,7 @@ class TP { function createTP(operator, args) { args.unshift(null, operator); - return new (Function.prototype.bind.apply(TP, args)); + return new (Function.prototype.bind.apply(TextP, args)); } class Traverser { @@ -414,7 +414,7 @@ class EnumValue { module.exports = { EnumValue, P, - TP, + TextP, IO, Traversal, TraversalSideEffects, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/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 fca8375..52d9e93 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,7 +162,7 @@ const deserializers = { 'g:Property': typeSerializers.PropertySerializer, 'g:Path': typeSerializers.Path3Serializer, 'g:T': typeSerializers.TSerializer, - 'g:TP': typeSerializers.TPSerializer, + 'g:TextP': typeSerializers.TextPSerializer, 'g:List': typeSerializers.ListSerializer, 'g:Set': typeSerializers.SetSerializer, 'g:Map': typeSerializers.MapSerializer @@ -174,7 +174,7 @@ const serializers = [ typeSerializers.BytecodeSerializer, typeSerializers.TraverserSerializer, typeSerializers.PSerializer, - typeSerializers.TPSerializer, + typeSerializers.TextPSerializer, typeSerializers.LambdaSerializer, typeSerializers.EnumSerializer, typeSerializers.VertexSerializer, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/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 576c721..2ea3d27 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 @@ -150,11 +150,11 @@ class PSerializer extends TypeSerializer { } } -class TPSerializer extends TypeSerializer { - /** @param {TP} item */ +class TextPSerializer extends TypeSerializer { + /** @param {TextP} item */ serialize(item) { const result = {}; - result[typeKey] = 'g:TP'; + result[typeKey] = 'g:TextP'; const resultValue = result[valueKey] = { 'predicate': item.operator }; @@ -168,7 +168,7 @@ class TPSerializer extends TypeSerializer { } canBeUsedFor(value) { - return (value instanceof t.TP); + return (value instanceof t.TextP); } } @@ -406,7 +406,7 @@ module.exports = { PathSerializer, PropertySerializer, PSerializer, - TPSerializer, + TextPSerializer, SetSerializer, TSerializer, TraverserSerializer, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js ---------------------------------------------------------------------- diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js index abef2a2..d1d5b52 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js @@ -218,7 +218,7 @@ function getSandbox(g, parameters) { }, Order: traversalModule.order, P: traversalModule.P, - TP: traversalModule.TP, + TextP: traversalModule.TextP, IO: traversalModule.IO, Pick: traversalModule.pick, Pop: traversalModule.pop, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/glv/TraversalSource.template ---------------------------------------------------------------------- diff --git a/gremlin-python/glv/TraversalSource.template b/gremlin-python/glv/TraversalSource.template index 00a5934..4f40a5f 100644 --- a/gremlin-python/glv/TraversalSource.template +++ b/gremlin-python/glv/TraversalSource.template @@ -152,13 +152,13 @@ def <%= method %>(*args): statics.add_static('<%= method %>',<%= method %>) <% } %> -class TP(P): +class TextP(P): def __init__(self, operator, value, other=None): P.__init__(self, operator, value, other) <% tpmethods.each { method -> %> @staticmethod def <%= method %>(*args): - return TP("<%= toJava.call(method) %>", *args) + return TextP("<%= toJava.call(method) %>", *args) <% } %> def __eq__(self, other): return isinstance(other, self.__class__) and self.operator == other.operator and self.value == other.value and self.other == other.other @@ -167,7 +167,7 @@ class TP(P): return self.operator + "(" + str(self.value) + ")" if self.other is None else self.operator + "(" + str(self.value) + "," + str(self.other) + ")" <% tpmethods.findAll{!it.equals("clone")}.each { method -> %> def <%= method %>(*args): - return TP.<%= method %>(*args) + return TextP.<%= method %>(*args) statics.add_static('<%= method %>',<%= method %>) <% } %> http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/glv/generate.groovy ---------------------------------------------------------------------- diff --git a/gremlin-python/glv/generate.groovy b/gremlin-python/glv/generate.groovy index 8c3d647..60d8381 100644 --- a/gremlin-python/glv/generate.groovy +++ b/gremlin-python/glv/generate.groovy @@ -26,7 +26,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource 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.P -import org.apache.tinkerpop.gremlin.process.traversal.TP +import org.apache.tinkerpop.gremlin.process.traversal.TextP import org.apache.tinkerpop.gremlin.process.traversal.IO import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__ import java.lang.reflect.Modifier @@ -64,9 +64,9 @@ def binding = ["enums": CoreImports.getClassImports() collect { toPython(it.name) }. unique(). sort { a, b -> a <=> b }, - "tpmethods": TP.class.getMethods(). + "tpmethods": TextP.class.getMethods(). findAll { Modifier.isStatic(it.getModifiers()) }. - findAll { TP.class.isAssignableFrom(it.returnType) }. + findAll { TextP.class.isAssignableFrom(it.returnType) }. collect { toPython(it.name) }. unique(). sort { a, b -> a <=> b }, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java ---------------------------------------------------------------------- diff --git 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 index 0d2695a..59669b1 100644 --- 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 @@ -24,7 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Bytecode; import org.apache.tinkerpop.gremlin.process.traversal.Operator; import org.apache.tinkerpop.gremlin.process.traversal.P; import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions; -import org.apache.tinkerpop.gremlin.process.traversal.TP; +import org.apache.tinkerpop.gremlin.process.traversal.TextP; import org.apache.tinkerpop.gremlin.process.traversal.Translator; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource; @@ -225,7 +225,7 @@ public class PythonTranslator implements Translator.ScriptTranslator { } private StringBuilder convertPToString(final P p, final StringBuilder current) { - if (p instanceof TP) return convertTPToString((TP) p, current); + if (p instanceof TextP) return convertTextPToString((TextP) p, current); if (p instanceof ConnectiveP) { final List<P<?>> list = ((ConnectiveP) p).getPredicates(); for (int i = 0; i < list.size(); i++) { @@ -239,8 +239,8 @@ public class PythonTranslator implements Translator.ScriptTranslator { return current; } - private StringBuilder convertTPToString(final TP p, final StringBuilder current) { - current.append(convertStatic("TP.")).append(p.getBiPredicate().toString()).append("(").append(convertToString(p.getValue())).append(")"); + private StringBuilder convertTextPToString(final TextP p, final StringBuilder current) { + current.append(convertStatic("TextP.")).append(p.getBiPredicate().toString()).append("(").append(convertToString(p.getValue())).append(")"); return current; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/jython/gremlin_python/process/traversal.py ---------------------------------------------------------------------- diff --git a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py index a4d9708..7d7d518 100644 --- a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py +++ b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py @@ -322,33 +322,33 @@ def without(*args): statics.add_static('without',without) -class TP(P): +class TextP(P): def __init__(self, operator, value, other=None): P.__init__(self, operator, value, other) @staticmethod def absent(*args): - return TP("absent", *args) + return TextP("absent", *args) @staticmethod def contains(*args): - return TP("contains", *args) + return TextP("contains", *args) @staticmethod def endsNotWith(*args): - return TP("endsNotWith", *args) + return TextP("endsNotWith", *args) @staticmethod def endsWith(*args): - return TP("endsWith", *args) + return TextP("endsWith", *args) @staticmethod def startsNotWith(*args): - return TP("startsNotWith", *args) + return TextP("startsNotWith", *args) @staticmethod def startsWith(*args): - return TP("startsWith", *args) + return TextP("startsWith", *args) def __eq__(self, other): return isinstance(other, self.__class__) and self.operator == other.operator and self.value == other.value and self.other == other.other @@ -357,27 +357,27 @@ class TP(P): return self.operator + "(" + str(self.value) + ")" if self.other is None else self.operator + "(" + str(self.value) + "," + str(self.other) + ")" def absent(*args): - return TP.absent(*args) + return TextP.absent(*args) statics.add_static('absent',absent) def contains(*args): - return TP.contains(*args) + return TextP.contains(*args) statics.add_static('contains',contains) def endsNotWith(*args): - return TP.endsNotWith(*args) + return TextP.endsNotWith(*args) statics.add_static('endsNotWith',endsNotWith) def endsWith(*args): - return TP.endsWith(*args) + return TextP.endsWith(*args) statics.add_static('endsWith',endsWith) def startsNotWith(*args): - return TP.startsNotWith(*args) + return TextP.startsNotWith(*args) statics.add_static('startsNotWith',startsNotWith) def startsWith(*args): - return TP.startsWith(*args) + return TextP.startsWith(*args) statics.add_static('startsWith',startsWith) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV2d0.py ---------------------------------------------------------------------- diff --git a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV2d0.py b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV2d0.py index 2cb0b5b..490269a 100644 --- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV2d0.py +++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV2d0.py @@ -27,7 +27,7 @@ from aenum import Enum from gremlin_python import statics from gremlin_python.statics import FloatType, FunctionType, IntType, LongType, TypeType -from gremlin_python.process.traversal import Binding, Bytecode, P, TP, Traversal, Traverser, TraversalStrategy +from gremlin_python.process.traversal import Binding, Bytecode, P, TextP, Traversal, Traverser, TraversalStrategy from gremlin_python.structure.graph import Edge, Property, Vertex, VertexProperty, Path # When we fall back to a superclass's serializer, we iterate over this map. @@ -278,15 +278,15 @@ class PSerializer(_GraphSONTypeIO): return GraphSONUtil.typedValue("P", out) -class TPSerializer(_GraphSONTypeIO): - python_type = TP +class TextPSerializer(_GraphSONTypeIO): + python_type = TextP @classmethod def dictify(cls, p, writer): out = {"predicate": p.operator, "value": [writer.toDict(p.value), writer.toDict(p.other)] if p.other is not None else writer.toDict(p.value)} - return GraphSONUtil.typedValue("TP", out) + return GraphSONUtil.typedValue("TextP", out) class BindingSerializer(_GraphSONTypeIO):