use of org.openntf.domino.graph2.builtin.DVertexFrameComparator in project org.openntf.domino by OpenNTF.
the class SessionsByTrack method run.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void run() {
HashMap<String, String> trackLkup = new HashMap<String, String>();
trackLkup.put("Special", "Sp");
trackLkup.put("Strategy/Deployment", "Str");
trackLkup.put("Administration", "Adm");
trackLkup.put("Development", "Dev");
trackLkup.put("Business", "Bus");
trackLkup.put("Commercial", "Comm");
long testStartTime = System.nanoTime();
marktime = System.nanoTime();
try {
timelog("Beginning Sessions By Track...");
FramedGraph<DGraph> graph2 = new ConferenceGraph().getFramedGraph();
Iterable<Sponsor> sponsors = graph2.getVertices("Level", Level.BRONZE, Sponsor.class);
for (Sponsor s : sponsors) {
System.out.println("Sponsor " + s.getName() + " - " + s.getUrl());
}
ConferenceGraph graph = new ConferenceGraph();
for (Entry<String, String> track : trackLkup.entrySet()) {
System.out.println("Outputting sessions ordered by ID for " + track.getKey());
Track dev = graph.getFramedGraph().getVertex(track.getValue(), Track.class);
System.out.println(dev.getDescription());
Iterable<Presentation> presentations = dev.getIncludesSessions();
Ordering<DVertexFrame> ord = Ordering.from(new DVertexFrameComparator("SessionID"));
List<Presentation> presOrdered = ord.sortedCopy(presentations);
for (Presentation pres : presOrdered) {
Attendee att = pres.getPresentingAttendees().iterator().next();
System.out.println(att.getFullname());
System.out.println(pres.getSessionId() + ": " + pres.getTitle());
}
}
for (Entry<String, String> track : trackLkup.entrySet()) {
System.out.println("Outputting sessions ordered by Title for " + track.getKey());
Track dev = graph.getFramedGraph().getVertex(track.getValue(), Track.class);
Iterable<Presentation> presentations = dev.getIncludesSessions();
Ordering<DVertexFrame> ord = Ordering.from(new DVertexFrameComparator("SessionTitle"));
List<Presentation> presOrdered = ord.sortedCopy(presentations);
for (Presentation pres : presOrdered) {
System.out.println(pres.getSessionId() + ": " + pres.getTitle());
}
}
System.out.println("OUTPUTTING SORTBY");
FramedVertexList<Sponsor> sponsors2 = (FramedVertexList<Sponsor>) graph2.getVertices(null, null, Sponsor.class);
List<CaseInsensitiveString> keys = new ArrayList<CaseInsensitiveString>();
keys.add(new CaseInsensitiveString("Level"));
keys.add(new CaseInsensitiveString("Name"));
sponsors2.sortBy((List<CharSequence>) (List<?>) keys, true);
for (Sponsor spon : sponsors2) {
System.out.println(spon.getLevel().name() + " - " + spon.getName());
}
// Throws java.lang.ClassCastException: com.sun.proxy.$Proxy11 incompatible with com.tinkerpop.blueprints.Vertex
// Yet to track down why
List<Presentation> presentations = Lists.newArrayList(graph.getFramedGraph().getVertices(null, null, Presentation.class));
// GremlinPipeline pipe = new GremlinPipeline(presentations).outE("PresentedBy").outV().dedup();
GremlinPipeline pipe = new GremlinPipeline(presentations).outE("PresentedBy");
List<DEdge> edges = pipe.toList();
for (DEdge edge : edges) {
System.out.println(edge.getVertex(Direction.OUT).getId());
}
} catch (Throwable t) {
t.printStackTrace();
}
long testEndTime = System.nanoTime();
System.out.println("Completed " + getClass().getSimpleName() + " run in " + ((testEndTime - testStartTime) / 1000000) + " ms");
}
Aggregations