Example usage for org.joda.time Interval contains

List of usage examples for org.joda.time Interval contains

Introduction

In this page you can find the example usage for org.joda.time Interval contains.

Prototype

public boolean contains(long millisInstant) 

Source Link

Document

Does this time interval contain the specified millisecond instant.

Usage

From source file:net.sourceforge.fenixedu.domain.accessControl.AcademicAuthorizationGroup.java

License:Open Source License

public static Set<AcademicServiceRequest> getAcademicServiceRequests(Party party, Integer year,
        AcademicServiceRequestSituationType situation, Interval interval) {
    Set<AcademicServiceRequest> serviceRequests = new HashSet<AcademicServiceRequest>();
    Set<AcademicProgram> programs = getProgramsForOperation(party, AcademicOperationType.SERVICE_REQUESTS);
    Collection<AcademicServiceRequest> possible = null;
    if (year != null) {
        possible = AcademicServiceRequestYear.getAcademicServiceRequests(year);
    } else {//w  w w.  j a  v  a  2 s  . c o m
        possible = Bennu.getInstance().getAcademicServiceRequestsSet();
    }
    for (AcademicServiceRequest request : possible) {
        if (!programs.contains(request.getAcademicProgram())) {
            continue;
        }
        if (situation != null && !request.getAcademicServiceRequestSituationType().equals(situation)) {
            continue;
        }
        if (interval != null && !interval.contains(request.getActiveSituationDate())) {
            continue;
        }
        serviceRequests.add(request);
    }
    return serviceRequests;
}

From source file:net.sourceforge.fenixedu.domain.Teacher.java

License:Open Source License

private boolean isSabbaticalForSemester(Interval exemptionInterval, Interval semesterPeriod) {
    double overlapPercentageThisSemester = calculateLessonsIntervalAndExemptionOverlapPercentage(semesterPeriod,
            exemptionInterval);// www  .  ja va  2 s.  c  om
    if (overlapPercentageThisSemester == 1) {
        return true;
    }
    if (semesterPeriod.contains(exemptionInterval.getStart())) {
        return overlapPercentageThisSemester >= 0.5;
    }
    ExecutionSemester firstExecutionPeriod = ExecutionSemester.readByDateTime(exemptionInterval.getStart());
    Interval firstExecutionPeriodInterval = new Interval(
            firstExecutionPeriod.getBeginDateYearMonthDay().toLocalDate().toDateTimeAtStartOfDay(),
            firstExecutionPeriod.getEndDateYearMonthDay().toLocalDate().toDateTimeAtStartOfDay());
    double overlapPercentageFirstSemester = calculateLessonsIntervalAndExemptionOverlapPercentage(
            firstExecutionPeriodInterval, exemptionInterval);
    return overlapPercentageFirstSemester < 0.5;
}

From source file:net.sourceforge.fenixedu.domain.vigilancy.UnavailablePeriod.java

License:Open Source License

public Boolean containsDate(DateTime date) {
    Interval interval = new Interval(this.getBeginDate(), this.getEndDate());
    return interval.contains(date);
}

From source file:net.sourceforge.fenixedu.domain.vigilancy.UnavailablePeriod.java

License:Open Source License

public Boolean containsInterval(DateTime begin, DateTime end) {
    Interval interval = new Interval(this.getBeginDate(), this.getEndDate());
    return (interval.contains(begin) || interval.contains(end));
}

From source file:net.sourceforge.fenixedu.domain.vigilancy.VigilantWrapper.java

License:Open Source License

public boolean hasNoEvaluationsOnDate(DateTime beginOfExam, DateTime endOfExam) {
    Collection<Vigilancy> convokes = this.getVigilanciesSet();
    Interval requestedInterval = new Interval(beginOfExam, endOfExam);
    for (Vigilancy convoke : convokes) {
        DateTime begin = convoke.getBeginDateTime();
        DateTime end = convoke.getEndDateTime();
        Interval convokeInterval = new Interval(begin, end);
        if (convokeInterval.contains(requestedInterval)) {
            return Boolean.FALSE;
        }/*  w  ww.j a v  a2 s .co  m*/
    }
    return Boolean.TRUE;

}

From source file:net.sourceforge.fenixedu.presentationTier.Action.internationalRelatOffice.internship.InternshipCandidacyDA.java

License:Open Source License

public ActionForward sessionPostback(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
        HttpServletResponse response) {//from w ww. j  a  va  2 s  .  c  o m
    CandidateSearchBean search = getRenderedObject("search");
    RenderUtils.invalidateViewState();
    Interval interval = search.getSession().getCandidacyInterval();
    if (search.getCutStart() == null || !interval.contains(search.getCutStart().toDateTimeAtStartOfDay())) {
        search.setCutStart(interval.getStart().toLocalDate());
    }
    if (search.getCutEnd() == null || !interval.contains(search.getCutEnd().toDateTimeAtStartOfDay())) {
        search.setCutEnd(interval.getEnd().toLocalDate());
    }
    if (interval.contains(new LocalDate().minusDays(1).toDateMidnight())) {
        search.setCutEnd(new LocalDate().minusDays(1));
    }
    request.setAttribute("search", search);
    return mapping.findForward("candidates");
}

