List of usage examples for org.apache.commons.collections.comparators ComparatorChain addComparator
public void addComparator(Comparator comparator)
From source file:net.sourceforge.fenixedu.presentationTier.backBeans.departmentMember.ViewDepartmentTeachers.java
private List<ExecutionCourse> readLecturedExecutionCourses(DegreeType degreeType) throws FenixServiceException { String executionYearID = getSelectedExecutionYearID(); List<ExecutionCourse> lecturedExecutionCourses = ReadLecturedExecutionCoursesByTeacherIDAndExecutionYearIDAndDegreeType .runReadLecturedExecutionCoursesByTeacherIDAndExecutionYearIDAndDegreeType(getSelectedTeacherID(), executionYearID, degreeType); List<ExecutionCourse> result = new ArrayList<ExecutionCourse>(); result.addAll(lecturedExecutionCourses); ComparatorChain comparatorChain = new ComparatorChain(); BeanComparator executionYearComparator = new BeanComparator("executionPeriod.executionYear.year"); BeanComparator semesterComparator = new BeanComparator("executionPeriod.semester"); comparatorChain.addComparator(executionYearComparator); comparatorChain.addComparator(semesterComparator); Collections.sort(result, comparatorChain); return result; }
From source file:net.sourceforge.fenixedu.presentationTier.backBeans.coordinator.evaluation.CoordinatorEvaluationManagementBackingBean.java
public List<SelectItem> getExecutionPeriodsLabels() { if (this.executionPeriodsLabels == null) { this.executionPeriodsLabels = new ArrayList(); final List<InfoExecutionPeriod> infoExecutionPeriods = getExecutionPeriods(); final ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new ReverseComparator(new BeanComparator("infoExecutionYear.year"))); comparatorChain.addComparator(new ReverseComparator(new BeanComparator("semester"))); Collections.sort(infoExecutionPeriods, comparatorChain); for (final InfoExecutionPeriod infoExecutionPeriod : infoExecutionPeriods) { final SelectItem selectItem = new SelectItem(); selectItem.setValue(infoExecutionPeriod.getExternalId()); selectItem.setLabel(infoExecutionPeriod.getName() + " - " + infoExecutionPeriod.getInfoExecutionYear().getYear()); this.executionPeriodsLabels.add(selectItem); }//w w w . j a v a2 s . c o m } return this.executionPeriodsLabels; }
From source file:net.sourceforge.fenixedu.presentationTier.Action.coordinator.DegreeCurricularPlanManagementDispatchAction.java
private void sortCurricularCourses(HttpServletRequest request, InfoCurriculum infoCurriculum) { // order list by year, semester if (infoCurriculum.getInfoCurricularCourse() != null) { ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.infoCurricularYear.year")); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.semester")); comparatorChain.addComparator(new BeanComparator("infoCurricularCourse.name")); Collections.sort(infoCurriculum.getInfoCurricularCourse().getInfoScopes(), comparatorChain); request.setAttribute("infoCurriculum", infoCurriculum); }/*from w w w. j av a 2s . co m*/ }
From source file:net.sourceforge.fenixedu.presentationTier.Action.coordinator.DegreeCurricularPlanManagementDispatchAction.java
public ActionForward showActiveCurricularCourses(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws FenixActionException { final String degreeCurricularPlanID = getAndSetStringToRequest("degreeCurricularPlanID", request); List activeCurricularCourseScopes = null; try {/*from w w w. j a v a 2 s .c o m*/ activeCurricularCourseScopes = ReadActiveDegreeCurricularPlanScopes .runReadActiveDegreeCurricularPlanScopes(degreeCurricularPlanID); } catch (FenixServiceException e) { if (e.getMessage().equals("nullDegree")) { addErrorMessage(request, "nullCode", "error.coordinator.noExecutionDegree"); } else { throw new FenixActionException(e); } } if (activeCurricularCourseScopes == null || activeCurricularCourseScopes.size() == 0) { addErrorMessage(request, "noDegreeCurricularPlan", "error.nonExisting.AssociatedCurricularCourses"); return mapping.findForward("showActiveCurricularCourses"); } // order list by year, next semester, next course final ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.infoCurricularYear.year")); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.semester")); comparatorChain.addComparator(new BeanComparator("infoCurricularCourse.name")); Collections.sort(activeCurricularCourseScopes, comparatorChain); request.setAttribute("allActiveCurricularCourseScopes", activeCurricularCourseScopes); return mapping.findForward("showActiveCurricularCourses"); }
From source file:com.safetys.framework.jmesa.core.sort.ComparableAwareColumnSort.java
@SuppressWarnings("unchecked") public Collection<?> sortItems(Collection<?> items, Limit limit) { if (items.isEmpty()) { return items; }/*ww w .ja v a 2 s . co m*/ ComparatorChain chain = new ComparatorChain(); SortSet sortSet = limit.getSortSet(); for (Sort sort : sortSet.getSorts()) { Class<?> type = null; try { type = getPropertyClassType(items, sort.getProperty()); } catch (Exception e) { logger.error("Had problems getting the column sort type.", e); } if (type != null && Comparable.class.isAssignableFrom(type)) { if (sort.getOrder() == Order.ASC) { chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator(ComparableComparator.getInstance()))); } else if (sort.getOrder() == Order.DESC) { chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator(ComparableComparator.getInstance())), true); } } else if (sort.getOrder() == Order.ASC) { chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator())); } else if (sort.getOrder() == Order.DESC) { chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator()), true); } } if (chain.size() > 0) { Collections.sort((List<?>) items, chain); } return items; }
From source file:net.sourceforge.fenixedu.presentationTier.Action.coordinator.DegreeCurricularPlanManagementDispatchAction.java
public ActionForward showCurricularCoursesHistory(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws FenixActionException { String degreeCurricularPlanID = getAndSetStringToRequest("degreeCurricularPlanID", request); InfoDegreeCurricularPlan infoDegreeCurricularPlan = null; try {/*from www. jav a2 s. co m*/ infoDegreeCurricularPlan = ReadDegreeCurricularPlanHistoryByDegreeCurricularPlanID .run(degreeCurricularPlanID); } catch (NonExistingServiceException e) { addErrorMessage(request, "chosenDegree", "error.coordinator.noExecutionDegree"); } catch (FenixServiceException e) { if (e.getMessage().equals("nullDegree")) { addErrorMessage(request, "nullCode", "error.coordinator.noExecutionDegree"); } else { throw new FenixActionException(e); } } if (infoDegreeCurricularPlan == null) { addErrorMessage(request, "noDegreeCurricularPlan", "error.nonExisting.AssociatedCurricularCourses"); } if (infoDegreeCurricularPlan != null && infoDegreeCurricularPlan.getCurricularCourses() != null) { // order list by year, next semester, next course List<InfoCurricularCourseScope> allCurricularCourseScopes = new ArrayList<InfoCurricularCourseScope>(); Iterator iter = infoDegreeCurricularPlan.getCurricularCourses().listIterator(); while (iter.hasNext()) { InfoCurricularCourse infoCurricularCourse = (InfoCurricularCourse) iter.next(); allCurricularCourseScopes.addAll(getInfoCurricularCourseScopes(infoCurricularCourse)); } ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.infoCurricularYear.year")); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.semester")); comparatorChain.addComparator(new BeanComparator("infoCurricularCourse.name")); comparatorChain.addComparator(new BeanComparator("beginDate.time")); Collections.sort(allCurricularCourseScopes, comparatorChain); // build hashmap for jsp HashMap<String, List<InfoCurricularCourseScope>> curricularCourseScopesHashMap = new HashMap<String, List<InfoCurricularCourseScope>>(); String lastKey = null; Iterator<InfoCurricularCourseScope> iterCurricularCourseScopes = allCurricularCourseScopes.iterator(); while (iterCurricularCourseScopes.hasNext()) { InfoCurricularCourseScope curricularCourseScope = iterCurricularCourseScopes.next(); List<InfoCurricularCourseScope> equalCurricularCourseScopes = null; if (lastKey != null) { InfoCurricularCourseScope lastIntroduced = curricularCourseScopesHashMap.get(lastKey).iterator() .next(); if (scopesAreEqual(curricularCourseScope, lastIntroduced)) { equalCurricularCourseScopes = curricularCourseScopesHashMap.get(lastKey); equalCurricularCourseScopes.add(curricularCourseScope); curricularCourseScopesHashMap.put(lastKey, equalCurricularCourseScopes); continue; } } equalCurricularCourseScopes = new ArrayList<InfoCurricularCourseScope>(); equalCurricularCourseScopes.add(curricularCourseScope); curricularCourseScopesHashMap.put(curricularCourseScope.getExternalId(), equalCurricularCourseScopes); lastKey = curricularCourseScope.getExternalId(); } request.setAttribute("allCurricularCourseScopes", allCurricularCourseScopes); request.setAttribute("curricularCourseScopesHashMap", curricularCourseScopesHashMap); } return mapping.findForward("showCurricularCoursesHistory"); }
From source file:net.sourceforge.fenixedu.presentationTier.Action.administrativeOffice.serviceRequests.AcademicServiceRequestsManagementDispatchAction.java
private Comparator getComparator(HttpServletRequest request) { final String orderParameter = request.getParameter(ORDER_PARAMETER); final String orderGetter = StringUtils.isEmpty(orderParameter) ? DEFAULT_ORDER_GETTER : orderParameter.substring(0, orderParameter.indexOf(ORDER_MARKER)); final String orderDir = StringUtils.isEmpty(orderParameter) ? DEFAULT_ORDER_DIR : orderParameter.substring(orderParameter.indexOf(ORDER_MARKER) + 1, orderParameter.length()); final boolean orderAsc = Arrays.asList(ASC_ORDER_DIR).contains(orderDir); if (orderGetter.equals(REQUEST_NUMBER_YEAR)) { return orderAsc ? AcademicServiceRequest.COMPARATOR_BY_NUMBER : new ReverseComparator(AcademicServiceRequest.COMPARATOR_BY_NUMBER); } else if (orderGetter.equals(EXECUTION_YEAR)) { return orderAsc ? AcademicServiceRequest.EXECUTION_YEAR_AND_OID_COMPARATOR : new ReverseComparator(AcademicServiceRequest.EXECUTION_YEAR_AND_OID_COMPARATOR); } else if (orderGetter.equals(REGISTRATION_NUMBER) || orderGetter.equals(DESCRIPTION) || orderGetter.equals(URGENT_REQUEST) || orderGetter.equals(REGISTRATION_NUMBER) || orderGetter.equals(REQUEST_DATE) || orderGetter.equals(ACTIVE_SITUATION_DATE)) { final ComparatorChain chain = new ComparatorChain(); chain.addComparator(orderAsc ? new BeanComparator(orderGetter) : new ReverseComparator(new BeanComparator(orderGetter))); chain.addComparator(DomainObjectUtil.COMPARATOR_BY_ID); return chain; }/*from w w w. jav a 2 s . c om*/ return null; }
From source file:net.sourceforge.fenixedu.presentationTier.renderers.VigilantTableRender.java
@Override protected Layout getLayout(Object object, Class type) { ComparatorChain chain = new ComparatorChain(); chain.addComparator(VigilantWrapper.CATEGORY_COMPARATOR); chain.addComparator(VigilantWrapper.USERNAME_COMPARATOR); this.group = (VigilantGroup) object; List<VigilantWrapper> vigilants = new ArrayList<VigilantWrapper>(this.group.getVigilantWrappersSet()); Collections.sort(vigilants, chain); return new VigilantTableRenderLayout(vigilants); }
From source file:net.sourceforge.fenixedu.presentationTier.Action.vigilancy.VigilantGroupManagement.java
public ActionForward showPoints(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String vigilantGroupId = request.getParameter("oid"); VigilantGroup group = (VigilantGroup) FenixFramework.getDomainObject(vigilantGroupId); List<VigilantWrapper> vigilantWrappers = group.getVigilantWrappersThatCanBeConvoked(); ComparatorChain chain = new ComparatorChain(); chain.addComparator(VigilantWrapper.CATEGORY_COMPARATOR); chain.addComparator(VigilantWrapper.USERNAME_COMPARATOR); chain.addComparator(VigilantWrapper.NAME_COMPARATOR); Collections.sort(vigilantWrappers, chain); request.setAttribute("vigilants", vigilantWrappers); request.setAttribute("group", group); return mapping.findForward("showPoints"); }
From source file:net.sourceforge.fenixedu.presentationTier.Action.vigilancy.VigilantGroupManagement.java
public ActionForward prepareBoundPropertyEdition(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String groupId = request.getParameter("oid"); VigilantGroup group = (VigilantGroup) FenixFramework.getDomainObject(groupId); List<VigilantWrapper> vigilantWrappers = new ArrayList<VigilantWrapper>(group.getVigilantWrappersSet()); ComparatorChain chain = new ComparatorChain(); chain.addComparator(VigilantWrapper.CATEGORY_COMPARATOR); chain.addComparator(VigilantWrapper.USERNAME_COMPARATOR); chain.addComparator(VigilantWrapper.NAME_COMPARATOR); Collections.sort(vigilantWrappers, chain); request.setAttribute("vigilantWrappers", vigilantWrappers); request.setAttribute("group", group); return mapping.findForward("editVigilantBounds"); }