diff options
Diffstat (limited to 'aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java')
-rw-r--r-- | aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java b/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java index ba6acb66..fbaa7465 100644 --- a/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java +++ b/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java @@ -26,6 +26,7 @@ import groovy.lang.Script; import java.util.Map; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.onap.aai.config.SpringContextAware; import org.onap.aai.introspection.Loader; @@ -53,11 +54,8 @@ public class GroovyQueryBuilder extends AAIAbstractGroovyShell { @Override public String executeTraversal(TransactionalGraphEngine engine, String traversal, Map<String, Object> params) { QueryBuilder<Vertex> builder = engine.getQueryBuilder(QueryStyle.GREMLIN_TRAVERSAL); - SchemaVersions schemaVersions = (SchemaVersions) SpringContextAware.getBean("schemaVersions"); - Loader loader = SpringContextAware.getBean(LoaderFactory.class).createLoaderForVersion(ModelType.MOXY, - schemaVersions.getDefaultVersion()); - builder.changeLoader(loader); + builder.changeLoader(getLoader()); Binding binding = new Binding(params); binding.setVariable("builder", builder); Script script = shell.parse(traversal); @@ -74,4 +72,17 @@ public class GroovyQueryBuilder extends AAIAbstractGroovyShell { public GraphTraversal<?, ?> executeTraversal(String traversal, Map<String, Object> params) { throw new UnsupportedOperationException(); } + + @Override + public String executeTraversal(TransactionalGraphEngine engine, String traversal, Map<String, Object> params, QueryStyle style, GraphTraversalSource traversalSource) { + QueryBuilder<Vertex> builder = engine.getQueryBuilder(style, traversalSource); + builder.changeLoader(getLoader()); + Binding binding = new Binding(params); + binding.setVariable("builder", builder); + Script script = shell.parse(traversal); + script.setBinding(binding); + script.run(); + + return builder.getQuery(); + } } |