Search in sources :

Example 1 with DVertexFrameComparator

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");
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) CaseInsensitiveString(org.openntf.domino.types.CaseInsensitiveString) DGraph(org.openntf.domino.graph2.impl.DGraph) FramedVertexList(org.openntf.domino.graph2.annotations.FramedVertexList) FramedVertexList(org.openntf.domino.graph2.annotations.FramedVertexList) ArrayList(java.util.ArrayList) List(java.util.List) GremlinPipeline(com.tinkerpop.gremlin.java.GremlinPipeline) DVertexFrameComparator(org.openntf.domino.graph2.builtin.DVertexFrameComparator) Sponsor(org.openntf.conference.graph.Sponsor) Presentation(org.openntf.conference.graph.Presentation) ConferenceGraph(org.openntf.conference.graph.ConferenceGraph) Attendee(org.openntf.conference.graph.Attendee) CaseInsensitiveString(org.openntf.domino.types.CaseInsensitiveString) DVertexFrame(org.openntf.domino.graph2.builtin.DVertexFrame) Track(org.openntf.conference.graph.Track) DEdge(org.openntf.domino.graph2.DEdge)

Aggregations

GremlinPipeline (com.tinkerpop.gremlin.java.GremlinPipeline)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Attendee (org.openntf.conference.graph.Attendee)1 ConferenceGraph (org.openntf.conference.graph.ConferenceGraph)1 Presentation (org.openntf.conference.graph.Presentation)1 Sponsor (org.openntf.conference.graph.Sponsor)1 Track (org.openntf.conference.graph.Track)1 DEdge (org.openntf.domino.graph2.DEdge)1 FramedVertexList (org.openntf.domino.graph2.annotations.FramedVertexList)1 DVertexFrame (org.openntf.domino.graph2.builtin.DVertexFrame)1 DVertexFrameComparator (org.openntf.domino.graph2.builtin.DVertexFrameComparator)1 DGraph (org.openntf.domino.graph2.impl.DGraph)1 CaseInsensitiveString (org.openntf.domino.types.CaseInsensitiveString)1