public static InfoSiteStudentGroup run(String studentGroupCode) throws FenixServiceException {
check(RolePredicates.STUDENT_PREDICATE);
InfoSiteStudentGroup infoSiteStudentGroup = new InfoSiteStudentGroup();
StudentGroup studentGroup = null;
Grouping grouping = null;
Collection groupAttendsList = null;
studentGroup = FenixFramework.getDomainObject(studentGroupCode);
if (studentGroup == null) {
return null;
}
List studentGroupInformationList = new ArrayList();
grouping = studentGroup.getGrouping();
groupAttendsList = studentGroup.getAttendsSet();
Iterator iter = groupAttendsList.iterator();
InfoSiteStudentInformation infoSiteStudentInformation = null;
Attends attend = null;
while (iter.hasNext()) {
infoSiteStudentInformation = new InfoSiteStudentInformation();
attend = (Attends) iter.next();
infoSiteStudentInformation.setNumber(attend.getRegistration().getNumber());
infoSiteStudentInformation.setName(attend.getRegistration().getPerson().getName());
infoSiteStudentInformation.setEmail(attend.getRegistration().getPerson().getEmail());
infoSiteStudentInformation.setUsername(attend.getRegistration().getPerson().getUsername());
studentGroupInformationList.add(infoSiteStudentInformation);
}
Collections.sort(studentGroupInformationList, new BeanComparator("number"));
infoSiteStudentGroup.setInfoSiteStudentInformationList(studentGroupInformationList);
infoSiteStudentGroup.setInfoStudentGroup(InfoStudentGroupWithAttendsAndGroupingAndShift.newInfoFromDomain(studentGroup));
if (grouping.getMaximumCapacity() != null) {
int vagas = grouping.getMaximumCapacity().intValue() - groupAttendsList.size();
infoSiteStudentGroup.setNrOfElements(Integer.valueOf(vagas));
} else {
infoSiteStudentGroup.setNrOfElements("Sem limite");
}