You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/08/09 22:08:59 UTC
[2/3] tinkerpop git commit: Merge branch 'TINKERPOP-1278' into
explicit_relative_imports
Merge branch 'TINKERPOP-1278' into explicit_relative_imports
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/83ffaf49
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/83ffaf49
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/83ffaf49
Branch: refs/heads/TINKERPOP-1278
Commit: 83ffaf494af52ff8336aabb6af285beec67c4fba
Parents: f160bc1 4d514e0
Author: Leifur Halldor Asgeirsson <la...@zerofail.com>
Authored: Tue Aug 9 17:07:54 2016 -0400
Committer: Leifur Halldor Asgeirsson <la...@zerofail.com>
Committed: Tue Aug 9 17:11:37 2016 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 142 ++++-
README.asciidoc | 2 +-
bin/publish-docs.sh | 2 +-
bin/validate-distribution.sh | 18 +-
docker/build/Dockerfile.template | 1 +
docs/javadoc/overview.html | 2 +-
docs/preprocessor/awk/init-code-blocks.awk | 2 +-
docs/preprocessor/preprocess.sh | 4 +-
docs/src/dev/developer/administration.asciidoc | 5 -
docs/src/dev/developer/contributing.asciidoc | 10 +-
docs/src/dev/developer/for-committers.asciidoc | 20 +-
docs/src/dev/developer/release.asciidoc | 61 +-
docs/src/dev/provider/index.asciidoc | 51 +-
docs/src/recipes/index.asciidoc | 6 +-
docs/src/reference/acknowledgements.asciidoc | 8 -
.../src/reference/gremlin-applications.asciidoc | 63 +-
.../reference/implementations-neo4j.asciidoc | 12 +-
docs/src/reference/preface.asciidoc | 2 +-
docs/src/reference/the-graphcomputer.asciidoc | 2 +-
docs/src/reference/the-traversal.asciidoc | 15 +-
.../tutorials/getting-started/index.asciidoc | 4 +-
.../gremlin-language-variants/index.asciidoc | 6 +-
.../upgrade/release-3.0.x-incubating.asciidoc | 8 +-
.../upgrade/release-3.1.x-incubating.asciidoc | 31 +-
.../upgrade/release-3.2.x-incubating.asciidoc | 28 +-
giraph-gremlin/pom.xml | 2 +-
.../gremlin-archetype-server/pom.xml | 2 +-
.../archetype-resources/README.asciidoc | 2 +-
.../gremlin-archetype-tinkergraph/pom.xml | 2 +-
gremlin-archetype/pom.xml | 2 +-
gremlin-benchmark/pom.xml | 2 +-
gremlin-console/bin/gremlin.sh | 4 +-
gremlin-console/conf/remote-graph.properties | 2 +-
gremlin-console/pom.xml | 10 +-
gremlin-console/src/assembly/distribution.xml | 16 +-
.../console/commands/RemoteCommand.groovy | 4 +-
gremlin-console/src/main/static/NOTICE | 2 +-
.../plugin/gremlin-server-integration.yaml | 5 +-
gremlin-core/pom.xml | 2 +-
.../gremlin/jsr223/ConcurrentBindings.java | 42 ++
.../gremlin/jsr223/CoreGremlinModule.java | 45 ++
.../tinkerpop/gremlin/jsr223/Customizer.java | 28 +
.../DefaultGremlinScriptEngineManager.java | 96 ++--
.../tinkerpop/gremlin/jsr223/GremlinModule.java | 61 ++
.../gremlin/jsr223/GremlinScriptEngine.java | 18 +-
.../jsr223/GremlinScriptEngineFactory.java | 15 +
.../jsr223/GremlinScriptEngineManager.java | 14 +-
.../gremlin/jsr223/ImportCustomizer.java | 109 ++++
.../gremlin/jsr223/JavaTranslator.java | 172 ++++++
.../SingleGremlinScriptEngineManager.java | 42 ++
.../step/map/TraversalVertexProgramStep.java | 10 +-
.../process/remote/RemoteConnection.java | 17 +-
.../gremlin/process/remote/RemoteGraph.java | 52 +-
.../traversal/AbstractRemoteTraversal.java | 117 ++++
.../AbstractRemoteTraversalSideEffects.java | 114 ++++
.../traversal/AbstractRemoteTraverser.java | 43 ++
.../traversal/DefaultRemoteTraverser.java | 28 +
.../DefaultRemoteTraverserSerializers.java | 49 ++
.../remote/traversal/RemoteTraversal.java | 29 +
.../traversal/RemoteTraversalSideEffects.java | 27 +
.../remote/traversal/RemoteTraverser.java | 35 ++
.../remote/traversal/step/map/RemoteStep.java | 28 +-
.../strategy/decoration/RemoteStrategy.java | 32 +-
.../gremlin/process/traversal/Bindings.java | 58 ++
.../gremlin/process/traversal/Bytecode.java | 111 +++-
.../gremlin/process/traversal/Path.java | 8 +
.../gremlin/process/traversal/Translator.java | 4 +
.../gremlin/process/traversal/Traversal.java | 5 +
.../process/traversal/TraversalSideEffects.java | 7 +
.../process/traversal/TraversalSource.java | 20 +-
.../process/traversal/TraversalStrategies.java | 4 +-
.../process/traversal/TraversalStrategy.java | 53 +-
.../gremlin/process/traversal/Traverser.java | 6 +
.../traversal/dsl/graph/GraphTraversal.java | 73 ++-
.../dsl/graph/GraphTraversalSource.java | 12 +-
.../process/traversal/step/PathProcessor.java | 12 +
.../traversal/step/branch/LocalStep.java | 2 +-
.../traversal/step/filter/DedupGlobalStep.java | 14 +
.../step/filter/WherePredicateStep.java | 19 +-
.../step/filter/WhereTraversalStep.java | 15 +
.../process/traversal/step/map/MatchStep.java | 169 +++++-
.../traversal/step/map/OrderGlobalStep.java | 6 +-
.../process/traversal/step/map/PathStep.java | 16 +
.../traversal/step/map/SelectOneStep.java | 18 +
.../process/traversal/step/map/SelectStep.java | 18 +-
.../process/traversal/step/map/TreeStep.java | 9 +
.../traversal/step/sideEffect/SubgraphStep.java | 19 +-
.../step/sideEffect/TreeSideEffectStep.java | 16 +
.../process/traversal/step/util/BulkSet.java | 5 +
.../process/traversal/step/util/EmptyPath.java | 3 +
.../traversal/step/util/ImmutablePath.java | 93 ++-
.../traversal/step/util/MutablePath.java | 26 +-
.../strategy/creation/TranslationStrategy.java | 94 ---
.../AdjacentToIncidentStrategy.java | 2 +-
.../IncidentToAdjacentStrategy.java | 5 +-
.../optimization/PathProcessorStrategy.java | 3 +-
.../optimization/PathRetractionStrategy.java | 196 +++++++
.../optimization/RepeatUnrollStrategy.java | 4 +-
.../traverser/B_LP_O_P_S_SE_SL_Traverser.java | 8 +-
.../traverser/B_LP_O_S_SE_SL_Traverser.java | 32 +-
.../traverser/B_O_S_SE_SL_Traverser.java | 6 +-
.../traversal/traverser/B_O_Traverser.java | 1 +
.../traverser/LP_O_OB_P_S_SE_SL_Traverser.java | 32 +-
.../traverser/LP_O_OB_S_SE_SL_Traverser.java | 8 +-
.../traverser/O_OB_S_SE_SL_Traverser.java | 7 +-
.../traversal/traverser/O_Traverser.java | 1 -
.../traverser/util/AbstractTraverser.java | 16 +
.../traverser/util/EmptyTraverser.java | 15 +
.../process/traversal/util/BytecodeHelper.java | 75 +++
.../traversal/util/DefaultTraversal.java | 46 +-
.../process/traversal/util/JavaTranslator.java | 171 ------
.../process/traversal/util/PathUtil.java | 81 +++
.../process/traversal/util/ScriptTraversal.java | 22 +-
.../traversal/util/TranslatorHelper.java | 48 --
.../traversal/util/TraversalScriptFunction.java | 4 +-
.../structure/io/graphson/GraphSONModule.java | 43 +-
.../graphson/GraphSONTraversalSerializers.java | 376 ++++++++++++
.../gremlin/structure/io/gryo/GryoMapper.java | 11 +-
.../structure/io/gryo/GryoSerializers.java | 23 +
.../structure/util/reference/ReferencePath.java | 11 +-
.../tinkerpop/gremlin/util/CoreImports.java | 8 +-
.../gremlin/util/ScriptEngineCache.java | 8 +
.../tinkerpop/gremlin/util/function/Lambda.java | 82 ++-
.../util/function/ScriptEngineLambda.java | 4 +-
.../apache/tinkerpop/gremlin/TestHelper.java | 9 +-
.../gremlin/process/traversal/PathTest.java | 23 +
.../traversal/step/map/MatchStepTest.java | 11 +-
.../IdentityRemovalStrategyTest.java | 2 +-
.../PathRetractionStrategyTest.java | 188 ++++++
.../optimization/RepeatUnrollStrategyTest.java | 28 +-
.../structure/io/gryo/GryoMapperTest.java | 16 +
.../util/function/ScriptEngineLambdaTest.java | 1 +
gremlin-driver/pom.xml | 2 +-
.../tinkerpop/gremlin/driver/Channelizer.java | 2 +-
.../apache/tinkerpop/gremlin/driver/Client.java | 86 +--
.../tinkerpop/gremlin/driver/Connection.java | 8 +-
.../gremlin/driver/ConnectionPool.java | 46 +-
.../tinkerpop/gremlin/driver/Handler.java | 53 +-
.../tinkerpop/gremlin/driver/ResultQueue.java | 75 ++-
.../tinkerpop/gremlin/driver/ResultSet.java | 17 +-
.../apache/tinkerpop/gremlin/driver/Tokens.java | 100 +++-
.../gremlin/driver/message/RequestMessage.java | 8 +
.../driver/remote/DriverRemoteConnection.java | 106 ++--
.../driver/remote/DriverRemoteTraversal.java | 138 +++++
.../DriverRemoteTraversalSideEffects.java | 91 +++
.../gremlin/driver/ResultQueueTest.java | 97 ++++
.../tinkerpop/gremlin/driver/ResultSetTest.java | 4 +-
gremlin-groovy-test/pom.xml | 2 +-
.../groovy/loaders/SugarLoaderTest.groovy | 10 +-
.../traversal/step/filter/GroovyHasTest.groovy | 2 +-
.../step/filter/GroovyWhereTest.groovy | 6 +-
.../traversal/step/map/GroovyAddEdgeTest.groovy | 4 +-
.../traversal/step/map/GroovyMatchTest.groovy | 10 +
.../gremlin/groovy/GroovyTranslatorTest.java | 10 +-
...remlinGroovyScriptEngineFileSandboxTest.java | 13 +-
.../dsl/credential/CredentialGraphTest.java | 11 +
gremlin-groovy/pom.xml | 2 +-
.../AbstractImportCustomizerProvider.java | 2 +-
.../groovy/engine/ConcurrentBindings.java | 2 +
.../gremlin/groovy/engine/GremlinExecutor.java | 7 +-
.../gremlin/groovy/engine/ScriptEngines.java | 28 +-
.../jsr223/GremlinGroovyScriptEngine.java | 102 +++-
.../GremlinGroovyScriptEngineFactory.java | 28 +-
.../gremlin/groovy/jsr223/GroovyTranslator.java | 173 ++++++
.../java/translator/GroovyTranslator.java | 166 ------
...op.gremlin.jsr223.GremlinScriptEngineFactory | 1 +
.../groovy/engine/GremlinExecutorTest.java | 14 +-
.../groovy/util/DependencyGrabberTest.java | 4 -
.../jsr223/GroovyGremlinScriptEngineTest.java | 29 +
.../util/function/ScriptEngineLambdaTest.java | 163 ------
gremlin-python/pom.xml | 4 +-
.../python/GraphTraversalSourceGenerator.groovy | 24 +-
.../python/TraversalSourceGenerator.groovy | 87 +--
.../java/translator/PythonTranslator.java | 209 -------
.../jsr223/GremlinJythonScriptEngine.java | 18 +-
.../GremlinJythonScriptEngineFactory.java | 22 +-
.../gremlin/python/jsr223/PythonTranslator.java | 214 +++++++
.../gremlin/python/jsr223/SymbolHelper.java | 58 ++
.../gremlin/python/util/SymbolHelper.java | 58 --
.../jython/gremlin_python/driver/__init__.py | 1 +
.../gremlin_python/driver/remote_connection.py | 15 +-
.../driver/rest_remote_connection.py | 17 +-
.../jython/gremlin_python/process/__init__.py | 4 +-
.../gremlin_python/process/graph_traversal.py | 573 +------------------
.../jython/gremlin_python/process/graphson.py | 138 +++++
.../gremlin_python/process/groovy_translator.py | 91 ---
.../gremlin_python/process/jython_translator.py | 102 ----
.../jython/gremlin_python/process/traversal.py | 83 +--
.../gremlin_python/structure/remote_graph.py | 14 +-
...op.gremlin.jsr223.GremlinScriptEngineFactory | 1 +
.../translator/PythonTranslatorProvider.java | 151 -----
.../groovy/PythonGroovyTranslator.java | 70 ---
.../PythonGroovyTranslatorComputerProvider.java | 37 --
...thonGroovyTranslatorProcessComputerTest.java | 34 --
...thonGroovyTranslatorProcessStandardTest.java | 34 --
.../groovy/PythonGroovyTranslatorProvider.java | 39 --
.../groovy/PythonGroovyTranslatorTest.java | 95 ---
.../jython/PythonJythonTranslator.java | 70 ---
.../PythonJythonTranslatorComputerProvider.java | 37 --
...thonJythonTranslatorProcessComputerTest.java | 34 --
...thonJythonTranslatorProcessStandardTest.java | 34 --
.../jython/PythonJythonTranslatorProvider.java | 39 --
.../jython/PythonJythonTranslatorTest.java | 95 ---
.../python/driver/RESTRemoteConnectionTest.java | 10 +-
.../jsr223/GremlinJythonScriptEngineTest.java | 10 +-
.../python/jsr223/JythonScriptEngineSetup.java | 3 +-
.../python/jsr223/PythonComputerProvider.java | 36 ++
.../jsr223/PythonGraphSONJavaTranslator.java | 89 +++
.../jsr223/PythonGremlinScriptEngineTest.java | 31 +
.../jsr223/PythonProcessComputerTest.java | 33 ++
.../jsr223/PythonProcessStandardTest.java | 33 ++
.../gremlin/python/jsr223/PythonProvider.java | 164 ++++++
.../services/javax.script.ScriptEngineFactory | 2 -
gremlin-server/conf/gremlin-server-neo4j.yaml | 7 +-
.../conf/gremlin-server-rest-secure.yaml | 2 +-
gremlin-server/conf/gremlin-server-secure.yaml | 2 +-
gremlin-server/conf/gremlin-server-spark.yaml | 7 +-
gremlin-server/conf/gremlin-server.yaml | 7 +-
gremlin-server/pom.xml | 9 +-
gremlin-server/scripts/generate-all.groovy | 9 +-
gremlin-server/src/assembly/distribution.xml | 12 +-
.../tinkerpop/gremlin/server/GremlinServer.java | 8 +-
.../tinkerpop/gremlin/server/OpProcessor.java | 8 +
.../tinkerpop/gremlin/server/handler/Frame.java | 11 +
.../server/op/AbstractEvalOpProcessor.java | 1 -
.../gremlin/server/op/AbstractOpProcessor.java | 109 +++-
.../tinkerpop/gremlin/server/op/OpLoader.java | 14 +
.../server/op/control/ControlOpProcessor.java | 2 +
.../gremlin/server/op/control/ControlOps.java | 2 +
.../gremlin/server/op/session/Session.java | 4 +
.../server/op/session/SessionOpProcessor.java | 1 -
.../op/traversal/TraversalOpProcessor.java | 307 ++++++++--
.../gremlin/server/util/SideEffectIterator.java | 94 +++
.../gremlin/server/util/TraversalIterator.java | 54 ++
gremlin-server/src/main/static/LICENSE | 22 +-
gremlin-server/src/main/static/NOTICE | 2 +-
.../driver/remote/RemoteGraphProvider.java | 4 +-
...teGraphGroovyTranslatorComputerProvider.java | 54 ++
...raphGroovyTranslatorProcessComputerTest.java | 33 ++
...raphGroovyTranslatorProcessStandardTest.java | 33 ++
.../RemoteGraphGroovyTranslatorProvider.java | 37 ++
...teGraphGroovyTranslatorComputerProvider.java | 54 --
...raphGroovyTranslatorProcessComputerTest.java | 33 --
...raphGroovyTranslatorProcessStandardTest.java | 33 --
.../RemoteGraphGroovyTranslatorProvider.java | 35 --
.../remote/RemoteGraphProcessComputerTest.java | 34 ++
.../remote/RemoteGraphProcessStandardTest.java | 33 ++
.../process/RemoteGraphProcessComputerTest.java | 34 --
.../process/RemoteGraphProcessStandardTest.java | 33 --
.../server/GremlinDriverIntegrateTest.java | 9 +-
.../server/GremlinResultSetIntegrateTest.java | 23 +-
.../GremlinServerAuthOldIntegrateTest.java | 4 +-
.../GremlinServerSessionIntegrateTest.java | 17 +-
.../remote/gremlin-server-integration.yaml | 5 +-
.../server/gremlin-server-integration.yaml | 7 +-
.../server/gremlin-server-performance.yaml | 7 +-
gremlin-shaded/pom.xml | 2 +-
gremlin-test/pom.xml | 2 +-
.../apache/tinkerpop/gremlin/TestHelper.java | 10 +-
.../CachedGremlinScriptEngineManagerTest.java | 49 ++
.../jsr223/GremlinEnabledScriptEngineTest.java | 57 ++
.../jsr223/GremlinScriptEngineSuite.java | 47 ++
.../gremlin/jsr223/ScriptEngineLambdaTest.java | 158 +++++
.../gremlin/jsr223/ScriptEngineToTest.java | 35 ++
.../gremlin/process/ProcessComputerSuite.java | 2 +-
.../gremlin/process/ProcessStandardSuite.java | 2 +-
.../process/traversal/step/map/AddEdgeTest.java | 8 +-
.../traversal/step/map/AddVertexTest.java | 1 +
.../process/traversal/step/map/MatchTest.java | 38 ++
.../traversal/step/map/PropertiesTest.java | 5 +-
.../TranslationStrategyProcessTest.java | 67 ---
.../ElementIdStrategyProcessTest.java | 13 +-
.../decoration/EventStrategyProcessTest.java | 4 +
.../PartitionStrategyProcessTest.java | 8 +-
.../decoration/TranslationStrategy.java | 109 ++++
.../TranslationStrategyProcessTest.java | 67 +++
.../tinkerpop/gremlin/structure/EdgeTest.java | 14 +-
.../gremlin/structure/FeatureSupportTest.java | 19 +-
.../tinkerpop/gremlin/structure/GraphTest.java | 12 +-
.../gremlin/structure/PropertyTest.java | 12 +-
.../gremlin/structure/VertexPropertyTest.java | 2 +
.../tinkerpop/gremlin/structure/VertexTest.java | 23 +-
.../tinkerpop/gremlin/structure/io/IoTest.java | 6 +-
hadoop-gremlin/pom.xml | 2 +-
neo4j-gremlin/pom.xml | 2 +-
.../neo4j/process/NativeNeo4jCypherCheck.java | 60 +-
pom.xml | 10 +-
spark-gremlin/pom.xml | 2 +-
tinkergraph-gremlin/pom.xml | 2 +-
...erGraphGroovyTranslatorComputerProvider.java | 37 --
...raphGroovyTranslatorProcessComputerTest.java | 33 --
...raphGroovyTranslatorProcessStandardTest.java | 33 --
.../TinkerGraphGroovyTranslatorProvider.java | 75 ---
...nkerGraphJavaTranslatorComputerProvider.java | 37 --
...rGraphJavaTranslatorProcessComputerTest.java | 33 --
...rGraphJavaTranslatorProcessStandardTest.java | 33 --
.../TinkerGraphJavaTranslatorProvider.java | 79 ---
.../TinkerGraphNoStrategyComputerProvider.java | 2 +
...erGraphGroovyTranslatorComputerProvider.java | 37 ++
...raphGroovyTranslatorProcessComputerTest.java | 33 ++
...raphGroovyTranslatorProcessStandardTest.java | 33 ++
.../TinkerGraphGroovyTranslatorProvider.java | 75 +++
...nkerGraphJavaTranslatorComputerProvider.java | 37 ++
...rGraphJavaTranslatorProcessComputerTest.java | 33 ++
...rGraphJavaTranslatorProcessStandardTest.java | 33 ++
.../TinkerGraphJavaTranslatorProvider.java | 73 +++
.../structure/TinkerGraphPlayTest.java | 101 +++-
.../io/graphson/GraphSONTranslator.java | 74 +++
...GraphGraphSONTranslatorComputerProvider.java | 37 ++
...phGraphSONTranslatorProcessComputerTest.java | 33 ++
...phGraphSONTranslatorProcessStandardTest.java | 33 ++
.../TinkerGraphGraphSONTranslatorProvider.java | 88 +++
312 files changed, 7667 insertions(+), 4343 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83ffaf49/gremlin-python/src/main/jython/gremlin_python/driver/__init__.py
----------------------------------------------------------------------
diff --cc gremlin-python/src/main/jython/gremlin_python/driver/__init__.py
index 7e1c0f1,2a14af1..d89b59c
--- a/gremlin-python/src/main/jython/gremlin_python/driver/__init__.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/__init__.py
@@@ -16,7 -16,8 +16,8 @@@ KIND, either express or implied. See t
specific language governing permissions and limitations
under the License.
'''
-from remote_connection import RemoteConnection
-from remote_connection import RemoteResponse
-from rest_remote_connection import RESTRemoteConnection
+from .remote_connection import RemoteConnection
++from .remote_connection import RemoteResponse
+from .rest_remote_connection import RESTRemoteConnection
__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83ffaf49/gremlin-python/src/main/jython/gremlin_python/driver/rest_remote_connection.py
----------------------------------------------------------------------
diff --cc gremlin-python/src/main/jython/gremlin_python/driver/rest_remote_connection.py
index 6d967f8,3346b74..aedbe82
--- a/gremlin-python/src/main/jython/gremlin_python/driver/rest_remote_connection.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/rest_remote_connection.py
@@@ -19,8 -19,9 +19,9 @@@ under the License
import json
import requests
--from gremlin_python.process.traversal import Traverser
-from remote_connection import RemoteConnection
-from remote_connection import RemoteResponse
++from ..process.traversal import Traverser
+from .remote_connection import RemoteConnection
++from .remote_connection import RemoteResponse
__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83ffaf49/gremlin-python/src/main/jython/gremlin_python/process/__init__.py
----------------------------------------------------------------------
diff --cc gremlin-python/src/main/jython/gremlin_python/process/__init__.py
index e93356e,cb26ca5..46e9609
--- a/gremlin-python/src/main/jython/gremlin_python/process/__init__.py
+++ b/gremlin-python/src/main/jython/gremlin_python/process/__init__.py
@@@ -17,22 -17,22 +17,22 @@@ specific language governing permission
under the License.
'''
-from graph_traversal import GraphTraversal
-from graph_traversal import GraphTraversalSource
-from graph_traversal import __
-from graphson import GraphSONWriter
-from graphson import serializers
-from traversal import Barrier
-from traversal import Bytecode
-from traversal import Cardinality
-from traversal import Column
-from traversal import Direction
-from traversal import Operator
-from traversal import Order
-from traversal import P
-from traversal import Pop
-from traversal import Scope
-from traversal import T
-from traversal import Traversal
+from .graph_traversal import GraphTraversal
+from .graph_traversal import GraphTraversalSource
+from .graph_traversal import __
- from .groovy_translator import GroovyTranslator
- from .jython_translator import JythonTranslator
++from .graphson import GraphSONWriter
++from .graphson import serializers
+from .traversal import Barrier
+from .traversal import Bytecode
+from .traversal import Cardinality
+from .traversal import Column
+from .traversal import Direction
+from .traversal import Operator
+from .traversal import Order
+from .traversal import P
+from .traversal import Pop
+from .traversal import Scope
+from .traversal import T
+from .traversal import Traversal
__author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83ffaf49/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
----------------------------------------------------------------------
diff --cc gremlin-python/src/main/jython/gremlin_python/process/graphson.py
index 0000000,c169259..871ccfa
mode 000000,100644..100644
--- a/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
+++ b/gremlin-python/src/main/jython/gremlin_python/process/graphson.py
@@@ -1,0 -1,138 +1,138 @@@
+ '''
+ 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.
+ '''
+
+ import json
+ from abc import abstractmethod
+ from aenum import Enum
+
-from traversal import Binding
-from traversal import Bytecode
-from traversal import P
-from traversal import Traversal
++from .traversal import Binding
++from .traversal import Bytecode
++from .traversal import P
++from .traversal import Traversal
+
+
+ class GraphSONWriter(object):
+ @staticmethod
+ def _dictify(object):
+ for key in serializers:
+ if isinstance(object, key):
+ return serializers[key]._dictify(object)
+ return object
+
+ @staticmethod
+ def writeObject(object):
+ return json.dumps(GraphSONWriter._dictify(object))
+
+
+ '''
+ Serializers
+ '''
+
+
+ class GraphSONSerializer(object):
+ @abstractmethod
+ def _dictify(self, object):
+ return object
+
+
+ class BytecodeSerializer(GraphSONSerializer):
+ def _dictify(self, bytecode):
+ dict = {}
+ dict["@type"] = "Bytecode"
+ sources = []
+ for instruction in bytecode.source_instructions:
+ inst = []
+ inst.append(_SymbolHelper.toJava(instruction[0]))
+ for arg in instruction[1]:
+ inst.append(GraphSONWriter._dictify(arg))
+ sources.append(inst)
+ steps = []
+ for instruction in bytecode.step_instructions:
+ inst = []
+ inst.append(_SymbolHelper.toJava(instruction[0]))
+ for arg in instruction[1]:
+ inst.append(GraphSONWriter._dictify(arg))
+ steps.append(inst)
+ if len(sources) > 0:
+ dict["source"] = sources
+ if len(steps) > 0:
+ dict["step"] = steps
+ return dict
+
+
+ class EnumSerializer(GraphSONSerializer):
+ def _dictify(self, enum):
+ dict = {}
+ dict["@type"] = _SymbolHelper.toJava(type(enum).__name__)
+ dict["value"] = _SymbolHelper.toJava(str(enum.name))
+ return dict
+
+
+ class PSerializer(GraphSONSerializer):
+ def _dictify(self, p):
+ dict = {}
+ dict["@type"] = "P"
+ dict["predicate"] = _SymbolHelper.toJava(p.operator)
+ if p.other is None:
+ dict["value"] = GraphSONWriter._dictify(p.value)
+ else:
+ dict["value"] = [GraphSONWriter._dictify(p.value), GraphSONWriter._dictify(p.other)]
+ return dict
+
+
+ class BindingSerializer(GraphSONSerializer):
+ def _dictify(self, binding):
+ dict = {}
+ dict["@type"] = "Binding"
+ dict["variable"] = binding.variable
+ dict["value"] = GraphSONWriter._dictify(binding.value)
+ return dict
+
+
+ class TraversalSerializer(BytecodeSerializer):
+ def _dictify(self, traversal):
+ return BytecodeSerializer._dictify(self, traversal.bytecode)
+
+
+ class _SymbolHelper(object):
+ symbolMap = {"_global": "global", "_as": "as", "_in": "in", "_and": "and",
+ "_or": "or", "_is": "is", "_not": "not", "_from": "from"}
+
+ @staticmethod
+ def toJava(symbol):
+ if (symbol in _SymbolHelper.symbolMap):
+ return _SymbolHelper.symbolMap[symbol]
+ else:
+ return symbol
+
+ @staticmethod
+ def mapEnum(enum):
+ if (enum in enumMap):
+ return enumMap[enum]
+ else:
+ return enum
+
+
+ serializers = {
+ Bytecode: BytecodeSerializer(),
+ Binding: BindingSerializer(),
+ P: PSerializer(),
+ Enum: EnumSerializer(),
+ Traversal: TraversalSerializer()
+ }
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83ffaf49/gremlin-python/src/main/jython/gremlin_python/structure/remote_graph.py
----------------------------------------------------------------------