Example usage for org.joda.time Duration plus

List of usage examples for org.joda.time Duration plus

Introduction

In this page you can find the example usage for org.joda.time Duration plus.

Prototype

public Duration plus(ReadableDuration amount) 

Source Link

Document

Returns a new duration with this length plus that specified.

Usage

From source file:org.thiesen.jiffs.jobs.fetcher.SubscriptionFetcher.java

License:Open Source License

private DateTime increase(Duration duration) {
    if (duration.getMillis() >= MAX_CHECK_TIME_MILLIS) {
        return new DateTime().plus(MAX_CHECK_TIME_MILLIS);
    }/*from  w ww.  j  a  va 2s .  co m*/

    return new DateTime().plus(duration.plus(CHECK_TIME_STEPPING_MILLIS));
}

From source file:pt.ist.fenixedu.teacher.domain.teacher.TeacherService.java

License:Open Source License

public static Duration getLecturedDurationOnExecutionCourse(Teacher teacher, ExecutionCourse executionCourse) {
    Duration duration = Duration.ZERO;
    Professorship professorship = teacher.getProfessorshipByExecutionCourse(executionCourse);
    TeacherService teacherService = getTeacherServiceByExecutionPeriod(teacher,
            executionCourse.getExecutionPeriod());
    if (teacherService != null) {
        List<DegreeTeachingService> teachingServices = teacherService
                .getDegreeTeachingServiceByProfessorship(professorship);
        for (DegreeTeachingService teachingService : teachingServices) {
            duration = duration.plus(new Duration(new Double((teachingService.getPercentage() / 100)
                    * teachingService.getShift().getCourseLoadWeeklyAverage().doubleValue() * 3600 * 1000)
                            .longValue()));
        }//from  w  w  w  . j  av  a  2s.  c o m
    }
    return duration;
}

From source file:pt.ist.fenixedu.teacher.evaluation.ui.struts.action.credits.ViewDepartmentTeacherServiceDA.java

License:Open Source License