From source file:net.usikkert.kouchat.util.DateTestUtils.java

License:Open Source License

/**
 * Returns if the specified date is "now", plus/minus 5 seconds of slack.
 *
 * @param date The date to check.//from w  ww  .  j a  v a  2 s .c  o  m
 * @return If the date is "now".
 */
public static boolean isNow(final Date date) {
    final Interval nowPlusMinus5Seconds = new Interval(new DateTime().minusSeconds(5),
            new DateTime().plusSeconds(5));

    return nowPlusMinus5Seconds.contains(date.getTime());
}

From source file:org.apache.druid.indexing.common.actions.SegmentAllocateAction.java

License:Apache License

private SegmentIdWithShardSpec tryAllocateFirstSegment(TaskActionToolbox toolbox, Task task,
        Interval rowInterval) {//w  w w .  ja v  a2  s . c o m
    // No existing segments for this row, but there might still be nearby ones that conflict with our preferred
    // segment granularity. Try that first, and then progressively smaller ones if it fails.
    final List<Interval> tryIntervals = Granularity.granularitiesFinerThan(preferredSegmentGranularity).stream()
            .map(granularity -> granularity.bucket(timestamp)).collect(Collectors.toList());
    for (Interval tryInterval : tryIntervals) {
        if (tryInterval.contains(rowInterval)) {
            final SegmentIdWithShardSpec identifier = tryAllocate(toolbox, task, tryInterval, rowInterval,
                    false);
            if (identifier != null) {
                return identifier;
            }
        }
    }
    return null;
}

From source file:org.apache.druid.java.util.common.granularity.ArbitraryGranularity.java

License:Apache License

@Override
public DateTime increment(DateTime time) {
    // Test if the input cannot be bucketed
    if (time.getMillis() > intervals.last().getEndMillis()) {
        return MAX_DATETIME;
    }//from w  w  w  .  ja va2 s . c  om

    // First interval with start time <= timestamp
    final Interval interval = intervals.floor(new Interval(time, MAX_DATETIME));
    return interval != null && interval.contains(time) ? interval.getEnd() : time;
}

From source file:org.apache.druid.metadata.SQLMetadataSegmentManager.java

License:Apache License

/**
 * Implementation for both {@link #markAsUsedAllNonOvershadowedSegmentsInDataSource} (if the given interval is null)
 * and {@link #markAsUsedNonOvershadowedSegmentsInInterval}.
 *///from w  w w  .  j  a v a 2  s .co m
private int doMarkAsUsedNonOvershadowedSegments(String dataSourceName, @Nullable Interval interval) {
    List<DataSegment> usedSegmentsOverlappingInterval = new ArrayList<>();
    List<DataSegment> unusedSegmentsInInterval = new ArrayList<>();
    connector.inReadOnlyTransaction((handle, status) -> {
        String queryString = StringUtils.format("SELECT used, payload FROM %1$s WHERE dataSource = :dataSource",
                getSegmentsTable());
        if (interval != null) {
            queryString += StringUtils.format(" AND start < :end AND %1$send%1$s > :start",
                    connector.getQuoteString());
        }
        Query<?> query = handle.createQuery(queryString).setFetchSize(connector.getStreamingFetchSize())
                .bind("dataSource", dataSourceName);
        if (interval != null) {
            query = query.bind("start", interval.getStart().toString()).bind("end",
                    interval.getEnd().toString());
        }
        query = query.map((int index, ResultSet resultSet, StatementContext context) -> {
            try {
                DataSegment segment = jsonMapper.readValue(resultSet.getBytes("payload"), DataSegment.class);
                if (resultSet.getBoolean("used")) {
                    usedSegmentsOverlappingInterval.add(segment);
                } else {
                    if (interval == null || interval.contains(segment.getInterval())) {
                        unusedSegmentsInInterval.add(segment);
                    }
                }
                return null;
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        });
        // Consume the query results to ensure usedSegmentsOverlappingInterval and unusedSegmentsInInterval are
        // populated.
        consume(query.iterator());
        return null;
    });

    VersionedIntervalTimeline<String, DataSegment> versionedIntervalTimeline = VersionedIntervalTimeline
            .forSegments(Iterators.concat(usedSegmentsOverlappingInterval.iterator(),
                    unusedSegmentsInInterval.iterator()));

    return markNonOvershadowedSegmentsAsUsed(unusedSegmentsInInterval, versionedIntervalTimeline);
}