aboutsummaryrefslogtreecommitdiffstats
path: root/aai-core/src/main/java/org/onap/aai/restcore/search/GroovyQueryBuilder.java
diff options
context:
space:
mode:
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.java19
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();
+ }
}