return getDocumentRequest().getRegistration().getDegreeDescription(getDocumentRequest().getExecutionYear(), null,
getLocale());
}
final private String getApprovementsInfo() {
final ApprovementCertificateRequest request = getDocumentRequest();
final StringBuilder res = new StringBuilder();
final SortedSet<ICurriculumEntry> entries =
new TreeSet<ICurriculumEntry>(ICurriculumEntry.COMPARATOR_BY_EXECUTION_PERIOD_AND_NAME_AND_ID);
final Registration registration = getDocumentRequest().getRegistration();
final Map<Unit, String> ids = new HashMap<Unit, String>();
if (registration.isBolonha()) {
reportCycles(res, entries, ids);
} else {
final ICurriculum curriculum = registration.getCurriculum(request.getFilteringDate());
ApprovementCertificateRequest.filterEntries(entries, request, curriculum);
reportEntries(res, entries, ids);
}
entries.clear();
entries.addAll(request.getExtraCurricularEntriesToReport());
if (!entries.isEmpty()) {
reportRemainingEntries(res, entries, ids, registration.getLastStudentCurricularPlan().getExtraCurriculumGroup());
}
entries.clear();
entries.addAll(request.getPropaedeuticEntriesToReport());
if (!entries.isEmpty()) {
reportRemainingEntries(res, entries, ids, registration.getLastStudentCurricularPlan()
.getPropaedeuticCurriculumGroup());
}
if (getDocumentRequest().isToShowCredits()) {
res.append(getRemainingCreditsInfo(request.getRegistration().getCurriculum()));
}
res.append(generateEndLine());
if (!ids.isEmpty()) {
res.append(LINE_BREAK).append(getAcademicUnitInfo(ids, request.getMobilityProgram()));
}
return res.toString();
}