package com.thinkaurelius.titan.webexample;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@Component
public class JavaGraphOp {
// Autowired via setter. I leave this as a blueprints.Graph unless I have to do Titan specific stuff.
private Graph g;
@Autowired
// I like to autowire via setters because it makes it easy to write spring-free unit tests.
public void setGraph(TitanGraphFactory gf) {
this.g = gf.getGraph();
}
public String listVertices() {
List<String> gods = new ArrayList<String>();
Iterator<Vertex> itty = g.vertices();
Vertex v;
while (itty.hasNext()) {
v = itty.next();
gods.add((String) v.property("name").value());
}
return gods.toString();
}
}