Merge branch 'TINKERPOP-1387' into tp32

Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2fedaace
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2fedaace
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2fedaace

Branch: refs/heads/TINKERPOP-1625
Commit: 2fedaace4f40e98a0175048f468e4f826b2550cf
Parents: a314c9c 38dc621
Author: Marko A. Rodriguez <okramma...@gmail.com>
Authored: Fri Mar 24 08:36:43 2017 -0600
Committer: Marko A. Rodriguez <okramma...@gmail.com>
Committed: Fri Mar 24 08:36:43 2017 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |   5 +
 docs/src/reference/the-traversal.asciidoc       |  58 +++
 .../upgrade/release-3.2.x-incubating.asciidoc   |  16 +
 .../gremlin/process/traversal/Path.java         |  57 +++
 .../traversal/dsl/graph/GraphTraversal.java     | 423 +++++++++----------
 .../traversal/step/FromToModulating.java        |  48 +++
 .../traversal/step/filter/CyclicPathStep.java   |  46 --
 .../traversal/step/filter/PathFilterStep.java   | 139 ++++++
 .../traversal/step/filter/SimplePathStep.java   |  47 ---
 .../process/traversal/step/map/AddEdgeStep.java |  19 +-
 .../process/traversal/step/map/PathStep.java    |  29 +-
 .../optimization/FilterRankingStrategy.java     |  38 +-
 .../IncidentToAdjacentStrategy.java             |   7 +-
 .../gremlin/process/traversal/PathTest.java     | 128 +++++-
 .../step/filter/CyclicPathStepTest.java         |  37 --
 .../step/filter/PathFilterStepTest.java         |  53 +++
 .../step/filter/SimplePathStepTest.java         |  37 --
 .../step/filter/GroovyCyclicPathTest.groovy     |   6 +
 .../step/filter/GroovySimplePathTest.groovy     |   5 +
 .../traversal/step/map/GroovyPathTest.groovy    |   5 +
 .../process/traversal/step/ComplexTest.java     |  49 ++-
 .../traversal/step/filter/CyclicPathTest.java   |  16 +-
 .../traversal/step/filter/SimplePathTest.java   |  29 +-
 .../process/traversal/step/map/PathTest.java    |  20 +
 24 files changed, 874 insertions(+), 443 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2fedaace/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 367e3cc,ab73263..ed26f7a
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -26,16 -26,11 +26,21 @@@ image::https://raw.githubusercontent.co
  TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
 +* De-registered metrics on Gremlin Server shutdown.
 +* Added "help" command option on `:remote config` for plugins that support 
that feature in the Gremlin Console.
 +* Allowed for multiple scripts and related arguments to be passed to 
`gremlin.sh` via `-i` and `-e`.
 +* Added various metrics to the `GremlinGroovyScriptEngine` around script 
compilation and exposed them in Gremlin Server.
 +* Moved the `caffeine` dependency down to `gremlin-groovy` and out of 
`gremlin-server`.
 +* Improved script compilation in `GremlinGroovyScriptEngine to use better 
caching, log long compile times and prevent failed compilations from 
recompiling on future requests.
 +* Script compilation is synchronised.
 +* Script compilation times are placed in to logs.
 +* Failed scripts will not be recompiled.
 +* Scripts that take over 5 seconds to compile are logged as a warning.
+ * Added `cyclicPath().from().to().by()` support to `GraphTraversal`.
+ * Added `simplePath().from().to().by()` support to `GraphTraversal`.
+ * Added `path().from().to()` support to `GraphTraversal` so sub-paths can be 
isolated from the current path.
+ * Added `FromToModulating` interface for use with `to()`- and `from()`-based 
step modulators.
+ * Added `Path.subPath()` which supports isolating a sub-path from `Path` via 
to/from-labels.
  * Fixed an `NullPointerException` in `GraphMLReader` that occurred when an 
`<edge>` didn't have an ID field and the base graph supported ID assignment.
  * Split `ComputerVerificationStrategy` into two strategies: 
`ComputerVerificationStrategy` and `ComputerFinalizationStrategy`.
  * Removed `HasTest.g_V_hasId_compilationEquality` from process test suite as 
it makes too many assumptions about provider compilation.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2fedaace/docs/src/reference/the-traversal.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2fedaace/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --cc docs/src/upgrade/release-3.2.x-incubating.asciidoc
index 79b1ac3,7fe1d84..fbe31bd
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@@ -32,31 -32,13 +32,40 @@@ Please see the link:https://github.com/
  Upgrading for Users
  ~~~~~~~~~~~~~~~~~~~
  
 +GremlinScriptEngine Metrics
 +^^^^^^^^^^^^^^^^^^^^^^^^^^^
 +
 +The `GremlinScriptEngine` has a number of new metrics about its cache size 
and script compilation times which should
 +be helpful in understanding usage problems. As `GremlinScriptEngine` 
instances are used in Gremlin Server these metrics
 +are naturally exposed as part of the standard 
link:http://tinkerpop.apache.org/docs/current/reference/#_metrics[metrics]
 +set. Note that metrics are captured for both sessionless requests as well as 
for each individual session that is opened.
 +
 +See: https://issues.apache.org/jira/browse/TINKERPOP-1644[TINKERPOP-1644]
 +
 +Gremlin Console Scripting
 +^^^^^^^^^^^^^^^^^^^^^^^^^
 +
 +The `gremlin.sh` command has two flags, `-i` and `-e`, which are used to pass 
a script and arguments into the Gremlin
 +Console for execution. Those flags now allow for passing multiple scripts and 
related arguments to be supplied which
 +can yield greater flexibilty in automation tasks.
 +
 +[source,bash]
 +----
 +$ bin/gremlin.sh -i y.groovy 1 2 3 -i x.groovy
 +$ bin/gremlin.sh -e y.groovy 1 2 3 -e x.groovy
 +----
 +
 +See: link:https://issues.apache.org/jira/browse/TINKERPOP-1653[TINKERPOP-1653]
 +
+ simplePath(), cyclicPath(), and path() support by()-, from()-, to()-modulation
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 
+ It is now possible to extract analyze sub-paths using `from()` and `to()` 
modulations with respective, path-based steps.
+ Likewise, `simplePath()` and `cyclicPath()` now support, along with `from()` 
and `to()`, `by()`-modulation so the cyclicity
+ is determined by projections of the path data. This extension is fully 
backwards compatible.
+ 
++See: link:https://issues.apache.org/jira/browse/TINKERPOP-1387[TINKERPOP-1387]
++
  Gremlin-Python Driver
  ^^^^^^^^^^^^^^^^^^^^^
  Gremlin-Python now offers a more complete driver implementation that uses 
connection pooling and

Reply via email to