Search in sources :

Example 1 with SqlgHasStep

use of org.umlg.sqlg.step.SqlgHasStep in project sqlg by pietermartin.

the class SqlgHasStepStrategy method apply.

@Override
public void apply(final Traversal.Admin<?, ?> traversal) {
    // noinspection OptionalGetWithoutIsPresent
    if (!(traversal.getGraph().get() instanceof SqlgGraph)) {
        return;
    }
    List<HasStep> hasSteps = TraversalHelper.getStepsOfAssignableClass(HasStep.class, traversal);
    for (HasStep<?> hasStep : hasSteps) {
        SqlgHasStep sqlgHasStep = new SqlgHasStep(hasStep.getTraversal(), hasStep.getHasContainers().toArray(new HasContainer[] {}));
        for (String label : hasStep.getLabels()) {
            sqlgHasStep.addLabel(label);
        }
        TraversalHelper.replaceStep(hasStep, sqlgHasStep, hasStep.getTraversal());
    }
}
Also used : SqlgGraph(org.umlg.sqlg.structure.SqlgGraph) HasStep(org.apache.tinkerpop.gremlin.process.traversal.step.filter.HasStep) SqlgHasStep(org.umlg.sqlg.step.SqlgHasStep) SqlgHasStep(org.umlg.sqlg.step.SqlgHasStep) HasContainer(org.apache.tinkerpop.gremlin.process.traversal.step.util.HasContainer)

Aggregations

HasStep (org.apache.tinkerpop.gremlin.process.traversal.step.filter.HasStep)1 HasContainer (org.apache.tinkerpop.gremlin.process.traversal.step.util.HasContainer)1 SqlgHasStep (org.umlg.sqlg.step.SqlgHasStep)1 SqlgGraph (org.umlg.sqlg.structure.SqlgGraph)1