[ https://issues.apache.org/jira/browse/TINKERPOP-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stephen mallette updated TINKERPOP-1455: ---------------------------------------- Component/s: (was: language-variant) > Provide String-based withStrategy()/withoutStrategy() for language variant > usage > -------------------------------------------------------------------------------- > > Key: TINKERPOP-1455 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1455 > Project: TinkerPop > Issue Type: Improvement > Components: process > Affects Versions: 3.2.2 > Reporter: Marko A. Rodriguez > Assignee: Marko A. Rodriguez > Fix For: 3.2.3 > > > Right now {{withStrategies()}} is not supported by Gremlin-Python. Why? > Because strategies are created via Java and thus you can't do stuff like: > {code} > g.withStrategies(SubgraphStrategy.build()...create()) > {code} > Now, we have strategies that we have made "native" to > {{GraphTraversalSource}} by way of {{withXXX}}. For example: > {{withSideEffect()}}, {{withSack()}}, {{withRemote()}}, {{withPath()}}, etc. > In order to generally support any strategy created by a user for use from a > language variant, we should support lambda based strategies. E.g.: > {code} > g.withStrategies(lambda : "SubgraphStrategy.build()...create()") > {code} > Like any other lambda, it is executed server side using the respective > {{ScriptEngine}}. > Next, {{withoutStrategies()}} should support {{String...}} so you can do: > {code} > g.withoutStrategies("com.stuff.MyStrategy", "com.stuff.MyOtherStrategy") > {code} > ..instead of having to pass in the {{Class}} object. -- This message was sent by Atlassian JIRA (v6.4.14#64029)