}
public static void printWorkload(final Collection<? extends Person> personsColl, DataPoolSettings settings) {
try {
File file = File.createTempFile("timefinder.workload", "timetable.html");
FileWriter writer = new FileWriter(file);
writer.write("<html><head><title>Workload</title>");
writer.write("</head>");
writer.write("<body>");
HtmlPlannerComponent planner = new HtmlPlannerComponent(settings, "person load per slot in percent") {
@Override
protected String addTableEntry(Collection<Event> eventsPerSlot) {
int persons = 0;
// assume disjunct sets of persons
for (Event event : eventsPerSlot) {
persons += event.getPersons().size();
}
return Math.round(persons * 100.0f / personsColl.size()) + "%";// + persons + ";" + personsColl.size();
}
};
for (Person p : personsColl) {
planner.addEvents(p.getEvents());
}
writer.write(planner.getTimeTable());
writer.write("<br/><br/>");
planner = new HtmlPlannerComponent(settings, "events load per slot in percent");
for (Person p : personsColl) {
planner.addEvents(p.getEvents());
}
writer.write(planner.getTimeTable());
writer.write("</body></html>");
writer.close();
Helper.openURL(file.toURI());
} catch (IOException ex) {
new RuntimeException("Problem while writing timetable of persons!", ex);
}
}