Example usage for org.joda.time Duration toPeriod

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

Introduction

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

Prototype

public Period toPeriod() 

Source Link

Document

Converts this duration to a Period instance using the standard period type and the ISO chronology.

Usage

From source file:org.hawkular.metrics.datetime.DateTimeService.java

License:Apache License

public static DateTime getTimeSlice(DateTime dt, Duration duration) {
    Period p = duration.toPeriod();

    if (p.getYears() != 0) {
        return dt.yearOfEra().roundFloorCopy().minusYears(dt.getYearOfEra() % p.getYears());
    } else if (p.getMonths() != 0) {
        return dt.monthOfYear().roundFloorCopy().minusMonths((dt.getMonthOfYear() - 1) % p.getMonths());
    } else if (p.getWeeks() != 0) {
        return dt.weekOfWeekyear().roundFloorCopy().minusWeeks((dt.getWeekOfWeekyear() - 1) % p.getWeeks());
    } else if (p.getDays() != 0) {
        return dt.dayOfMonth().roundFloorCopy().minusDays((dt.getDayOfMonth() - 1) % p.getDays());
    } else if (p.getHours() != 0) {
        return dt.hourOfDay().roundFloorCopy().minusHours(dt.getHourOfDay() % p.getHours());
    } else if (p.getMinutes() != 0) {
        return dt.minuteOfHour().roundFloorCopy().minusMinutes(dt.getMinuteOfHour() % p.getMinutes());
    } else if (p.getSeconds() != 0) {
        return dt.secondOfMinute().roundFloorCopy().minusSeconds(dt.getSecondOfMinute() % p.getSeconds());
    }/*w  w w .  j av  a2s  .  c  om*/
    return dt.millisOfSecond().roundCeilingCopy().minusMillis(dt.getMillisOfSecond() % p.getMillis());
}

From source file:org.hawkular.metrics.tasks.api.AbstractTrigger.java

License:Apache License

protected DateTime getExecutionTime(long time, Duration duration) {
    DateTime dt = new DateTime(time);
    Period p = duration.toPeriod();

    if (p.getYears() != 0) {
        return dt.yearOfEra().roundFloorCopy().minusYears(dt.getYearOfEra() % p.getYears());
    } else if (p.getMonths() != 0) {
        return dt.monthOfYear().roundFloorCopy().minusMonths((dt.getMonthOfYear() - 1) % p.getMonths());
    } else if (p.getWeeks() != 0) {
        return dt.weekOfWeekyear().roundFloorCopy().minusWeeks((dt.getWeekOfWeekyear() - 1) % p.getWeeks());
    } else if (p.getDays() != 0) {
        return dt.dayOfMonth().roundFloorCopy().minusDays((dt.getDayOfMonth() - 1) % p.getDays());
    } else if (p.getHours() != 0) {
        return dt.hourOfDay().roundFloorCopy().minusHours(dt.getHourOfDay() % p.getHours());
    } else if (p.getMinutes() != 0) {
        return dt.minuteOfHour().roundFloorCopy().minusMinutes(dt.getMinuteOfHour() % p.getMinutes());
    } else if (p.getSeconds() != 0) {
        return dt.secondOfMinute().roundFloorCopy().minusSeconds(dt.getSecondOfMinute() % p.getSeconds());
    }//from   ww  w  . j  av a  2s . c o  m
    return dt.millisOfSecond().roundCeilingCopy().minusMillis(dt.getMillisOfSecond() % p.getMillis());
}

From source file:org.jbpm.process.core.timer.BusinessCalendarImpl.java

License:Apache License

protected String adoptISOFormat(String timeExpression) {

    try {//  w ww .  j  a  va 2  s  . c om
        Period p = null;
        if (DateTimeUtils.isPeriod(timeExpression)) {
            p = ISOPeriodFormat.standard().parsePeriod(timeExpression);
        } else {
            DateTime dt = ISODateTimeFormat.dateTimeParser().parseDateTime(timeExpression);
            Duration duration = new Duration(System.currentTimeMillis(), dt.getMillis());

            p = duration.toPeriod();
        }
        int days = p.getDays();
        int hours = p.getHours();
        int minutes = p.getMinutes();
        int seconds = p.getSeconds();
        int milis = p.getMillis();

        StringBuffer time = new StringBuffer();
        if (days > 0) {
            time.append(days + "d");
        }
        if (hours > 0) {
            time.append(hours + "h");
        }
        if (minutes > 0) {
            time.append(minutes + "m");
        }
        if (seconds > 0) {
            time.append(seconds + "s");
        }
        if (milis > 0) {
            time.append(milis + "ms");
        }

        return time.toString();
    } catch (Exception e) {
        return timeExpression;
    }
}

From source file:org.opennms.netmgt.provision.persist.StringIntervalAdapter.java

License:Open Source License

/** {@inheritDoc} */
@Override/*  w  w w.ja v  a2 s  .co  m*/
public String marshal(Duration v) {
    Period p = v.toPeriod().normalizedStandard();
    return DEFAULT_PERIOD_FORMATTER.print(p);
}

