use of org.openntf.conference.graph.Presentation in project org.openntf.domino by OpenNTF.
the class MiscTester method run.
@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");
}
use of org.openntf.conference.graph.Presentation in project org.openntf.domino by OpenNTF.
the class SessionsByTimeslot method run.
@Override
public void run() {
long testStartTime = System.nanoTime();
marktime = System.nanoTime();
try {
timelog("Beginning Sessions By TimeSlot...");
ConferenceGraph graph = new ConferenceGraph();
Session session = Factory.getSession(SessionType.CURRENT);
String myName = session.getEffectiveUserName();
Attendee att = graph.getAttendee(myName, false);
Ordering<TimeSlot> byStart = new Ordering<TimeSlot>() {
@Override
public int compare(final TimeSlot t1, final TimeSlot t2) {
return t1.getStartTime().compareTo(t2.getStartTime());
}
};
Iterable<TimeSlot> times = graph.getTimeSlots();
List<TimeSlot> timesSorted = byStart.sortedCopy(times);
for (TimeSlot ts : timesSorted) {
System.out.println("Sessions running from " + DATE_FORMAT.format(ts.getStartTime().getTime()) + " to " + DATE_FORMAT.format(ts.getEndTime().getTime()));
System.out.println(ts.getDuration());
Iterable<Event> presentations = ts.getEvents();
for (Event evt : presentations) {
if (evt instanceof Presentation) {
Presentation pres = (Presentation) evt;
System.out.println(pres.getSessionId() + ": " + pres.getTitle());
}
}
}
} catch (Throwable t) {
t.printStackTrace();
}
long testEndTime = System.nanoTime();
System.out.println("Completed " + getClass().getSimpleName() + " run in " + ((testEndTime - testStartTime) / 1000000) + " ms");
}
use of org.openntf.conference.graph.Presentation 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