Example usage for org.apache.commons.collections.comparators ComparatorChain addComparator

List of usage examples for org.apache.commons.collections.comparators ComparatorChain addComparator

Introduction

In this page you can find the example usage for org.apache.commons.collections.comparators ComparatorChain addComparator.

Prototype

public void addComparator(Comparator comparator) 

Source Link

Document

Add a Comparator to the end of the chain using the forward sort order

Usage

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;
}