GitHub user okram opened a pull request:
https://github.com/apache/incubator-tinkerpop/pull/165
TINKERPOP3-1013: Traverser tags as a safer way of using path labels
https://issues.apache.org/jira/browse/TINKERPOP3-1013
We have had a hack in `MatchStep` this whole time where we use path labels
to store branch history. This is not only semantically awkward (as labels are
added that were not provided via `as()`), it also means we will not be able to
do https://issues.apache.org/jira/browse/TINKERPOP3-736. Also, this will allow
us to cleanly implement `IntersectStep` and `SymetricDifferenceStep` (down the
road).
The implementation is really simple. `Traverser.getTags()`. This method
returns a mutable set and thus, we can remove, add, size, contains, etc. tags
associated with a traverser.
Ran `mvn clean install` and all is golden.
VOTE +1.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP3-1013
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-tinkerpop/pull/165.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #165
----
commit e6a1141a0515f8adc7e51adb2a84495349b06c6a
Author: Marko A. Rodriguez <[email protected]>
Date: 2015-12-01T20:16:26Z
Added Traverser.getTags(). This gives us more flexbility in how we handle
branch-history. This improves MatchStep, future IntersectStep, future
SymmetricDifferenceStep, and will allow us to do traversal rewriting in
MatchStep (TINKERPOP3-736). No more awkward hack of
traverser.path().extend(step.getId())... the stepID is NOT a path label, its a
tag.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---