Example usage for org.apache.commons.collections.list TreeList TreeList

List of usage examples for org.apache.commons.collections.list TreeList TreeList

Introduction

In this page you can find the example usage for org.apache.commons.collections.list TreeList TreeList.

Prototype

public TreeList(Collection coll) 

Source Link

Document

Constructs a new empty list that copies the specified list.

Usage

From source file:com.virtusa.akura.student.controller.StudentClassController.java

/**
 * handle POST requests for StudentClass view with data.
 * /* w  ww .  j  a  v a  2s  .  c om*/
 * @param request - HttpServletRequest
 * @return the name of the view.
 * @throws AkuraException throws when exception occurs.
 */
@RequestMapping(value = ACTION_FOR_SEARCH_STUDENT, method = RequestMethod.POST)
public ModelAndView searchStudentByGradeYear(HttpServletRequest request) throws AkuraException {

    String grade = request.getParameter(PARAM_NAME_SELECTED_GRADE);
    String year = request.getParameter(PARAM_NAME_SELECTED_YEAR);
    Map<String, Object> finalMap = new TreeMap<String, Object>();
    ModelMap modelMap = new ModelMap();
    Grade gradeObj = null;
    int intYear = 0;
    if (grade != null && !grade.equals("") && !grade.equals(PARAM_NAME_FOR_NEW_STUDENTS)) {
        int intGrade = Integer.parseInt(grade);
        gradeObj = commonService.findGradeById(intGrade);
    }
    if (year != null && !year.equals("")) {
        intYear = Integer.parseInt(year);

        if (intYear > 0) {
            modelMap.addAttribute(PARAM_NAME_SELECTED_YEAR, intYear);
        }
    }
    if (gradeObj != null) {
        modelMap.addAttribute(MODEL_GRADE_ID, gradeObj.getGradeId());

    }

    if (grade.equals(PARAM_NAME_FOR_NEW_STUDENTS)) {
        modelMap.addAttribute(PARAM_NAME_FOR_NEW_STUDENTS, Boolean.TRUE);
    }

    // starts validations
    if (!grade.equals("") && !year.equals("")) {

        if (grade.equals(PARAM_NAME_FOR_NEW_STUDENTS)) {
            List<Object> studentList = studentService.getNewStudentForYear(intYear);
            finalMap.put(EMPTY, new TreeList(studentList));

            // if the students list is empty set the error message.
            if (studentList.isEmpty()) {
                modelMap.addAttribute(ERROR_MESSAGE,
                        new ErrorMsgLoader().getErrorMessage(REF_UI_STUDENT_CLASS_NEW_STUDENT_NODATA));
            }
        } else {
            modelMap.addAttribute(MODEL_GRADE, gradeObj.getDescription());

            finalMap = this.getStudentListWithCurrentAllocation(intYear, gradeObj);

            // if the students list is empty set the error message.
            if (finalMap.values().isEmpty()) {
                modelMap.addAttribute(ERROR_MESSAGE,
                        new ErrorMsgLoader().getErrorMessage(REF_UI_STUDENT_CLASS_STUDENT_NODATA));
            }
        }

    } else {
        // error message
        String message = new ErrorMsgLoader().getErrorMessage(MANDATORY_FIELD_ERROR_CODE);
        modelMap.addAttribute(MESSAGE, message);
    }

    modelMap.addAttribute(MODEL_LAST_LIST, finalMap);
    return new ModelAndView(VIEW_STUDENT_CLASS_PAGE, modelMap);
}

From source file:com.virtusa.akura.student.controller.StudentAcademicLifeController.java

/**
 * handle POST requests for Academic-details view with student term mark data.
 * //  www.j  a v a  2s  . co m
 * @param request - HttpServletRequest.
 * @param modelMap - ModelMap attribute.
 * @param session - HttpSession attribute.
 * @return the name of the view.
 * @throws AkuraAppException throws when exception occurs.
 */