From source file:org.zanata.feature.testharness.ZanataTestCase.java

License:Open Source License

@After
public final void testExit() {
    WebDriverFactory.INSTANCE.logLogs();
    zanataRestCaller.signalAfterTest(getClass().getName(), testName.getMethodName());
    Duration duration = new Duration(testFunctionStart, new DateTime());
    PeriodFormatter periodFormatter = new PeriodFormatterBuilder()
            .appendLiteral("Test finished: ".concat(getTestDescription()).concat(": in ")).printZeroAlways()
            .appendMinutes().appendSuffix(" minutes, ").appendSeconds().appendSuffix(" seconds, ")
            .appendMillis().appendSuffix("ms").toFormatter();
    log.info(periodFormatter.print(duration.toPeriod()));
    WebDriverFactory.INSTANCE.testExit();
}

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 {/*w w  w  . j a va 2 s . 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 {/*from  ww w .ja va 2s.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);

                    //                        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:pt.ist.vaadinframework.codegeneration.VaadinProxiesCodeGeneratorTask.java

License:Open Source License

@Override
public void execute() throws BuildException {
    super.execute();

    DateTime start = new DateTime();
    final Properties properties = new MultiProperty();
    try {//from www.j a v a2 s  . co m
        properties.load(
                new FileInputStream(buildDir.getAbsolutePath() + "/WEB-INF/classes/configuration.properties"));
        File timestampFile = new File(srcBaseDir, "vaadin-timestamp");
        long latestBuildTime = srcBaseDir != null ? srcBaseDir.lastModified() : 0;

        boolean shouldCompile = false;

        // final String preInitClassnames =
        // properties.getProperty("pre.init.classnames");
        // System.out.println("Pre-init class names: " + preInitClassnames);
        // if (preInitClassnames != null) {
        // final String[] classnames = preInitClassnames.split(",");
        // for (final String classname : classnames) {
        // if (classname != null && !classname.isEmpty()) {
        // try {
        // Class.forName(classname.trim());
        // } catch (final ClassNotFoundException e) {
        // throw new Error(e);
        // }
        // }
        // }
        // }

        List<URL> domainModelURLs = new ArrayList<URL>();

        // whereToInject keeps track where the DMLs for the plugin should
        // be injected, so they are sequential injected and before the
        // application DMLs

        FenixFrameworkPlugin[] plugins = getPluginArray(properties);
        if (plugins != null) {
            for (FenixFrameworkPlugin plugin : plugins) {
                List<URL> pluginDomainModel = plugin.getDomainModel();
                domainModelURLs.addAll(pluginDomainModel);
            }
        }

        for (FileSet fileset : filesets) {
            if (fileset.getDir().exists()) {
                DirectoryScanner scanner = fileset.getDirectoryScanner(getProject());
                String[] includedFiles = scanner.getIncludedFiles();
                for (String includedFile : includedFiles) {
                    String filePath = fileset.getDir().getAbsolutePath() + "/" + includedFile;
                    File file = new File(filePath);
                    boolean isModified = file.lastModified() > latestBuildTime;
                    // System.out.println(includedFile + " : " + (isModified
                    // ? "not up to date" : "up to date"));
                    domainModelURLs.add(new File(filePath).toURI().toURL());
                    shouldCompile = shouldCompile || isModified;
                }
            }
        }

        // first, get the domain model
        FenixDomainModel model = DML.getDomainModelForURLs(FenixDomainModel.class, domainModelURLs, false);
        VaadinProxiesCodeGenerator generator = new VaadinProxiesCodeGenerator(model, srcBaseDir, vaadinSrcDir,
                packageSourceLocations);
        generator.generate();
        timestampFile.delete();
        timestampFile.createNewFile();
        // } else {
        // System.out.println("All dml files are up to date, skipping generation");
        // }
    } catch (IOException e) {
        throw new BuildException(e);
    } catch (ANTLRException e) {
        throw new BuildException(e);
    } catch (JClassAlreadyExistsException e) {
        throw new BuildException(e);
    }
    Duration processingTime = new Duration(start, new DateTime());
    PeriodFormatter formatter = new PeriodFormatterBuilder().appendMinutes().appendSuffix("m").appendSeconds()
            .appendSuffix("s").toFormatter();
    System.out.println("Vaadin Generation Took: " + formatter.print(processingTime.toPeriod()));
}

From source file:rapture.kernel.schedule.ExecStatusHelper.java

License:Open Source License

public static String prettyDuration(Long millis) {
    Duration duration = new Duration(millis);
    PeriodFormatter formatter = new PeriodFormatterBuilder().appendDays().appendSuffix("D ").appendHours()
            .appendSuffix("h ").appendMinutes().appendSuffix("m").toFormatter();
    return formatter.print(duration.toPeriod());
}

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 ww  . jav a 2s  .  c  o  m*/
    Duration resultDuration = totalDuration.dividedBy(tasks.size());

    return resultDuration.toPeriod();
}