public ActionForward exportDepartmentTeacherService(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response) throws FenixServiceException, IOException {
    DepartmentCreditsBean departmentCreditsBean = getRenderedObject();
    List<Department> departments = new ArrayList<Department>();
    if (departmentCreditsBean.getDepartment() != null) {
        departments.add(departmentCreditsBean.getDepartment());
    } else {/*from   www .jav a2s  . c o  m*/
        departments.addAll(departmentCreditsBean.getAvailableDepartments());
    }
    StyledExcelSpreadsheet spreadsheet = new StyledExcelSpreadsheet();
    PeriodFormatter periodFormatter = new PeriodFormatterBuilder().printZeroAlways().minimumPrintedDigits(2)
            .appendHours().appendSuffix(":").appendMinutes().toFormatter();
    for (Department department : departments) {
        spreadsheet.getSheet(department.getAcronym());
        spreadsheet.newHeaderRow();
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.name"), 10000);
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.degrees"));
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.semester"));

        spreadsheet.addHeader(BundleUtil.getString(Bundle.DEPARTMENT_MEMBER,
                "label.teacherService.course.firstTimeEnrolledStudentsNumber"));
        spreadsheet.addHeader(BundleUtil.getString(Bundle.DEPARTMENT_MEMBER,
                "label.teacherService.course.secondTimeEnrolledStudentsNumber"));

        spreadsheet.addHeader(BundleUtil.getString(Bundle.DEPARTMENT_MEMBER,
                "label.teacherService.course.totalStudentsNumber"));

        org.fenixedu.academic.domain.ShiftType[] values = org.fenixedu.academic.domain.ShiftType.values();
        for (ShiftType shiftType : values) {
            spreadsheet.addHeader(
                    BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherServiceDistribution.hours")
                            + " " + shiftType.getFullNameTipoAula());
            //    spreadsheet.addHeader("# Alunos / # Turnos " + shiftType.getFullNameTipoAula());
        }

        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.totalHours"));
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.availability"));

        for (ExecutionSemester executionSemester : departmentCreditsBean.getExecutionYear()
                .getExecutionPeriodsSet()) {
            for (ExecutionCourse executionCourse : departmentCreditsBean.getDepartment().getDepartmentUnit()
                    .getAllExecutionCoursesByExecutionPeriod(executionSemester)) {

                spreadsheet.newRow();
                spreadsheet.addCell(executionCourse.getNome());
                spreadsheet.addCell(getDegreeSiglas(executionCourse));
                spreadsheet.addCell(executionCourse.getExecutionPeriod().getSemester());

                int executionCourseFirstTimeEnrollementStudentNumber = executionCourse
                        .getFirstTimeEnrolmentStudentNumber();
                int totalStudentsNumber = executionCourse.getTotalEnrolmentStudentNumber();
                int executionCourseSecondTimeEnrollementStudentNumber = totalStudentsNumber
                        - executionCourseFirstTimeEnrollementStudentNumber;
                spreadsheet.addCell(executionCourseFirstTimeEnrollementStudentNumber);
                spreadsheet.addCell(executionCourseSecondTimeEnrollementStudentNumber);
                spreadsheet.addCell(totalStudentsNumber);

                Double totalHours = 0.0;
                for (ShiftType shiftType : values) {
                    Double shiftHours = executionCourse.getAllShiftUnitHours(shiftType).doubleValue();
                    totalHours += shiftHours;
                    spreadsheet.addCell(shiftHours);
                }

                Duration totalShiftsDuration = new Duration(
                        new Double(executionCourse.getAssociatedShifts().stream()
                                .mapToDouble(s -> s.getCourseLoadWeeklyAverage().doubleValue()).sum() * 3600000)
                                        .longValue());
                spreadsheet.addCell(periodFormatter.print(totalShiftsDuration.toPeriod()));
                int colNum = spreadsheet.getNextWritableCell();
                spreadsheet.addCell("");

                Duration totalLecturedDuration = Duration.ZERO;
                for (Professorship professorship : executionCourse.getProfessorshipsSet()) {
                    Teacher teacher = professorship.getTeacher();
                    if (teacher != null) {
                        Duration teacherLecturedTime = TeacherService
                                .getLecturedDurationOnExecutionCourse(teacher, executionCourse);
                        totalLecturedDuration = totalLecturedDuration.plus(teacherLecturedTime);
                        spreadsheet.addCell(teacher.getPerson().getUsername());
                        spreadsheet.addCell(teacher.getPerson().getName());
                        spreadsheet.addCell(periodFormatter.print(teacherLecturedTime.toPeriod()));
                    }

                }

                spreadsheet.addCell(
                        periodFormatter.print(totalShiftsDuration.minus(totalLecturedDuration).toPeriod()),
                        colNum);
            }
        }
        spreadsheet.getSheet(department.getAcronym() + "_docentes");
        spreadsheet.newHeaderRow();
        spreadsheet
                .addHeader(BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.teacher.id"));
        spreadsheet.addHeader(
                BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.teacher.name"), 10000);
        spreadsheet.addHeader(BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.category"));
        spreadsheet.addHeader(BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.course"),
                10000);
        spreadsheet.addHeader(BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.degrees"));
        spreadsheet.addHeader(
                BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.execution-period"));
        spreadsheet.addHeader(BundleUtil.getString("resources.TeacherCreditsSheetResources", "label.hours"));

        Set<Teacher> allTeachers = Sets
                .newHashSet(department.getAllTeachers(departmentCreditsBean.getExecutionYear()));
        for (Teacher teacher : allTeachers) {
            spreadsheet.newRow();
            spreadsheet.addCell(teacher.getPerson().getUsername());
            spreadsheet.addCell(teacher.getPerson().getProfile().getDisplayName());
            TeacherAuthorization teacherAuthorization = teacher
                    .getTeacherAuthorization(departmentCreditsBean.getExecutionYear().getAcademicInterval())
                    .orElse(null);
            if (teacherAuthorization != null) {
                spreadsheet.addCell(teacherAuthorization.getTeacherCategory().getName().getContent());
            }
            for (Professorship professorship : teacher
                    .getProfessorships(departmentCreditsBean.getExecutionYear())) {
                spreadsheet.newRow();
                spreadsheet.addCell(professorship.getExecutionCourse().getNome(), 3);
                spreadsheet.addCell(getDegreeSiglas(professorship.getExecutionCourse()));
                spreadsheet.addCell(professorship.getExecutionCourse().getExecutionPeriod().getSemester());
                Duration teacherLecturedTime = TeacherService.getLecturedDurationOnExecutionCourse(
                        professorship.getTeacher(), professorship.getExecutionCourse());
                spreadsheet.addCell(periodFormatter.print(teacherLecturedTime.toPeriod()));
            }
        }
    }

    response.setContentType("text/plain");
    StringBuilder filename = new StringBuilder("servicoDocencia");
    filename.append((departments.size() == 1 ? departments.iterator().next().getAcronym() : "Departamentos"));
    filename.append("_")
            .append(departmentCreditsBean.getExecutionYear().getQualifiedName().replaceAll("/", "_"))
            .append(".xls");
    response.setHeader("Content-disposition", "attachment; filename=" + filename.toString());
    final ServletOutputStream writer = response.getOutputStream();
    spreadsheet.getWorkbook().write(writer);
    writer.flush();
    response.flushBuffer();
    return null;
}

From source file:pt.ist.fenixedu.teacher.ui.struts.action.credits.ViewDepartmentTeacherServiceDA.java

License:Open Source License

public ActionForward exportDepartmentTeacherService(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response) throws FenixServiceException, IOException {
    DepartmentCreditsBean departmentCreditsBean = getRenderedObject();
    List<Department> departments = new ArrayList<Department>();
    if (departmentCreditsBean.getDepartment() != null) {
        departments.add(departmentCreditsBean.getDepartment());
    } else {//w w w .  j  av  a2s  .  co m
        departments.addAll(departmentCreditsBean.getAvailableDepartments());
    }
    StyledExcelSpreadsheet spreadsheet = new StyledExcelSpreadsheet();
    PeriodFormatter periodFormatter = new PeriodFormatterBuilder().printZeroAlways().minimumPrintedDigits(2)
            .appendHours().appendSuffix(":").appendMinutes().toFormatter();
    for (Department department : departments) {
        spreadsheet.getSheet(department.getAcronym());
        spreadsheet.newHeaderRow();
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.name"), 10000);
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.degrees"));
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.semester"));

        spreadsheet.addHeader(BundleUtil.getString(Bundle.DEPARTMENT_MEMBER,
                "label.teacherService.course.firstTimeEnrolledStudentsNumber"));
        spreadsheet.addHeader(BundleUtil.getString(Bundle.DEPARTMENT_MEMBER,
                "label.teacherService.course.secondTimeEnrolledStudentsNumber"));

        spreadsheet.addHeader(BundleUtil.getString(Bundle.DEPARTMENT_MEMBER,
                "label.teacherService.course.totalStudentsNumber"));

        org.fenixedu.academic.domain.ShiftType[] values = org.fenixedu.academic.domain.ShiftType.values();
        for (ShiftType shiftType : values) {
            spreadsheet.addHeader(
                    BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherServiceDistribution.hours")
                            + " " + shiftType.getFullNameTipoAula());
            //    spreadsheet.addHeader("# Alunos / # Turnos " + shiftType.getFullNameTipoAula());
        }

        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.totalHours"));
        spreadsheet.addHeader(
                BundleUtil.getString(Bundle.DEPARTMENT_MEMBER, "label.teacherService.course.availability"));

        for (ExecutionSemester executionSemester : departmentCreditsBean.getExecutionYear()
                .getExecutionPeriodsSet()) {
            for (ExecutionCourse executionCourse : departmentCreditsBean.getDepartment().getDepartmentUnit()
                    .getAllExecutionCoursesByExecutionPeriod(executionSemester)) {

                spreadsheet.newRow();
                spreadsheet.addCell(executionCourse.getNome());
                spreadsheet.addCell(getDegreeSiglas(executionCourse));
                spreadsheet.addCell(executionCourse.getExecutionPeriod().getSemester());

                int executionCourseFirstTimeEnrollementStudentNumber = executionCourse
                        .getFirstTimeEnrolmentStudentNumber();
                int totalStudentsNumber = executionCourse.getTotalEnrolmentStudentNumber();
                int executionCourseSecondTimeEnrollementStudentNumber = totalStudentsNumber
                        - executionCourseFirstTimeEnrollementStudentNumber;
                spreadsheet.addCell(executionCourseFirstTimeEnrollementStudentNumber);
                spreadsheet.addCell(executionCourseSecondTimeEnrollementStudentNumber);
                spreadsheet.addCell(totalStudentsNumber);

                Double totalHours = 0.0;
                for (ShiftType shiftType : values) {
                    Double shiftHours = executionCourse.getAllShiftUnitHours(shiftType).doubleValue();
                    totalHours += shiftHours;
                    spreadsheet.addCell(shiftHours);

                    //                        Integer numberOfShifts = executionCourse.getNumberOfShifts(shiftType);
                    //                        spreadsheet.addCell(numberOfShifts == 0 ? 0 : (double) totalStudentsNumber / numberOfShifts);

                }

                Duration totalShiftsDuration = executionCourse.getTotalShiftsDuration();
                spreadsheet.addCell(periodFormatter.print(totalShiftsDuration.toPeriod()));
                int colNum = spreadsheet.getNextWritableCell();
                spreadsheet.addCell("");

                Duration totalLecturedDuration = Duration.ZERO;
                for (Professorship professorship : executionCourse.getProfessorshipsSet()) {
                    Teacher teacher = professorship.getTeacher();
                    if (teacher != null) {
                        Duration teacherLecturedTime = TeacherService
                                .getLecturedDurationOnExecutionCourse(teacher, executionCourse);
                        totalLecturedDuration = totalLecturedDuration.plus(teacherLecturedTime);
                        spreadsheet.addCell(teacher.getPerson().getUsername());
                        spreadsheet.addCell(teacher.getPerson().getName());
                        spreadsheet.addCell(periodFormatter.print(teacherLecturedTime.toPeriod()));
                    }

                }

                spreadsheet.addCell(
                        periodFormatter.print(totalShiftsDuration.minus(totalLecturedDuration).toPeriod()),
                        colNum);
            }
        }
        spreadsheet.getSheet(department.getAcronym() + "_docentes");
        spreadsheet.newHeaderRow();
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.teacher.id"));
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.teacher.name"), 10000);
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.category"));
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.course"), 10000);
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.degrees"));
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.execution-period"));
        spreadsheet.addHeader(BundleUtil.getString(Bundle.TEACHER_CREDITS, "label.hours"));

        Set<Teacher> allTeachers = Sets
                .newHashSet(department.getAllTeachers(departmentCreditsBean.getExecutionYear()));
        for (Teacher teacher : allTeachers) {
            spreadsheet.newRow();
            spreadsheet.addCell(teacher.getPerson().getUsername());
            spreadsheet.addCell(teacher.getPerson().getProfile().getDisplayName());
            TeacherAuthorization teacherAuthorization = teacher
                    .getTeacherAuthorization(departmentCreditsBean.getExecutionYear().getAcademicInterval())
                    .orElse(null);
            if (teacherAuthorization != null) {
                spreadsheet.addCell(teacherAuthorization.getTeacherCategory().getName().getContent());
            }
            for (Professorship professorship : teacher
                    .getProfessorships(departmentCreditsBean.getExecutionYear())) {
                spreadsheet.newRow();
                spreadsheet.addCell(professorship.getExecutionCourse().getNome(), 3);
                spreadsheet.addCell(getDegreeSiglas(professorship.getExecutionCourse()));
                spreadsheet.addCell(professorship.getExecutionCourse().getExecutionPeriod().getSemester());
                Duration teacherLecturedTime = TeacherService.getLecturedDurationOnExecutionCourse(
                        professorship.getTeacher(), professorship.getExecutionCourse());
                spreadsheet.addCell(periodFormatter.print(teacherLecturedTime.toPeriod()));
            }
        }
    }

    response.setContentType("text/plain");
    StringBuilder filename = new StringBuilder("servicoDocencia");
    filename.append((departments.size() == 1 ? departments.iterator().next().getAcronym() : "Departamentos"));
    filename.append("_")
            .append(departmentCreditsBean.getExecutionYear().getQualifiedName().replaceAll("/", "_"))
            .append(".xls");
    response.setHeader("Content-disposition", "attachment; filename=" + filename.toString());
    final ServletOutputStream writer = response.getOutputStream();
    spreadsheet.getWorkbook().write(writer);
    writer.flush();
    response.flushBuffer();
    return null;
}

From source file:ru.codemine.ccms.dao.TaskDAOImpl.java

License:Open Source License

@Override
public Period getMidTimeByPerformer(Employee performer, LocalDate startDate, LocalDate endDate) {

    List<Task> tasks = getByPerformerAndCloseTimeInPeriod(performer, startDate, endDate);

    if (tasks.isEmpty())
        return new Period(0);

    Duration totalDuration = new Duration(0);
    for (Task task : tasks) {
        Duration d = new Duration(task.getCreationTime(), task.getCloseTime());
        totalDuration = totalDuration.plus(d);
    }//  w  w  w .j  a  v a  2s.c  o  m
    Duration resultDuration = totalDuration.dividedBy(tasks.size());

    return resultDuration.toPeriod();
}