@RequestMapping(value = ACTION_FOR_SHOW_MARKS, method = RequestMethod.POST)
public ModelAndView showMarks(HttpServletRequest request, ModelMap modelMap, HttpSession session)
        throws AkuraAppException {

    String yearA = null;
    String studentGrade = "";
    int intYear = 0;
    String selectedStudClassId = null;

    if (request.getParameter(SELECTED_GRADE) != null) {
        StudentClassInfo studentClassInfo = studentService
                .findStudentClassInfoById(Integer.parseInt(request.getParameter(SELECTED_GRADE)));
        selectedStudClassId = studentClassInfo.getClassGrade().getGrade().getDescription();
        yearA = DateUtil.getStringYear(studentClassInfo.getYear());
        if (yearA.equals(DateUtil.getStringYear(new Date()))) {
            modelMap.addAttribute(AkuraConstant.ENABLE_ADD_EDIT_DELETE, AkuraConstant.EMPTY_STRING);
        }
    } else {
        int studentId = 0;
        if (session.getAttribute(STUDENT_ID) != null) {
            studentId = (Integer) session.getAttribute(STUDENT_ID);
        }

        Date currentDate = new Date();
        yearA = DateUtil.getStringYear(currentDate);

        intYear = Integer.parseInt(yearA);
        List<StudentClassInfo> studentClassInfo = studentService.getStudentClassInfoByStudentId(studentId,
                intYear);

        if (!studentClassInfo.isEmpty()) {
            studentGrade = studentClassInfo.get(0).getClassGrade().getGrade().getDescription();
        }
        selectedStudClassId = studentGrade;
        modelMap.addAttribute(AkuraConstant.ENABLE_ADD_EDIT_DELETE, AkuraConstant.EMPTY_STRING);
    }

    int intStudentId = getStudentSessionId(session);
    double avgAcademicLifeRating = 0.0;
    double faithLifeAverage = 0.0;
    double attendanceAverage = 0.0;

    Date dateTypeYear;

    if (yearA != null) {
        dateTypeYear = DateUtil.getDateTypeYearValue(yearA);
        intYear = Integer.parseInt(yearA);
    } else {

        intYear = DateUtil.currentYearOnly();
        yearA = Integer.toString(intYear);
        dateTypeYear = DateUtil.getDateTypeYearValue(yearA);
    }

    if (session.getAttribute(STUDENT_GRADE) != null) {

        studentGrade = (String) session.getAttribute(STUDENT_GRADE);
    }
    if (!"".equals(studentGrade)) { // when the student is assigned to a
        // class.
        // List<StudentTermMarkDTO> studentTermMarkObjList =
        // studentService.getStudentMarksSubjectTermByStudentIdYear(intStudentId, intYear);

        List<StudentSubjectAverageViewDTO> studentTermMarkObjList = studentService
                .getStudentSubjectAverage(intStudentId, intYear);

        List<Map<String, Object>> mylastList = new ArrayList<Map<String, Object>>();
        List<String> tempSubjectList = new ArrayList<String>();

        for (StudentSubjectAverageViewDTO dto : studentTermMarkObjList) {
            String subject = dto.getSubject();

            boolean foundSubject = false;
            if (tempSubjectList.isEmpty()) {
                foundSubject = false;
            } else if (tempSubjectList.contains(subject)) {
                foundSubject = true;
            }

            if (!foundSubject) {
                Map<String, Object> mymap = new TreeMap<String, Object>();

                for (StudentSubjectAverageViewDTO dtoObj : studentTermMarkObjList) {

                    if (dtoObj.getSubject().equals(subject)) {
                        mymap.put("Subject", dtoObj.getSubject());

                        if (dtoObj.isAbsent()) {
                            mymap.put(dtoObj.getTerm(), AkuraConstant.ABSENT + " (" + dtoObj.getGradeAverage()
                                    + ")" + " (" + dtoObj.getClassAverage() + ")");
                        } else {
                            // totMarks = totMarks + dtoObj.getMarks();
                            mymap.put(dtoObj.getTerm(), dtoObj.getMarks() + " (" + dtoObj.getGradeAverage()
                                    + ")" + " (" + dtoObj.getClassAverage() + ")");
                        }

                        if (dtoObj.getTerm().equals("Term 1")) {
                            mymap.put("flag1", dtoObj.getMarks());
                        }
                        if (dtoObj.getTerm().equals("Term 2")) {
                            mymap.put("flag2", dtoObj.getMarks());
                        }
                        if (dtoObj.getTerm().equals("Term 3")) {
                            mymap.put("flag3", dtoObj.getMarks());
                        }
                    }
                }
                mylastList.add(mymap);
                tempSubjectList.add(subject);

            }
        }

        setTotalAndAverageMarks(modelMap, studentTermMarkObjList);

        TreeList lastList2 = new TreeList(mylastList);
        modelMap.addAttribute("LastList", lastList2);
    }
    Map<String, List<?>> mapNew = this.loadInformationToPage(intStudentId, intYear);
    if (mapNew != null) {

        if (mapNew.containsKey(PREFECTS)) {
            List<?> pList = mapNew.get(PREFECTS);
            if (!pList.isEmpty()) {
                modelMap.addAttribute(PREFECTS, pList);
            }
        }
        if (mapNew.containsKey(SCHOLARSHIPS)) {
            List<?> sList = mapNew.get(SCHOLARSHIPS);
            if (!sList.isEmpty()) {
                modelMap.addAttribute(SCHOLARSHIPS, sList);
            }
        }
    }
    populateSeminarsList(modelMap, intStudentId, dateTypeYear);

    List<Achievement> achList = this.loadAchievementDetailsForStudent(intStudentId, dateTypeYear);
    if (!achList.isEmpty()) {
        modelMap.addAttribute(MAP_KEY_NAME_ACHIEVEMENT, achList);
    }
    // handling term data
    List<Term> termList = commonService.getTermList();
    modelMap.addAttribute(MODEL_ATT_SELECTED_ID, selectedStudClassId);
    modelMap.addAttribute(ATTR_NAME_YEAR, intYear);
    modelMap.addAttribute(TERM_LIST, termList);
    modelMap.addAttribute(ATTR_NAME_YEAR, yearA);

    // if year equal current year
    if (dateTypeYear.equals(DateUtil.getDateTypeYearValue(Integer.toString(DateUtil.currentYearOnly())))) {
        if (session.getAttribute(AVERAGE_FAITH_LIFE_RATING) != null) {
            faithLifeAverage = (Double) session.getAttribute(AVERAGE_FAITH_LIFE_RATING);
            modelMap.addAttribute(MODEL_ATT_STUDENT_FAITH_LIFE, (int) Math.round(faithLifeAverage));

        }
        if (session.getAttribute(AVERAGE_ATTENDANCE_RATING) != null) {
            attendanceAverage = (Double) session.getAttribute(AVERAGE_ATTENDANCE_RATING);
            modelMap.addAttribute(MODEL_ATT_ATTENDANCE_RATING, (int) Math.round(attendanceAverage));
        }
        if (session.getAttribute(AVERAGE_ACADEMIC_LIFE_RATING) != null) {
            avgAcademicLifeRating = (Double) session.getAttribute(AVERAGE_ACADEMIC_LIFE_RATING);
            modelMap.addAttribute(MODEL_ATT_STUDENT_ACADEMIC_LIFE, (int) Math.round(avgAcademicLifeRating));
        }

    } else {

        Map<String, Double> averageMap = studentLoginDelegate.populateStudentProgressBar(intStudentId,
                dateTypeYear);

        faithLifeAverage = averageMap.get(AVERAGE_FAITH_LIFE_RATING);
        modelMap.addAttribute(MODEL_ATT_STUDENT_FAITH_LIFE, (int) Math.round(faithLifeAverage));

        avgAcademicLifeRating = averageMap.get(AVERAGE_ACADEMIC_LIFE_RATING);
        modelMap.addAttribute(MODEL_ATT_STUDENT_ACADEMIC_LIFE, (int) Math.round(avgAcademicLifeRating));

        attendanceAverage = averageMap.get(AVERAGE_ATTENDANCE_RATING);
        modelMap.addAttribute(MODEL_ATT_ATTENDANCE_RATING, (int) Math.round(attendanceAverage));
    }

    // handling marks display color in the table
    double greenLower = Double
            .parseDouble(PropertyReader.getPropertyValue(SYSTEM_CONFIG_PROPERTIES, COLOR_GREEN_LOWER));
    double yellowUpper = Double
            .parseDouble(PropertyReader.getPropertyValue(SYSTEM_CONFIG_PROPERTIES, COLOR_YELLOW_UPPER));
    double yellowLower = Double
            .parseDouble(PropertyReader.getPropertyValue(SYSTEM_CONFIG_PROPERTIES, COLOR_YELLOW_LOWER));
    double redUpper = Double
            .parseDouble(PropertyReader.getPropertyValue(SYSTEM_CONFIG_PROPERTIES, COLOR_RED_UPPER));
    modelMap.addAttribute(GREEN_LOWER, greenLower);
    modelMap.addAttribute(YELLOW_UPPER, yellowUpper);
    modelMap.addAttribute(YELLOW_LOWER, yellowLower);
    modelMap.addAttribute(RED_UPPER, redUpper);
    return new ModelAndView(VIEW_ACADEMIC_LIFE_PAGE, modelMap);
}

