package scrum.server.calendar; import ilarkesto.base.time.Date; import ilarkesto.pdf.APdfContainerElement; import ilarkesto.pdf.FieldList; import scrum.server.common.APdfCreator; import scrum.server.project.Project; public class CalendarPdfCreator extends APdfCreator { private Project project; private Date from; private Date to; public CalendarPdfCreator(Project project, Date from, Date to) { super(); this.project = project; this.from = from; this.to = to; } @Override protected void build(APdfContainerElement pdf) { pdf.paragraph().text("Calendar", headerFonts[0]); for (SimpleEvent evt : project.getCalendarEvents()) { if (evt.getDate().isBefore(from)) continue; if (evt.getDate().isAfter(to)) continue; pdf.nl(); StringBuilder date = new StringBuilder(); date.append(evt.getDate()); if (evt.isTimeSet()) date.append(" ").append(evt.getTime()); pdf.paragraph().text(date + " " + evt.getLabel(), headerFonts[2]); if (evt.isNoteSet()) wiki(pdf, evt.getNote()); pdf.nl(); FieldList fields = pdf.fieldList().setLabelFontStyle(fieldLabelFont); if (evt.isDurationSet()) fields.field("Duration").text(evt.getDuration() + " min."); if (evt.isLocationSet()) fields.field("Location").text(evt.getLocation()); if (evt.isAgendaSet()) wiki(fields.field("Agenda"), evt.getAgenda()); } } @Override protected String getFilename() { return "calendar"; } }