List of usage examples for org.apache.commons.collections.comparators ComparatorChain addComparator
public void addComparator(Comparator comparator)
From source file:ComparatorExampleForUserDefinedClass.java
public static void main(String args[]) { prepareData();/*from w w w .ja v a2s.c om*/ ComparatorChain chain = new ComparatorChain(); chain.addComparator(new NameComparator()); chain.addComparator(new NumberComparator()); printArray(dataArray); Arrays.sort(dataArray, chain); printArray(dataArray); }
From source file:net.sourceforge.fenixedu.presentationTier.renderers.providers.VigilantsForGivenVigilantGroup.java
@Override public Object provide(Object source, Object currentValue) { VigilantGroupBean bean = (VigilantGroupBean) source; VigilantGroup vigilantGroup = bean.getSelectedVigilantGroup(); List<VigilantWrapper> vigilants = new ArrayList<VigilantWrapper>(); if (source instanceof ConvokeBean) { ConvokeBean convokeBean = (ConvokeBean) bean; vigilants.addAll(convokeBean.getVigilantsSugestion()); WrittenEvaluation evaluation = convokeBean.getWrittenEvaluation(); if (evaluation != null && evaluation.getVigilanciesSet().size() > 0) { for (Vigilancy convoke : evaluation.getVigilanciesSet()) { vigilants.remove(convoke.getVigilantWrapper()); }//w ww . j a v a2 s . c o m } } else { vigilants.addAll(vigilantGroup.getVigilantWrappersSet()); ComparatorChain chain = new ComparatorChain(); chain.addComparator(VigilantWrapper.CATEGORY_COMPARATOR); chain.addComparator(VigilantWrapper.USERNAME_COMPARATOR); Collections.sort(vigilants, chain); } return vigilants; }
From source file:net.sourceforge.fenixedu.dataTransferObject.inquiries.InquiryBlockDTO.java
private void initBlock(InquiryBlock inquiryBlock) { setInquiryBlock(inquiryBlock);/*from w ww. j av a 2s . com*/ ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("inquiryGroupQuestion.groupOrder")); comparatorChain.addComparator(new BeanComparator("order")); setInquiryGroups(new TreeSet<InquiryGroupQuestionBean>(comparatorChain)); }
From source file:net.sourceforge.fenixedu.presentationTier.Action.base.FenixContextAction.java
protected List<LabelValueBean> buildExecutionPeriodsLabelValueList(String degreeCurricularPlanId) throws FenixActionException { List<InfoExecutionDegree> infoExecutionDegreeList = new ArrayList<InfoExecutionDegree>(); try {/*w w w . j av a2 s . c o m*/ infoExecutionDegreeList = ReadPublicExecutionDegreeByDCPID.run(degreeCurricularPlanId); } catch (Exception e) { throw new FenixActionException(e); } List<LabelValueBean> result = new ArrayList<LabelValueBean>(); for (InfoExecutionDegree infoExecutionDegree : infoExecutionDegreeList) { try { List<InfoExecutionPeriod> infoExecutionPeriodsList = ReadNotClosedPublicExecutionPeriodsByExecutionYear .run(infoExecutionDegree.getInfoExecutionYear()); for (InfoExecutionPeriod infoExecutionPeriodIter : infoExecutionPeriodsList) { result.add(new LabelValueBean( infoExecutionPeriodIter.getName() + " - " + infoExecutionPeriodIter.getInfoExecutionYear().getYear(), infoExecutionPeriodIter.getExternalId().toString())); } } catch (Exception e) { throw new FenixActionException(e); } } ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("value")); Collections.sort(result, comparatorChain); Collections.reverse(result); return result; }
From source file:net.sourceforge.fenixedu.presentationTier.renderers.providers.EmployeesForGivenUnit.java
@Override public Object provide(Object source, Object currentValue) { VigilantGroupBean bean = (VigilantGroupBean) source; ExecutionYear currentYear = ExecutionYear.readCurrentExecutionYear(); Unit unit = bean.getSelectedUnit();/*from w w w .ja va 2 s . c o m*/ List<Employee> employees = null; if (unit != null) { employees = unit.getAllWorkingEmployees(currentYear.getBeginDateYearMonthDay(), currentYear.getEndDateYearMonthDay()); } else { Department department = bean.getSelectedDepartment(); if (department != null) { employees = department.getAllWorkingEmployees(currentYear.getBeginDateYearMonthDay(), currentYear.getEndDateYearMonthDay()); } } VigilantGroup group = bean.getSelectedVigilantGroup(); if (group != null) { Collection<VigilantWrapper> vigilants = group.getVigilants(); for (VigilantWrapper vigilant : vigilants) { Employee employee = vigilant.getPerson().getEmployee(); if (employee != null) { employees.remove(employee); } } } ComparatorChain chain = new ComparatorChain(); chain.addComparator(new CategoryComparator()); chain.addComparator(new ReverseComparator(new BeanComparator("person.username"))); Collections.sort(employees, chain); return employees; }
From source file:net.sourceforge.fenixedu.presentationTier.backBeans.manager.DisplayCurricularPlan.java
private void sortScopes(List<InfoCurricularCourseScope> scopes) { ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.infoCurricularYear.year")); comparatorChain.addComparator(new BeanComparator("infoBranch.name")); comparatorChain.addComparator(new BeanComparator("infoCurricularSemester.semester")); comparatorChain.addComparator(new BeanComparator("infoCurricularCourse.name")); Collections.sort(scopes, comparatorChain); }
From source file:net.sourceforge.fenixedu.domain.vigilancy.strategies.ConvokeByPoints.java
@Override public StrategySugestion sugest(List<VigilantWrapper> vigilants, WrittenEvaluation writtenEvaluation) { List<VigilantWrapper> teachersSugestion = new ArrayList<VigilantWrapper>(); List<VigilantWrapper> vigilantSugestion = new ArrayList<VigilantWrapper>(); Set<Person> incompatiblePersons = new HashSet<Person>(); List<UnavailableInformation> unavailableVigilants = new ArrayList<UnavailableInformation>(); if (!writtenEvaluation.getVigilanciesSet().isEmpty()) { incompatiblePersons.addAll(getIncompatiblePersons(writtenEvaluation)); }/* w w w .j av a 2 s. c o m*/ final Collection<ExecutionCourse> executionCourses = writtenEvaluation.getAssociatedExecutionCoursesSet(); for (VigilantWrapper vigilant : vigilants) { Person vigilantPerson = vigilant.getPerson(); if (vigilant.canBeConvokedForWrittenEvaluation(writtenEvaluation) && !incompatiblePersons.contains(vigilantPerson.getIncompatibleVigilantPerson())) { if (vigilantPerson.teachesAny(executionCourses)) { teachersSugestion.add(vigilant); incompatiblePersons.add(vigilant.getPerson()); } else { vigilantSugestion.add(vigilant); } } else { if (!vigilantIsAlreadyConvokedForThisExam(vigilant, writtenEvaluation)) { UnavailableTypes reason; if (incompatiblePersons.contains(vigilant.getPerson().getIncompatibleVigilant())) { reason = UnavailableTypes.INCOMPATIBLE_PERSON; } else { reason = vigilant.getWhyIsUnavailabeFor(writtenEvaluation); } unavailableVigilants.add(new UnavailableInformation(vigilant, reason)); } } } ComparatorChain comparator = new ComparatorChain(); comparator.addComparator(VigilantWrapper.ESTIMATED_POINTS_COMPARATOR); // comparator.addComparator(new ConvokeComparator()); comparator.addComparator(VigilantWrapper.CATEGORY_COMPARATOR); comparator.addComparator(VigilantWrapper.USERNAME_COMPARATOR); Collections.sort(vigilantSugestion, comparator); Collections.sort(teachersSugestion, comparator); return new StrategySugestion(teachersSugestion, vigilantSugestion, unavailableVigilants); }
From source file:net.sourceforge.fenixedu.presentationTier.Action.teacher.ListVigilanciesForEvaluationDispatchAction.java
private void setState(HttpServletRequest request) { String executionCourseID = request.getParameter("executionCourseID"); request.setAttribute("executionCourseID", executionCourseID); String writtenEvaluationID = request.getParameter("evaluationOID"); WrittenEvaluation evaluation = (WrittenEvaluation) FenixFramework.getDomainObject(writtenEvaluationID); ComparatorChain comparator = new ComparatorChain(); comparator.addComparator(Vigilancy.COMPARATOR_BY_VIGILANT_CATEGORY); comparator.addComparator(Vigilancy.COMPARATOR_BY_VIGILANT_USERNAME); List<Vigilancy> vigilancies = new ArrayList<Vigilancy>(evaluation.getOthersVigilancies()); Collections.sort(vigilancies, comparator); List<Vigilancy> ownVigilancies = new ArrayList<Vigilancy>(evaluation.getTeachersVigilancies()); Collections.sort(ownVigilancies, comparator); request.setAttribute("evaluation", evaluation); request.setAttribute("ownVigilancies", ownVigilancies); request.setAttribute("vigilancies", vigilancies); }
From source file:net.sourceforge.fenixedu.dataTransferObject.InfoStudentCurricularPlan.java
public List getInfoEnrolmentsSorted() { final List<InfoEnrolment> infoEnrolments = getInfoEnrolments(); ComparatorChain comparatorChain = new ComparatorChain(); comparatorChain.addComparator(new BeanComparator("infoExecutionPeriod.infoExecutionYear.year")); comparatorChain.addComparator(new BeanComparator("infoExecutionPeriod.semester")); comparatorChain.addComparator(new BeanComparator("infoCurricularCourse.name", Collator.getInstance())); Collections.sort(infoEnrolments, comparatorChain); return infoEnrolments; }
From source file:net.sourceforge.fenixedu.applicationTier.Servico.commons.curriculumHistoric.ReadActiveCurricularCourseScopeByDegreeCurricularPlanAndExecutionYear.java
public SortedSet<DegreeModuleScope> run(String degreeCurricularPlanID, AcademicInterval academicInterval) throws FenixServiceException { final DegreeCurricularPlan degreeCurricularPlan = FenixFramework.getDomainObject(degreeCurricularPlanID); final ComparatorChain comparator = new ComparatorChain(); comparator.addComparator(new BeanComparator("curricularYear")); comparator.addComparator(new BeanComparator("curricularSemester")); comparator.addComparator(new BeanComparator("curricularCourse.externalId")); comparator.addComparator(new BeanComparator("branch")); final SortedSet<DegreeModuleScope> scopes = new TreeSet<DegreeModuleScope>(comparator); for (DegreeModuleScope degreeModuleScope : degreeCurricularPlan.getDegreeModuleScopes()) { if (degreeModuleScope.isActiveForAcademicInterval(academicInterval)) { scopes.add(degreeModuleScope); }/*ww w .ja va 2 s .c o m*/ } return scopes; }