Example usage for org.joda.time Minutes minutesBetween

List of usage examples for org.joda.time Minutes minutesBetween

Introduction

In this page you can find the example usage for org.joda.time Minutes minutesBetween.

Prototype

public static Minutes minutesBetween(ReadablePartial start, ReadablePartial end) 

Source Link

Document

Creates a Minutes representing the number of whole minutes between the two specified partial datetimes.

Usage

From source file:pt.ist.fenix.task.exportData.santanderCardGeneration.CreateAndInitializeExecutionCourses.java

License:Open Source License

private boolean isConsistent(final DiaSemana diaSemana, final Calendar inicio, final Calendar fim,
        final Shift newShift, final FrequencyType frequency, final ExecutionSemester executionSemester,
        final YearMonthDay start, final YearMonthDay end, final Space campus,
        final OccupationPeriod occupationPeriod, OccupationPeriod actualOccupationPeriod) {

    final BigDecimal lessonHours = BigDecimal
            .valueOf(Minutes.minutesBetween(new HourMinuteSecond(inicio), new HourMinuteSecond(fim))
                    .getMinutes())//  ww  w  .jav a  2 s  . co  m
            .divide(BigDecimal.valueOf(Lesson.NUMBER_OF_MINUTES_IN_HOUR), 2, RoundingMode.HALF_UP);
    final int finalNumberOfLessonInstances = getFinalNumberOfLessonInstances(diaSemana, start, end, campus,
            actualOccupationPeriod == null ? occupationPeriod : actualOccupationPeriod, frequency);
    BigDecimal totalHours = newShift.getTotalHours()
            .add(lessonHours.multiply(BigDecimal.valueOf(finalNumberOfLessonInstances)));

    if (newShift.getCourseLoadsSet().size() == 1) {

        final CourseLoad courseLoad = newShift.getCourseLoadsSet().iterator().next();

        if (courseLoad.getUnitQuantity() != null && lessonHours.compareTo(courseLoad.getUnitQuantity()) != 0) {
            countSkippedLessons1++;
            return false;
        }

        if (totalHours.compareTo(courseLoad.getTotalQuantity()) == 1) {
            final StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append("\n");
            stringBuilder.append(totalHours);
            stringBuilder.append(" : ");
            stringBuilder.append(courseLoad.getTotalQuantity());
            stringBuilder.append(" ... ");
            stringBuilder.append(finalNumberOfLessonInstances);
            stringBuilder.append(" : ");
            stringBuilder.append(lessonHours);
            stringBuilder.append(" : ");
            stringBuilder.append(newShift.getTotalHours());
            stringBuilder.append(" : ");
            stringBuilder.append(newShift.getExecutionCourse().getName());
            stringBuilder.append(" : ");
            stringBuilder.append(newShift.getExecutionCourse().getDegreePresentationString());
            taskLog(stringBuilder.toString() + "\n");
            countSkippedLessons2++;
            return false;
        }
    } else {

        boolean unitValid = false, totalValid = false;

        for (CourseLoad courseLoad : newShift.getCourseLoadsSet()) {

            unitValid = false;
            totalValid = false;

            if (courseLoad.getUnitQuantity() == null
                    || lessonHours.compareTo(courseLoad.getUnitQuantity()) == 0) {
                unitValid = true;
            }
            if (totalHours.compareTo(courseLoad.getTotalQuantity()) != 1) {
                totalValid = true;
                if (unitValid) {
                    break;
                }
            }
        }

        if (!totalValid) {
            countSkippedLessons3++;
            return false;
        }
        if (!unitValid) {
            countSkippedLessons4++;
            return false;
        }

    }

    return true;
}

From source file:ru.caramel.juniperbot.core.moderation.service.MuteServiceImpl.java

License:Open Source License

private boolean processState(Member member, MuteState muteState) {
    DateTime now = DateTime.now();/*from w ww.  ja  v  a2 s . c  o m*/
    DateTime expire = muteState.getExpire() != null ? new DateTime(muteState.getExpire()) : null;
    if (expire != null && now.isAfter(expire)) {
        return false;
    }

    TextChannel textChannel = muteState.getChannelId() != null
            ? member.getGuild().getTextChannelById(muteState.getChannelId())
            : null;
    if (!muteState.isGlobal() && textChannel == null) {
        return false;
    }

    Integer duration = expire != null ? Minutes.minutesBetween(expire, now).getMinutes() : null;
    ModerationActionRequest request = ModerationActionRequest.builder().type(ModerationActionType.MUTE)
            .channel(textChannel).violator(member).global(muteState.isGlobal()).duration(duration)
            .reason(muteState.getReason()).stateless(true).auditLogging(false).build();
    mute(request);
    return true;
}

