package org.jboss.windup.config.query; import com.tinkerpop.blueprints.Vertex; import com.tinkerpop.gremlin.java.GremlinPipeline; import org.jboss.windup.config.GraphRewrite; /** * A Pipes step which filters vertices which have outgoing edges of given label. */ public class OutAndBackCriterion implements QueryGremlinCriterion { private final String edgeLabel; public OutAndBackCriterion(String edgeLabel) { this.edgeLabel = edgeLabel; } @Override public void query(GraphRewrite event, GremlinPipeline<Vertex, Vertex> pipeline) { pipeline.as("x").out(edgeLabel).back("x"); } @Override public String toString() { return ".outAndBack(" + edgeLabel + ')'; } }