* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
*/
package org.onap.aai.query.builder;
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.exceptions.AAIException;
import org.onap.aai.introspection.Introspector;
import org.onap.aai.introspection.Loader;
import org.onap.aai.parsers.query.QueryParser;
import org.onap.aai.parsers.query.TraversalStrategy;
+import org.onap.aai.serialization.db.EdgeRules;
/**
* The Class TraversalQuery.
this.factory = new TraversalStrategy(this.loader, this);
}
+ /**
+ * Instantiates a new traversal query.
+ *
+ * @param loader the loader
+ * @param source graph traversal source
+ * @param edgeRules the edgeRules to use
+ */
+ public TraversalQuery(Loader loader, GraphTraversalSource source, EdgeRules edgeRules) {
+ super(loader, source, edgeRules);
+ this.factory = new TraversalStrategy(this.loader, this);
+
+ }
+
/**
* Instantiates a new traversal query.
*
this.factory = new TraversalStrategy(this.loader, this);
}
+ /**
+ * Instantiates a new traversal query.
+ *
+ * @param loader the loader
+ * @param start the start
+ */
+ public TraversalQuery(Loader loader, GraphTraversalSource source, Vertex start, EdgeRules edgeRules) {
+ super(loader, source, start, edgeRules);
+ this.factory = new TraversalStrategy(this.loader, this);
+ }
+
protected TraversalQuery(GraphTraversal<Vertex, E> traversal, Loader loader, GraphTraversalSource source, GraphTraversalBuilder<E> gtb) {
super(loader, source);
this.traversal = traversal;
@Override
protected QueryBuilder<E> cloneQueryAtStep(int index) {
- if (index == 0) {
- index = stepIndex;
+ int idx = index;
+
+ if (idx == 0) {
+ idx = stepIndex;
}
+
GraphTraversal<Vertex, E> clone = this.traversal.asAdmin().clone();
GraphTraversal.Admin<Vertex, E> cloneAdmin = clone.asAdmin();
List<Step> steps = cloneAdmin.getSteps();
- for (int i = steps.size()-1; i >= index; i--) {
+ for (int i = steps.size()-1; i >= idx; i--) {
cloneAdmin.removeStep(i);
}
return new TraversalQuery<>(cloneAdmin, loader, source, this);