From source file:stirling.fix.messages.AbstractMessageHeader.java

License:Apache License

public boolean hasAccurateSendingTime(DateTime currentTime) {
    if (!hasValue(SendingTime.Tag())) {
        return true;
    }/*from   ww w  .  j av  a 2 s .  c o m*/
    Minutes difference = Minutes.minutesBetween(currentTime, getDateTime(SendingTime.Tag()));
    return Math.abs(difference.getMinutes()) < MAX_TIME_DIFFERENCE.getMinutes();
}

From source file:TDS.Proctor.Services.remote.RemoteTestOpportunityService.java

License:Open Source License

private static TestOpps mapExpandableExamsToTestOpps(final List<ExpandableExam> exams) {
    TestOpps testOpportunities = new TestOpps();

    for (ExpandableExam expandableExam : exams) {
        final Exam exam = expandableExam.getExam();
        final String examStatus = exam.getStatus().getCode();
        final int responseCount = expandableExam.getItemsResponseCount();

        TestOpportunity opportunity = new TestOpportunity(exam.getId());
        opportunity.setName(exam.getStudentName());
        opportunity.setOpp(exam.getAttempts());
        opportunity.setTestKey(exam.getAssessmentKey());
        opportunity.setSsid(exam.getLoginSSID());
        opportunity.setStatus(examStatus);
        opportunity.setTestID(exam.getAssessmentId());
        opportunity.setTestName(exam.getAssessmentId()); // TestOpportunityRepository line 99 sets testName to testId
        opportunity.setItemcount(exam.getMaxItems());
        opportunity.setResponseCount(responseCount);
        opportunity.setIsMsb(expandableExam.isMultiStageBraille());
        opportunity.setRequestCount(expandableExam.getRequestCount());
        opportunity.setAccs(//  w w w.  j  a v a  2 s.c  om
                buildAccommodationStringFromExamAccommodations(expandableExam.getExamAccommodations()));

        // Skip first conditional (getScore() != null) - score is always null
        if (exam.getCompletedAt() == null) {
            final String pausedString = ExamStatusCode.STATUS_PAUSED.equals(examStatus)
                    ? String.format(", %s min",
                            Minutes.minutesBetween(exam.getStatusChangedAt(), Instant.now()).getMinutes())
                    : StringUtils.EMPTY;

            opportunity.setDisplayStatus(
                    String.format("%s, %d/%d%s", examStatus, responseCount, exam.getMaxItems(), pausedString));
        } else {
            opportunity.setDisplayStatus(examStatus);
        }

        opportunity.setCustAccs(exam.isCustomAccommodations());

        testOpportunities.add(opportunity);
    }

    return testOpportunities;
}

From source file:view.popups.shift.ShiftManualPopup.java

public Minutes getEndLocalMinutes() throws Exception {
    String inputErrorMessage = "Der kan kun indtastes tal i de 4 felter";

    Minutes startToEnd;/* ww  w  .  j  a  va  2 s. c  om*/
    LocalTime endTime = null;
    LocalTime startTime = getStartLocalTime();

    int endHH = Integer.parseInt(tEndHH.getText());
    int endMM = Integer.parseInt(tEndMM.getText());

    endTime = new LocalTime(endHH, endMM, 0);

    //samlede minutter fra start til slut
    startToEnd = Minutes.minutesBetween(startTime, endTime);
    //Da vi allerede fr timer fra getEndLocalHours, s har vi kun brug for
    //det ekstra minutantal der er i en time. Ellers fr vi det samlede minutantal
    //for hele vagten. Vi har kun brug for dem der gr ud over timerne. 
    //Alts minuser vi det samlede minuttantal med det afrundede timeantal for at f "addedMinutes"
    Minutes addedMinutes = startToEnd.minus(getEndLocalHours().toStandardMinutes());

    return addedMinutes;
}

From source file:zxmax.tools.timerreview.serviceses.UINotificationService.java

License:Open Source License

public String getToolTipMessage() {
    if (null != getTomato()) {

        LocalDateTime startTime = getTomato().getStartTime();
        LocalDateTime endTimer = startTime.plusMinutes(getTomato().getDuration());
        LocalDateTime now = new LocalDateTime();

        final int minRemaining = Minutes.minutesBetween(now, endTimer).getMinutes() + 1;

        String timeLeft = "min: " + minRemaining;

        String toolTipMessage = timeLeft + " / " + System.getProperty("line.separator") + getTomato().getTitle()
                + " / " + System.getProperty("line.separator") + getTomato().getFocusOn();

        return toolTipMessage;

    } else {//from  ww  w.j  av  a2s . c  o m
        return I18N.getLabel(this.getClass(), TIMER_ENDED_LABEL);
    }
}