Marko A. Rodriguez created TINKERPOP-1455: ---------------------------------------------
Summary: Lambda based {{withStrategies()}} and String-based {{withoutStrategies()}}. Key: TINKERPOP-1455 URL: https://issues.apache.org/jira/browse/TINKERPOP-1455 Project: TinkerPop Issue Type: Improvement Components: language-variant, process Affects Versions: 3.2.2 Reporter: Marko A. Rodriguez 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.3.4#6332)