/**
* @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int)
*/
public Object getValueAt(int row, int col) {
Project project = (Project) objects.get(row);
if (col == 0) {
String name = project.getTitle();
return name;
} else if (col == 1) {
// get identity_date list sorted by AddedDate
List<Object[]> identities = ManagerFactory.getManager().getIdentitiesAndDateOfSecurityGroup(project.getProjectLeaderGroup(), true);
if (identities.isEmpty()) {
return "-";
} else {
// Get last added identity
Object[] identityAndData = identities.get(identities.size()-1);
String last = ((Identity)identityAndData[0]).getUser().getProperty(UserConstants.LASTNAME, getLocale());
String first= ((Identity)identityAndData[0]).getUser().getProperty(UserConstants.FIRSTNAME, getLocale());
String showName = last + " " + first;
if (identities.size() == 1) {
return showName;
} else {
// more than one projectleader => show ...
return showName + ", ...";
}
}
} else if (col == (numberOfCustomFieldInTable + numberOfEventInTable + 2)) {
return translator.translate(ProjectBrokerManagerFactory.getProjectBrokerManager().getStateFor(project,identity,moduleConfig));
} else if (col == (numberOfCustomFieldInTable + numberOfEventInTable + 3)) {
StringBuilder buf = new StringBuilder();
buf.append(project.getSelectedPlaces());
if (project.getMaxMembers() != Project.MAX_MEMBERS_UNLIMITED) {
buf.append("/");
buf.append(project.getMaxMembers());
}
return buf.toString();
} else if (col == (numberOfCustomFieldInTable + numberOfEventInTable + 4)) { // enroll
return ProjectBrokerManagerFactory.getProjectBrokerManager().canBeProjectSelectedBy(identity, project, moduleConfig, nbrSelectedProjects, isParticipantInAnyProject);
} else if (col == (numberOfCustomFieldInTable + numberOfEventInTable + 5)) { // cancel enrollment
return ProjectBrokerManagerFactory.getProjectBrokerManager().canBeCancelEnrollmentBy(identity,project,moduleConfig);
} else if ( (col == 2) && (numberOfCustomFieldInTable > 0) ) {
return project.getCustomFieldValue(enabledCustomFieldNumbers[0]);
} else if ( (col == 3) && (numberOfCustomFieldInTable > 1) ) {
return project.getCustomFieldValue(enabledCustomFieldNumbers[1]);
} else if ( (col == 4) && (numberOfCustomFieldInTable > 2) ) {
return project.getCustomFieldValue(enabledCustomFieldNumbers[2]);
} else if ( (col == 5) && (numberOfCustomFieldInTable > 3) ) {
return project.getCustomFieldValue(enabledCustomFieldNumbers[3]);
} else if ( (col == 6) && (numberOfCustomFieldInTable > 4) ) {
return project.getCustomFieldValue(enabledCustomFieldNumbers[4]);
} else if ( col == (2 + numberOfCustomFieldInTable) ) {
return getDateEventString(project.getProjectEvent(enabledEventList.get(0)),translator);
} else if ( col == (3 + numberOfCustomFieldInTable) ) {
return getDateEventString(project.getProjectEvent(enabledEventList.get(1)),translator);
} else if ( col == (4 + numberOfCustomFieldInTable) ) {
return getDateEventString(project.getProjectEvent(enabledEventList.get(2)),translator);
} else {
return "ERROR";
}
}