From source file:com.virtusa.akura.student.controller.StudentClassController.java

/**
 * Loads the Class info page back after save.
 * /*from   www . j a v  a2 s  .c o m*/
 * @param grade the grade.
 * @param year the year.
 * @param modelMap the model map.
 * @param finalMap the final map.
 * @throws AkuraAppException the AkuraAppException
 */
private void loadClassInfoPage(String grade, String year, ModelMap modelMap, Map<String, Object> finalMap)
        throws AkuraAppException {

    if (!"".equals(grade) && !"".equals(year)) {
        int intYear = Integer.parseInt(year);

        if (!grade.equals(PARAM_NAME_FOR_NEW_STUDENTS)) {

            // converts
            int intGrade = Integer.parseInt(grade);
            Grade gradeObj = commonService.findGradeById(intGrade);
            modelMap.addAttribute(MODEL_GRADE, gradeObj.getDescription());
            modelMap.addAttribute(MODEL_GRADE_ID, gradeObj.getGradeId());
            finalMap = this.getStudentList(intYear, gradeObj);

        } else {
            modelMap.addAttribute(PARAM_NAME_FOR_NEW_STUDENTS, Boolean.TRUE);
            List<Object> studentList = studentService.getNewStudentForYear(intYear);
            finalMap.put(EMPTY, new TreeList(studentList));
        }
        modelMap.addAttribute(PARAM_NAME_SELECTED_YEAR, intYear);
    }
    modelMap.addAttribute(MODEL_LAST_LIST, finalMap);
}

