static byte[] exportPresentationPage() throws IOException { List<PhdProgramPublicCandidacyHashCode> unfocusAreaCandidates = new ArrayList<PhdProgramPublicCandidacyHashCode>(); final Page page = new Page(); page.h2(APPLICATION_NAME); for (final Entry<PhdProgramFocusArea, Set<PhdProgramPublicCandidacyHashCode>> entry : getApplicants(unfocusAreaCandidates).entrySet()) { page.h(3, getFocusAreaTitle(entry), "mtop2"); page.ulStart(); for (final PhdProgramPublicCandidacyHashCode code : entry.getValue()) { final String url = APPLICATION_PREFIX_LINK + "/phd/epfl/applications/show?process=" + code.getValue(); page.liStart().link(url, code.getPerson().getName()).liEnd(); } page.ulEnd(); } page.close(); return page.toByteArray(); }
private static void drawPersonalInformation( final Page page, final PhdProgramPublicCandidacyHashCode hashCode, final String folderName) throws IOException { final Person person = hashCode.getPerson(); page.h(3, "Personal Information", "mtop2"); page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart("tdbold") .headerStartWithStyle("width: 125px;") .write("Name:") .headerEnd() .column(person.getName()) .rowEnd(); page.rowStart() .header("Gender:") .column(person.getGender().toLocalizedString(Locale.ENGLISH)) .rowEnd(); page.rowStart() .header("Identity card type:") .column(person.getIdDocumentType().getLocalizedName()) .rowEnd(); page.rowStart().header("Identity card #:").column(person.getDocumentIdNumber()).rowEnd(); page.rowStart().header("Issued by:").column(person.getEmissionLocationOfDocumentId()).rowEnd(); page.rowStart() .header("Fiscal number:") .column(string(person.getSocialSecurityNumber())) .rowEnd(); page.rowStart() .header("Date of birth:") .column(person.getDateOfBirthYearMonthDay().toString("dd/MM/yyyy")) .rowEnd(); page.rowStart().header("Birthplace:").column(person.getDistrictSubdivisionOfBirth()).rowEnd(); page.rowStart() .header("Nationality:") .column(person.getCountry().getCountryNationality().getContent()) .rowEnd(); page.rowStart().header("Address:").column(person.getAddress()).rowEnd(); page.rowStart().header("City:").column(person.getArea()).rowEnd(); page.rowStart().header("Zip code:").column(person.getAreaCode()).rowEnd(); page.rowStart() .header("Country:") .column( (person.getCountryOfResidence() != null ? person.getCountryOfResidence().getName() : "-")) .rowEnd(); page.rowStart().header("Phone:").column(person.getDefaultPhoneNumber()).rowEnd(); page.rowStart().header("Mobile:").column(person.getDefaultMobilePhoneNumber()).rowEnd(); page.rowStart().header("Email:").column(person.getDefaultEmailAddressValue()).rowEnd(); page.tableEnd(); page.h(3, "Photo"); String photoUrl = APPLICATION_PREFIX_LINK + "/phd/epfl/applications/photo"; final Photograph photo = person.getPersonalPhotoEvenIfPending(); if (photo != null) { photoUrl += "?photoOid=" + photo.getExternalId(); } page.photo(photoUrl); }