IUserView userView = (IUserView) session.getAttribute(SessionConstants.U_VIEW);
	public ActionForward showAvailableShifts(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {		//validateToken(request, form, mapping);		HttpSession session = request.getSession();		IUserView userView = (IUserView) session.getAttribute(SessionConstants.U_VIEW);		InfoShiftStudentEnrolment infoShiftStudentEnrolment = (InfoShiftStudentEnrolment) session.getAttribute(SessionConstants.INFO_STUDENT_SHIFT_ENROLMENT_CONTEXT_KEY);		if (infoShiftStudentEnrolment == null) {			throw new FenixTransactionException("Erro. Por favor nao faa isto.");			// TODO: tdi-dev (bruno) -> change this to something 'normal'. this is a placeholder		}		// now we group the shifts		InfoShiftDividedList infoShiftDividedList = new InfoShiftDividedList();		Iterator i = infoShiftStudentEnrolment.getAvailableShift().iterator();		// FIXME: tdi-dev (bruno) -> this wanted class is not reset after use, causing some problems		String wantedClass = (String) ((DynaActionForm) form).get("class");		classFilter filter = new classFilter(wantedClass);		while (i.hasNext()) {			InfoShiftWithAssociatedInfoClassesAndInfoLessons shiftClassesWithLessons = (InfoShiftWithAssociatedInfoClassesAndInfoLessons) i.next();			List classes = shiftClassesWithLessons.getInfoClasses();			InfoShift shift = shiftClassesWithLessons.getInfoShift();			// if the user selected a class 			if (wantedClass != null && !wantedClass.equals("")) {				// we see if the current shift has that class0				for (int j = 0; j < classes.size(); j++) {					if (((InfoClass) classes.get(j)).getNome().equals(wantedClass)) {						infoShiftDividedList.put(shift.getInfoDisciplinaExecucao().getNome(), shiftClassesWithLessons);						continue; // it has, no need to continue searching					}				}			} else {				// otherwise, just add the shift to the list				infoShiftDividedList.put(shift.getInfoDisciplinaExecucao().getNome(), shiftClassesWithLessons);			}		}		//request.setAttribute(wantedClass, filter)		infoShiftStudentEnrolment.setDividedList(infoShiftDividedList);		session.setAttribute(SessionConstants.INFO_STUDENT_SHIFT_ENROLMENT_CONTEXT_KEY, infoShiftStudentEnrolment);		initializeForm(infoShiftStudentEnrolment, (DynaActionForm) form);		return mapping.findForward("showAvailableShifts");	}