@Override public void handle(Page page, TemplateContext local, TemplateContext global) { Homepage homepage = homepage(page.getSite()); if (homepage == null || !homepage.isHomepageActivated()) { return; // TODO we might want 404 here } global.put("homepage", homepage); Person owner = homepage.getPerson(); global.put("owner", owner); if (homepage.getShowCurrentAttendingExecutionCourses()) { SortedSet<Attends> attendedCoursesByName = new TreeSet<Attends>(Attends.ATTENDS_COMPARATOR_BY_EXECUTION_COURSE_NAME); attendedCoursesByName.addAll(homepage.getPerson().getCurrentAttends()); global.put("attendingCourses", attendedCoursesByName); } List<? extends PartyContact> emails = owner.getEmailAddresses(); global.put("visibleEmails", getSortedFilteredContacts(emails)); List<? extends PartyContact> phones = owner.getPhones(); global.put( "visiblePersonalPhones", getSortedFilteredContacts(phones, PartyContactType.PERSONAL)); global.put("visibleWorkPhones", getSortedFilteredContacts(phones, PartyContactType.WORK)); List<? extends PartyContact> mobilePhones = owner.getMobilePhones(); global.put("visibleMobilePhones", getSortedFilteredContacts(mobilePhones)); List<? extends PartyContact> websites = owner.getWebAddresses(); global.put("visibleWebsites", getSortedFilteredContacts(websites)); }