Package com.tinkerpop.gremlin.process

Examples of com.tinkerpop.gremlin.process.TraverserGenerator


    @Override
    public void apply(final Traversal<?, ?> traversal, final TraversalEngine engine) {
        if (engine.equals(TraversalEngine.COMPUTER))
            return;

        final TraverserGenerator traverserGenerator = TraversalStrategies.GlobalCache.getStrategies(traversal.getClass()).getTraverserGenerator(traversal, engine);
        traversal.getSteps()
                .stream()
                .filter(step -> step instanceof TraverserSource)
                .forEach(step -> ((TraverserSource) step).generateTraversers(traverserGenerator));
    }
View Full Code Here


            if (!(this.traversal.getSteps().get(0) instanceof GraphStep))
                throw new UnsupportedOperationException("TraversalVertexProgram currently only supports GraphStep starts on vertices or edges");

            final GraphStep<Element> startStep = (GraphStep<Element>) this.traversal.getSteps().get(0);   // TODO: make this generic to Traversal
            final TraverserGenerator traverserGenerator = TraversalStrategies.GlobalCache.getStrategies(this.traversal.getClass()).getTraverserGenerator(this.traversal, TraversalEngine.COMPUTER);
            final String future = startStep.getNextStep() instanceof EmptyStep ? Traverser.Admin.HALT : startStep.getNextStep().getLabel();
            final AtomicBoolean voteToHalt = new AtomicBoolean(true);
            final Iterator<? extends Element> starts = startStep.returnsVertices() ? new SingleIterator<>(vertex) : vertex.iterators().edgeIterator(Direction.OUT);
            starts.forEachRemaining(element -> {
                final Traverser.Admin<Element> traverser = traverserGenerator.generate(element, startStep);
                traverser.setFuture(future);
                traverser.detach();
                if (traverser.isHalted())
                    haltedTraversers.add((Traverser.Admin) traverser);
                else {
View Full Code Here

TOP

Related Classes of com.tinkerpop.gremlin.process.TraverserGenerator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.