List of usage examples for org.joda.time Interval contains
public boolean contains(long millisInstant)
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); }