package org.openntf.conference.graph.examples; import javolution.util.FastSet; import org.openntf.conference.graph.Attendee; import org.openntf.conference.graph.ConferenceGraph; import org.openntf.conference.graph.Event; import org.openntf.conference.graph.Presentation; import org.openntf.domino.graph2.builtin.social.Comment; import org.openntf.domino.graph2.builtin.social.Rates; import org.openntf.domino.junit.TestRunnerUtil; import com.google.common.collect.Lists; public class MiscTester implements Runnable { private long marktime; public MiscTester() { } @Override public void run() { long testStartTime = System.nanoTime(); marktime = System.nanoTime(); try { ConferenceGraph graph = new ConferenceGraph(); Attendee paul = graph.getAttendee("paulswithers"); Attendee dv = graph.getAttendee("DanieleVistalli"); System.out.println(paul.getEmail()); Iterable<Event> evts = paul.getAttendingEvents(); FastSet<Presentation> presentations = new FastSet<Presentation>(); for (Event evt : evts) { if (evt instanceof Presentation) { presentations.add((Presentation) evt); } } System.out.println("Paul is attending " + presentations.size() + " Sessions"); evts = dv.getAttendingEvents(); presentations = new FastSet<Presentation>(); for (Event evt : evts) { if (evt instanceof Presentation) { presentations.add((Presentation) evt); } } System.out.println("Paul is attending " + presentations.size() + " Sessions"); evts = paul.getPresentingEvents(); presentations = new FastSet<Presentation>(); for (Event evt : evts) { if (evt instanceof Presentation) { presentations.add((Presentation) evt); } } System.out.println("Paul is presenting " + presentations.size() + " Sessions"); Presentation pres = presentations.iterator().next(); Comment comm = graph.getFramedGraph().addVertex(null, Comment.class); comm.setBody("This is a test comment"); paul.addComment(comm); pres.addComment(comm); paul.addLikeable(comm); paul.addLikeable(pres); // Uncomment this and you get a duplicate // Rates rate1 = paul.addRates(pres); // rate1.setRating(5); // This doesn't give a duplicate Rates rate3 = pres.addRater(paul); rate3.setRating(5); Rates rate2 = dv.addRateable(pres); rate2.setRating(2); System.out.println("Comments by Paul: " + Lists.newArrayList(paul.getComments()).size()); for (Comment testComm : paul.getComments()) { System.out.println(testComm.getBody()); } System.out.println("Likes by Paul: " + Lists.newArrayList(paul.getLikes()).size()); System.out.println("Comments on Pres: " + Lists.newArrayList(pres.getComments()).size()); System.out.println("Likes on Pres: " + Lists.newArrayList(pres.countLikedBys())); System.out.println("Rates on Pres: " + Lists.newArrayList(pres.getRates()).size()); for (Rates r : Lists.newArrayList(pres.getRates())) { System.out.println("Rating - " + r.asEdge().getId() + " - " + r.getRating()); } System.out.println("Rates by Paul: " + Lists.newArrayList(paul.getRates()).size()); System.out.println("Rating by Paul: " + pres.getRaterRating(paul)); System.out.println("Average: " + pres.getAverageRating()); } catch (Exception e) { e.printStackTrace(); } long testEndTime = System.nanoTime(); System.out.println("Completed " + getClass().getSimpleName() + " run in " + ((testEndTime - testStartTime) / 1000000) + " ms"); } public void timelog(final String message) { long curtime = System.nanoTime(); long elapsed = curtime - marktime; marktime = curtime; System.out.println(elapsed / 1000000 + " ms: " + message); } public static void main(final String[] args) { TestRunnerUtil.runAsDominoThread(new MiscTester(), TestRunnerUtil.NATIVE_SESSION); } }