strBuffer.append(bundle.getString("label.delete"));
strBuffer.append(getMessageResource(pageContext, "label.delete"));
	private void renderExecutionCourseListForYear(StringBuffer strBuffer, Integer year,ResourceBundle bundle) {				if (user.equals("public")) {			strBuffer.append("<table class='tab_exams_details' cellspacing='0px'>");			strBuffer.append("<tr><th rowspan='2' width='250px' class='ordYear'>"+year+"&ordm; ");            strBuffer.append(bundle.getString("label.year"));            strBuffer.append("</th>");			strBuffer.append("<th colspan='3' width='250'>1&ordf; ");            strBuffer.append(bundle.getString("label.times"));            strBuffer.append("</th>");			strBuffer.append("<th colspan='3'>2&ordf; ");            strBuffer.append(bundle.getString("label.times"));            strBuffer.append("</th></tr>");			strBuffer.append("<tr><td class='subheader' width='70px'>");            strBuffer.append(bundle.getString("label.day"));            strBuffer.append("</td><td class='subheader' width='50px'>");            strBuffer.append(bundle.getString("label.hour"));            strBuffer.append("</td><td class='subheader' width='130px'>");            strBuffer.append(bundle.getString("label.room"));            strBuffer.append("</td>");			strBuffer.append("<td class='subheader' width='70px'>");            strBuffer.append(bundle.getString("label.day"));            strBuffer.append("</td>" +			"<td class='subheader' width='50px'>");            strBuffer.append(bundle.getString("label.hour"));            strBuffer.append("</td><td class='subheader' width='130px'>");            strBuffer.append(bundle.getString("label.room"));            strBuffer.append("</td></tr>");					} else {			strBuffer.append("<strong>");            strBuffer.append(bundle.getString("label.courseOf"));            strBuffer.append(year + "&ordm; ano:</strong>");		}				Collections.sort(examsMap.getExecutionCourses(), new BeanComparator("sigla"));		String rowClass = "notFirstRow"; // used for CSS style		for (int i = 0; i < examsMap.getExecutionCourses().size(); i++) {			InfoExecutionCourse infoExecutionCourse = (InfoExecutionCourse) examsMap			.getExecutionCourses().get(i);						if (user.equals("sop")) {				strBuffer.append("<table border='1' cellspacing='0' cellpadding='3' width='95%'>");				strBuffer.append("<tr>");			}						if (i==0) { rowClass = "firstRow"; }						if (infoExecutionCourse.getCurricularYear().equals(year)) {				boolean showCreateExamLink = infoExecutionCourse.getAssociatedInfoExams().size() < 2;				if (user.equals("sop")) {					strBuffer.append("<td colspan='6'>");				}								if (user.equals("public")) {					strBuffer.append("<tr valign='top'>");					strBuffer.append("<td class='"+rowClass+"'>");										strBuffer.append("<a href='viewSite.do?method=firstPage&amp;objectCode="							+ infoExecutionCourse.getIdInternal()							+ "&amp;executionPeriodOID="							+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal()							+ "&amp;degreeID="							+ examsMap.getInfoExecutionDegree().getInfoDegreeCurricularPlan()							.getInfoDegree().getIdInternal()							+ "&amp;"							+ SessionConstants.EXECUTION_COURSE_OID							+ "="							+ infoExecutionCourse.getIdInternal()							+ "&amp;executionDegreeID="							+ examsMap.getInfoExecutionDegree().getIdInternal()							+ "&amp;degreeCurricularPlanID="							+ examsMap.getInfoExecutionDegree().getInfoDegreeCurricularPlan()							.getIdInternal() + "'>");				} else if (showCreateExamLink && user.equals("sop")) {					strBuffer.append("<a href='showExamsManagement.do?method=createByCourse&amp;"							+ SessionConstants.EXECUTION_COURSE_OID + "="							+ infoExecutionCourse.getIdInternal() + "&amp;"							+ SessionConstants.EXECUTION_PERIOD_OID + "="							+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal() + "&amp;"							+ SessionConstants.EXECUTION_DEGREE_OID + "="							+ examsMap.getInfoExecutionDegree().getIdInternal() + "&amp;"							+ SessionConstants.CURRICULAR_YEAR_OID + "=" + year.toString() + "'>");				}								strBuffer.append(infoExecutionCourse.getSigla());				strBuffer.append(" - ");				strBuffer.append(infoExecutionCourse.getNome());								if (user.equals("public")) {					strBuffer.append("</a>");					strBuffer.append("</td>");				}								boolean hasComment = infoExecutionCourse.getComment() != null &&									infoExecutionCourse.getComment().length() > 0 &&									!infoExecutionCourse.getComment().equals(" ");								if (hasComment) {								if (user.equals("sop")) {						strBuffer.append(" : ");						strBuffer.append("<a href='defineComment.do?executionCourseCode=");						strBuffer.append(infoExecutionCourse.getSigla());						strBuffer.append("&amp;executionPeriodName="								+ infoExecutionCourse.getInfoExecutionPeriod().getName());						strBuffer.append("&amp;executionYear="								+ infoExecutionCourse.getInfoExecutionPeriod().getInfoExecutionYear()								.getYear());						strBuffer.append("&amp;comment=" + infoExecutionCourse.getComment());						strBuffer.append("&amp;method=prepare");						strBuffer.append("&amp;indexExecutionCourse=" + i);						strBuffer.append("&amp;" + SessionConstants.EXECUTION_PERIOD_OID + "="								+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal() + "&amp;"								+ SessionConstants.EXECUTION_DEGREE_OID + "="								+ examsMap.getInfoExecutionDegree().getIdInternal()								+ getCurricularYearsArgs());						strBuffer.append("'>");					}  else if (user.equals("public")) {						strBuffer.append("<td colspan='6' class='"+rowClass+"'><i>");					}										strBuffer.append(infoExecutionCourse.getComment());										if (user.equals("sop")) {						strBuffer.append("</a>");					} else if (user.equals("public")) {						strBuffer.append("</i></td>");					}									} else {					if (user.equals("sop")) {						strBuffer.append(" : ");						strBuffer.append("<a href='defineComment.do?executionCourseCode=");						strBuffer.append(infoExecutionCourse.getSigla());						strBuffer.append("&amp;executionPeriodName="								+ infoExecutionCourse.getInfoExecutionPeriod().getName());						strBuffer.append("&amp;executionYear="								+ infoExecutionCourse.getInfoExecutionPeriod().getInfoExecutionYear()								.getYear());						strBuffer.append("&amp;method=prepare");						strBuffer.append("&amp;indexExecutionCourse=" + i);						strBuffer.append("&amp;" + SessionConstants.EXECUTION_PERIOD_OID + "="								+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal() + "&amp;"								+ SessionConstants.EXECUTION_DEGREE_OID + "="								+ examsMap.getInfoExecutionDegree().getIdInternal()								+ getCurricularYearsArgs());						strBuffer.append("'>");						strBuffer.append("Definir coment&aacute;rio");						strBuffer.append("</a>");					}				}								if (user.equals("sop")) {					strBuffer.append("</td>");					strBuffer.append("</tr>");				}								// Get 1st season exam				InfoExam season1Exam = (InfoExam) CollectionUtils.find(infoExecutionCourse						.getAssociatedInfoExams(), new Predicate() {					public boolean evaluate(Object obj) {						InfoExam infoExam = (InfoExam) obj;						return infoExam.getSeason().equals(new Season(Season.SEASON1));					}				});				// Get 2nd season exam				InfoExam season2Exam = (InfoExam) CollectionUtils.find(infoExecutionCourse						.getAssociatedInfoExams(), new Predicate() {					public boolean evaluate(Object obj) {						InfoExam infoExam = (InfoExam) obj;						return infoExam.getSeason().equals(new Season(Season.SEASON2));					}				});								if (user.equals("public")) {					if (season1Exam == null && !hasComment) {						strBuffer.append("<td colspan='3' class='"+rowClass+"'>&nbsp</td>");					}					if (season2Exam == null && !hasComment) {						strBuffer.append("<td colspan='3' class='"+rowClass+"'>&nbsp</td>");					}				}								if ((season1Exam != null)						//					&& season1Exam.getAssociatedRooms() != null						//					&& season1Exam.getAssociatedRooms().size() > 0)						|| (season2Exam != null))					//						&& season2Exam.getAssociatedRooms() != null					//						&& season2Exam.getAssociatedRooms().size() > 0))				{					if (season1Exam != null) {						if (user.equals("sop")) {							strBuffer.append("<tr>");														strBuffer.append("<td>");														strBuffer.append("<a href='showExamsManagement.do?method=edit&amp;"									+ SessionConstants.EXECUTION_COURSE_OID + "="									+ infoExecutionCourse.getIdInternal() + "&amp;"									+ SessionConstants.EXECUTION_PERIOD_OID + "="									+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal()									+ "&amp;" + SessionConstants.EXECUTION_DEGREE_OID + "="									+ examsMap.getInfoExecutionDegree().getIdInternal() + "&amp;"									+ SessionConstants.CURRICULAR_YEAR_OID + "=" + year.toString()									+ "&amp;" + SessionConstants.EXAM_OID + "="									+ season1Exam.getIdInternal() + "'>");						}												if (user.equals("sop")) {							strBuffer.append("1&ordf; &Eacute;poca");							strBuffer.append("</a>");							strBuffer.append("</td>");										strBuffer.append("<td>");							strBuffer.append(season1Exam.getDate());							strBuffer.append("<br>");							strBuffer.append(season1Exam.getBeginningHour());							strBuffer.append("-");							strBuffer.append(season1Exam.getEndHour());						} else if (user.equals("public")){							strBuffer.append("<td class='"+rowClass+"'>");							strBuffer.append(season1Exam.getDate());							strBuffer.append("</td>");							strBuffer.append("<td class='"+rowClass+"'>");							strBuffer.append(season1Exam.getBeginningHour());							strBuffer.append("</td>");							//strBuffer.append("-");							//strBuffer.append(season1Exam.getEndHour());						}												if (user.equals("sop")) {							strBuffer.append("</td>");							strBuffer.append("<td>");														//Integer numAlunos =							// infoExecutionCourse.getNumberOfAttendingStudents();														Integer numAlunos = season1Exam.getEnrolledStudents();														strBuffer.append(numAlunos);							strBuffer.append(bundle.getString("label.enrolledPupils"));													strBuffer.append("</td>");														strBuffer.append("<td>");														strBuffer.append(bundle.getString("label.lack"));														//Obter o num de lugares de exame das salas							List roomOccupation = season1Exam.getAssociatedRoomOccupation();							int numLugaresSalas = 0;														for (int iterRO = 0; iterRO < roomOccupation.size(); iterRO++) {								InfoRoomOccupation infoRO = (InfoRoomOccupation) roomOccupation								.get(iterRO);																numLugaresSalas += infoRO.getInfoRoom().getCapacidadeExame().intValue();							}														int numLugaresAPreencher = numAlunos.intValue() - numLugaresSalas;														//							if (numLugaresAPreencher < 0)							//								numLugaresAPreencher = 0;														strBuffer.append(numLugaresAPreencher);							strBuffer.append(bundle.getString("label.places"));														strBuffer.append("</td>");							strBuffer.append("<td>");						}												List infoRoomOccupations = season1Exam.getAssociatedRoomOccupation();												if (infoRoomOccupations != null && infoRoomOccupations.size() > 0) {							if (user.equals("sop")) {								strBuffer.append(bundle.getString("label.rooms"));								strBuffer.append("<br>");							} else if (user.equals("public")) {								strBuffer.append("<td class='"+rowClass+"'>");							}														for (int iterIRO = 0; iterIRO < infoRoomOccupations.size(); iterIRO++) {								InfoRoomOccupation infoRoomOccupation = (InfoRoomOccupation) infoRoomOccupations								.get(iterIRO);																strBuffer.append(infoRoomOccupation.getInfoRoom().getNome() + "; ");							}						} else {							if (user.equals("sop")) {								strBuffer.append("-");							} else if (user.equals("public")) {								strBuffer.append("<i>");                                strBuffer.append(bundle.getString("label.noRoomsAttributed"));                                strBuffer.append("</i>");							}						}												if (user.equals("sop")) {							strBuffer.append("</td>");							strBuffer.append("<td>");														strBuffer.append("<a href='showExamsManagement.do?method=delete&amp;"									+ SessionConstants.EXECUTION_COURSE_OID + "="									+ infoExecutionCourse.getIdInternal() + "&amp;"									+ SessionConstants.EXECUTION_PERIOD_OID + "="									+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal()									+ "&amp;" + SessionConstants.EXECUTION_DEGREE_OID + "="									+ examsMap.getInfoExecutionDegree().getIdInternal() + "&amp;"									+ SessionConstants.CURRICULAR_YEAR_OID + "=" + year.toString()									+ "&amp;" + SessionConstants.EXAM_OID + "="									+ season1Exam.getIdInternal() + "'>");							strBuffer.append(bundle.getString("label.delete"));							strBuffer.append("</a>");							strBuffer.append("</td>");						}					}										if (season2Exam != null) {						if (user.equals("sop")) {							strBuffer.append("<tr>");														strBuffer.append("<td>");														strBuffer.append("<a href='showExamsManagement.do?method=edit&amp;"									+ SessionConstants.EXECUTION_COURSE_OID + "="									+ infoExecutionCourse.getIdInternal() + "&amp;"									+ SessionConstants.EXECUTION_PERIOD_OID + "="									+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal()									+ "&amp;" + SessionConstants.EXECUTION_DEGREE_OID + "="									+ examsMap.getInfoExecutionDegree().getIdInternal() + "&amp;"									+ SessionConstants.CURRICULAR_YEAR_OID + "=" + year.toString()									+ "&amp;" + SessionConstants.EXAM_OID + "="									+ season2Exam.getIdInternal() + "'>");						}												if (user.equals("sop")) {							strBuffer.append("2&ordf; ");                            strBuffer.append(bundle.getString("label.times"));							strBuffer.append("</a>");							strBuffer.append("</td>");									strBuffer.append("<td>");							strBuffer.append(season2Exam.getDate());							strBuffer.append("<br>");							strBuffer.append(season2Exam.getBeginningHour());							strBuffer.append("-");							strBuffer.append(season2Exam.getEndHour());						} else if (user.equals("public")){							strBuffer.append("<td class='"+rowClass+"'>");  							strBuffer.append(season2Exam.getDate());							strBuffer.append("</td>");							strBuffer.append("<td class='"+rowClass+"'>");  							strBuffer.append(season2Exam.getBeginningHour());							strBuffer.append("</td>"); 							//strBuffer.append("-");							//strBuffer.append(season2Exam.getEndHour());						}												if (user.equals("sop")) {							strBuffer.append("</td>");							strBuffer.append("<td>");							//							Integer numAlunos =							// infoExecutionCourse.getNumberOfAttendingStudents();							Integer numAlunos = season2Exam.getEnrolledStudents();														strBuffer.append(numAlunos);							strBuffer.append(bundle.getString("label.enrolledPupils"));														strBuffer.append("</td>");							strBuffer.append("<td>");							strBuffer.append(bundle.getString("label.lack"));														//Obter o num de lugares de exame das salas							List roomOccupation = season2Exam.getAssociatedRoomOccupation();							int numLugaresSalas = 0;														for (int iterRO = 0; iterRO < roomOccupation.size(); iterRO++) {								InfoRoomOccupation infoRO = (InfoRoomOccupation) roomOccupation								.get(iterRO);																numLugaresSalas += infoRO.getInfoRoom().getCapacidadeExame().intValue();							}														int numLugaresAPreencher = numAlunos.intValue() - numLugaresSalas;														//							if (numLugaresAPreencher < 0)							//								numLugaresAPreencher = 0;														strBuffer.append(numLugaresAPreencher);							strBuffer.append(bundle.getString("label.places"));							strBuffer.append("</td>");														strBuffer.append("<td>");						}												List infoRoomOccupations = season2Exam.getAssociatedRoomOccupation();												if (infoRoomOccupations != null && infoRoomOccupations.size() > 0) {							if (user.equals("sop")) {								strBuffer.append(bundle.getString("label.rooms")+":");								strBuffer.append("<br>");							} else if (user.equals("public")) {								strBuffer.append("<td class='"+rowClass+"'>");							}														for (int iterIRO = 0; iterIRO < infoRoomOccupations.size(); iterIRO++) {								InfoRoomOccupation infoRoomOccupation = (InfoRoomOccupation) infoRoomOccupations								.get(iterIRO);																strBuffer.append(infoRoomOccupation.getInfoRoom().getNome() + "; ");							}														if (user.equals("public")) {								strBuffer.append("</td>");							}						} else {							if (user.equals("sop")) {								strBuffer.append("-");							} else if (user.equals("public")){								strBuffer.append("<i>");                                strBuffer.append(bundle.getString("label.noRoomsAttributed"));                                strBuffer.append("</i>");							}						}												if (user.equals("sop")) {							strBuffer.append("</td>");							strBuffer.append("<td>");							strBuffer.append("<a href='showExamsManagement.do?method=delete&amp;"									+ SessionConstants.EXECUTION_COURSE_OID + "="									+ infoExecutionCourse.getIdInternal() + "&amp;"									+ SessionConstants.EXECUTION_PERIOD_OID + "="									+ infoExecutionCourse.getInfoExecutionPeriod().getIdInternal()									+ "&amp;" + SessionConstants.EXECUTION_DEGREE_OID + "="									+ examsMap.getInfoExecutionDegree().getIdInternal() + "&amp;"									+ SessionConstants.CURRICULAR_YEAR_OID + "=" + year.toString()									+ "&amp;" + SessionConstants.EXAM_OID + "="									+ season2Exam.getIdInternal() + "'>");							strBuffer.append(bundle.getString("label.delete"));							strBuffer.append("</a>");							strBuffer.append("</td>");						}					}				}						if (user.equals("public")) {					strBuffer.append("</tr>");					if (rowClass == "firstRow") { rowClass = "notFirstRow"; }				}			}						if (user.equals("sop")) {				strBuffer.append("</tr>");				strBuffer.append("</table>");				strBuffer.append("<br />");			} 					}				if (user.equals("public")) {			strBuffer.append("</table>");		}	}