GitHub user dpitera reopened a pull request:
https://github.com/apache/tinkerpop/pull/569
TINKERPOP-1438: GraphManager becomes a customizable interface
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dpitera/tinkerpop TINKERPOP-1438
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/569.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 #569
----
commit 1f2cfa04bfb5c6758aecb2ff69a4a7942c1701f0
Author: Benjamin Anderson <[email protected]>
Date: 2016-08-20T05:33:16Z
Replace GraphManager with interface
This enabled settings-based customization of the GraphManager
implementation class, allowing implementors to customize the behavior of
the GraphManager.
commit 67471d13b5fa05d19d51f117a95530a81011f792
Author: dpitera <[email protected]>
Date: 2016-11-21T18:01:47Z
GraphManager support opening of specific graphs
This changeset allows an implementor to open a specific graph. One may
use this concept to implement a dynamic graph cache.
Furthermore, to ensure that rebindings work as intended, i.e. the list
of graphs returned to the HttpGremlinEndpointHandler, or "open graphs",
must include the to-be-rebound-graph. This changeset includes a change
to return these rebound graphs specifically.
Similar story as above for the WebSockets class, StandardOpProcessor.
Similar story for sessions, SessionOpProcessor.
Furthermore, the serializers at server boot only need to be aware of the
graphs defined in the settings object, so the relevant change here is in
AbstractChannelizer.
Furthermore:
To encourage a GraphManager implementation whose modification of the
Map<String, Graph> object aligns more closely with accepted "Getter and
Setter" design patterns, we update the adding of graphs to the
GraphManager Map by calling the new `addGraph(String, Graph)` rather
than publicly editting it with a call to `getGraphs().put(String,
Graph)`.
Also added `addTraversalSource(String, TraversalSource) for same
reasons.
Also, updated BasicGraphManager according to the new specifications.
commit 4f9f90b995aacba344d0b4c54ef2600f66fcbb48
Author: dpitera <[email protected]>
Date: 2017-03-15T19:31:45Z
Allow for custom graph instantiations/closings
This allows an implementor to supply a custom openGraph function to
return a newly instantiated graph object, and similarly do the same to
close a graph object, while doing so through the graphManager for
reference tracking.
commit 32374d9442229930b2713a35ec4c44aadff6c732
Author: dpitera <[email protected]>
Date: 2017-03-15T19:34:09Z
Update docs acc. to GraphManager changes
commit 8aa66e19037ace4443d19c90591b5a86fea09cfa
Author: dpitera <[email protected]>
Date: 2017-03-16T15:32:47Z
Update code according to PR comments/suggestions
----
---
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.
---