From source file:com.virtusa.akura.student.controller.StudentClassController.java

/**
 * Method to retrieve the student list given by grade and current year.
 * /* w  ww .j  ava2s  . c  o  m*/
 * @param gradeObj Grade type object which a student belongs to
 * @param year integer type object which specify the current year
 * @return the map.
 * @throws AkuraAppException throws when exception occurs.
 */
private Map<String, Object> getStudentList(int year, Grade gradeObj) throws AkuraAppException {

    Map<String, Object> finalMap = new TreeMap<String, Object>(); // final map
    Iterator<ClassGrade> clsGrdList = commonService.getClassGradeListByGrade(gradeObj).iterator();
    List<StudentClassInfo> stClaInfoList = studentService.getStudentSearchByGradeYear(gradeObj.getGradeId(),
            year);

    while (clsGrdList.hasNext()) {
        ClassGrade classGradeObj = (ClassGrade) clsGrdList.next();
        List<StudentClassInfo> stList = new ArrayList<StudentClassInfo>();

        for (StudentClassInfo studentClassInfo : stClaInfoList) {
            if (studentClassInfo.getClassGrade().getDescription().equals(classGradeObj.getDescription())) {
                stList.add(studentClassInfo);
                // int studentId=studentClassInfo.getStudent().getStudentId();

            }
        }

        if (!stList.isEmpty()) {
            stList = SortUtil.sortStudentClassInfoList(stList);
            finalMap.put(classGradeObj.getDescription(), new TreeList(stList));

        }
    }
    return finalMap;
}

From source file:com.virtusa.akura.student.controller.StudentAcademicLifeController.java

/**
 * Method to retrieve all student related prefect scholarship and achievement details given by student id
 * and year./*from w w  w  . jav  a2  s.com*/
 * 
 * @param studentId - specifies by an integer
 * @param year - specifies by an Date type object
 * @return Map consisting string keys and List of values
 * @throws AkuraAppException throws when exception occurs
 */
public Map<String, List<?>> loadInformationToPage(int studentId, int year) throws AkuraAppException {

    Map<String, List<?>> map = new TreeMap<String, List<?>>();
    List<StudentPrefect> prefectList = studentService.getStudentPrefectDetailsByStudentId(studentId, year);
    if (!prefectList.isEmpty()) {

        map.put(PREFECTS, new TreeList(SortUtil.sortStudentPrefectListByName((prefectList))));
    }
    List<StudentScholarship> scholList = studentService.getStudentScholarshipDetailsByStudentId(studentId,
            year);
    if (!scholList.isEmpty()) {

        map.put(SCHOLARSHIPS, new TreeList(scholList));
    }
    return map;
}