private void remove( NavigableMap<Interval, TimelineEntry> timeline, Interval interval, boolean incompleteOk ) { timeline.remove(interval); for (Map.Entry<Interval, TreeMap<VersionType, TimelineEntry>> versionEntry : allTimelineEntries.entrySet()) { if (versionEntry.getKey().overlap(interval) != null) { if (incompleteOk) { add(timeline, versionEntry.getKey(), versionEntry.getValue().lastEntry().getValue()); } else { for (VersionType ver : versionEntry.getValue().descendingKeySet()) { TimelineEntry timelineEntry = versionEntry.getValue().get(ver); if (timelineEntry.getPartitionHolder().isComplete()) { add(timeline, versionEntry.getKey(), timelineEntry); break; } } } } } }
@Override public Sequence<Cursor> makeCursors( @Nullable final Filter filter, final Interval interval, final VirtualColumns virtualColumns, final Granularity gran, final boolean descending, @Nullable QueryMetrics<?> queryMetrics ) { if (index.isEmpty()) { return Sequences.empty(); } final Interval dataInterval = new Interval(getMinTime(), gran.bucketEnd(getMaxTime())); if (!interval.overlaps(dataInterval)) { return Sequences.empty(); } final Interval actualInterval = interval.overlap(dataInterval); Iterable<Interval> intervals = gran.getIterable(actualInterval); if (descending) { intervals = Lists.reverse(ImmutableList.copyOf(intervals)); } return Sequences .simple(intervals) .map(i -> new IncrementalIndexCursor(virtualColumns, descending, filter, i, actualInterval, gran)); }
final Interval actualInterval = interval.overlap(dataInterval);
Interval overlap = filterInterval.overlap(segmentInterval); if (overlap == null) { excludedFilterIntervals.add(filterInterval);
/** * Return the intersection of all subintervals in two interval lists. * * @param that A simplified list of intervals * * @return A new simplified interval list whose intervals are all subintervals of this and that. */ public SimplifiedIntervalList intersect(SimplifiedIntervalList that) { Iterator<Interval> theseIntervals = this.iterator(); Iterator<Interval> thoseIntervals = that.iterator(); Interval thisCurrent = getNextIfAvailable.apply(theseIntervals); Interval thatCurrent = getNextIfAvailable.apply(thoseIntervals); List<Interval> collected = new ArrayList<>(); while (thisCurrent != null && thatCurrent != null) { if (thisCurrent.overlaps(thatCurrent)) { collected.add(thisCurrent.overlap(thatCurrent)); } if (thisCurrent.isBefore(thatCurrent.getEnd())) { thisCurrent = getNextIfAvailable.apply(theseIntervals); } else { thatCurrent = getNextIfAvailable.apply(thoseIntervals); } } return new SimplifiedIntervalList(collected); }
DateTimeZone timeZone = DateTimeZone.forID( "Europe/Budapest" ); // Or, perhaps DateTimeZone.UTC // Inputs DateTime contractStart = new DateTime( 2014, 1, 2, 0, 0, 0, timeZone ); DateTime contractStop = new DateTime( 2014, 5, 6, 0, 0, 0, timeZone ); Interval contractInterval = new Interval( contractStart, contractStop ); // Target to test DateTime targetStart = new DateTime( 2013, DateTimeConstants.DECEMBER, 1, 0, 0, 0, timeZone ); DateTime targetStop = targetStart.plusMonths( 4 ); Interval targetInterval = new Interval( targetStart, targetStop ); boolean targetContainsContract = targetInterval.contains( contractInterval ); boolean targetOverlapsContract = ( targetInterval.overlap( contractInterval ) != null );
@Override public Sequence<Cursor> makeCursors( @Nullable final Filter filter, final Interval interval, final VirtualColumns virtualColumns, final Granularity gran, final boolean descending, @Nullable QueryMetrics<?> queryMetrics ) { if (index.isEmpty()) { return Sequences.empty(); } final Interval dataInterval = new Interval(getMinTime(), gran.bucketEnd(getMaxTime())); if (!interval.overlaps(dataInterval)) { return Sequences.empty(); } final Interval actualInterval = interval.overlap(dataInterval); Iterable<Interval> intervals = gran.getIterable(actualInterval); if (descending) { intervals = Lists.reverse(ImmutableList.copyOf(intervals)); } return Sequences .simple(intervals) .map(i -> new IncrementalIndexCursor(virtualColumns, descending, filter, i, actualInterval, gran)); }
public boolean addEvent(Event event) { Interval monthViewOverlap = monthViewInterval.overlap(event.getInterval()); if (monthViewOverlap == null) { logger.debug("Event not overlapping with month view"); return false; } else { logger.debug("Event overlapping with month view"); boolean weekSanityCheck = false; for (MonthViewWeek week : weeks) { weekSanityCheck = week.addEvent(event) || weekSanityCheck; } if (!weekSanityCheck) { logger.warn("Sanity check failed: Event overlaps with month but not with month's weeks."); } return true; } }
@Override public Sequence<Cursor> makeCursors( final Filter filter, final Interval interval, final VirtualColumns virtualColumns, final Granularity gran, final boolean descending, @Nullable QueryMetrics<?> queryMetrics ) { if (index.isEmpty()) { return Sequences.empty(); } final Interval dataInterval = new Interval(getMinTime(), gran.bucketEnd(getMaxTime())); if (!interval.overlaps(dataInterval)) { return Sequences.empty(); } final Interval actualInterval = interval.overlap(dataInterval); Iterable<Interval> iterable = gran.getIterable(actualInterval); if (descending) { iterable = Lists.reverse(ImmutableList.copyOf(iterable)); } return Sequences .simple(iterable) .map(i -> new IncrementalIndexCursor(virtualColumns, descending, filter, i, actualInterval, gran)); }
public boolean addEvent(Event event) { Interval monthViewOverlap = monthViewInterval.overlap(event.getInterval()); if (monthViewOverlap == null) { logger.debug("Event not overlapping with month view"); return false; } else { logger.debug("Event overlapping with month view"); boolean weekSanityCheck = false; for (MonthViewWeek week : weeks) { weekSanityCheck = week.addEvent(event) || weekSanityCheck; } if (!weekSanityCheck) { logger.warn("Sanity check failed: Event overlaps with month but not with month's weeks."); } return true; } }
private void remove( NavigableMap<Interval, TimelineEntry> timeline, Interval interval, boolean incompleteOk ) { timeline.remove(interval); for (Map.Entry<Interval, TreeMap<VersionType, TimelineEntry>> versionEntry : allTimelineEntries.entrySet()) { if (versionEntry.getKey().overlap(interval) != null) { TimelineEntry timelineEntry = versionEntry.getValue().lastEntry().getValue(); if (timelineEntry.getPartitionHolder().isComplete() || incompleteOk) { add(timeline, versionEntry.getKey(), timelineEntry); } } } }
private void remove( NavigableMap<Interval, TimelineEntry> timeline, Interval interval, boolean incompleteOk ) { timeline.remove(interval); for (Map.Entry<Interval, TreeMap<VersionType, TimelineEntry>> versionEntry : allTimelineEntries.entrySet()) { if (versionEntry.getKey().overlap(interval) != null) { if (incompleteOk) { add(timeline, versionEntry.getKey(), versionEntry.getValue().lastEntry().getValue()); } else { for (VersionType ver : versionEntry.getValue().descendingKeySet()) { TimelineEntry timelineEntry = versionEntry.getValue().get(ver); if (timelineEntry.getPartitionHolder().isComplete()) { add(timeline, versionEntry.getKey(), timelineEntry); break; } } } } } }
public static Optional<InterestRateBean> getInterestBean(LocalDate start, LocalDate end, BigDecimal amount) { if (end.isAfter(start)) { InterestRateBean bean = new InterestRateBean(start, end, amount); Interval dueInterval = bean.getInterval(); for (InterestRate interestRate : Bennu.getInstance().getInterestRateSet()) { if (interestRate.isActive(dueInterval)) { Interval overlap = interestRate.getInterval().overlap(dueInterval); bean.addPartial(overlap, interestRate.getValue()); } } return Optional.of(bean); } return Optional.empty(); }
public ShiftBlock(TimeBlock timeBlock, ShiftDifferentialRule rule, Interval shiftInterval, DateTimeZone zone) { this.timeBlock = timeBlock; this.rule = rule; this.timeBlockInterval = new Interval(timeBlock.getBeginDateTime().withZone(zone), timeBlock.getEndDateTime().withZone(zone)); this.shiftOverlap = shiftInterval.overlap(this.timeBlockInterval); this.startTime = timeBlock.getBeginDateTime(); }
Interval overlap = filterInterval.overlap(segmentInterval); if (overlap == null) { excludedFilterIntervals.add(filterInterval);
/** * Returns the number of days that the interval overlaps in this interest rate, 0 if it does not overlaps. * @param interval * @return */ public Integer getNumberOfDays(Interval interval) { Interval overlap = getInterval().overlap(interval); return overlap == null ? 0 : Days.daysBetween(overlap.getStart().toLocalDate(), overlap.getEnd().toLocalDate()).getDays(); }
Interval overlap = test.overlap(interval.getInterval()); if (overlap != null) { Double weight = interval.getWeight();
/** * Gets the overlap between this interval and another interval. * * @param otherInterval * @return */ @SuppressWarnings("unchecked") public T overlap(final T otherInterval) { if (otherInterval == null) { return null; } if (otherInterval.isInfinite()) { return (T)this; } if (this.isInfinite()) { return otherInterval; } final Interval thisAsInterval = asInterval(); final Interval otherAsInterval = otherInterval.asInterval(); Interval overlap = thisAsInterval.overlap(otherAsInterval); if (overlap == null) { return null; } return newInterval(overlap); }
Interval overlap = overlappingInterval.overlap(interval);
public ActionForward addPeriod(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { final CreateGratuityPhdPRPeriodBean period = getRenderedObject("period"); final CreateGratuityPhdBean bean = getRenderedObject("bean"); final CreateGratuityPhdPRQuickBean quirks = getRenderedObject("quirks"); final PhdProgram phdProgram = getDomainObject(request, "phdProgramId"); if (period.periodEndDate == null || period.periodStartDate == null || period.limitePaymentDay == null) { addErrorMessage(request, "bean", "error.missing.field.in.period.form"); return prepareAddGratuityPhdPostingRule(mapping, form, request, response); } Interval created = period.toInterval(); if (period.getStartAsDateTime().isAfter(period.getEndAsDateTime())) { addErrorMessage(request, "bean", "error.end.before.start"); return backToAddPeriod(mapping, request, period, bean, phdProgram, quirks); } for (CreateGratuityPhdPRPeriodBean previousPeriod : bean.getPeriods()) { if (previousPeriod.toInterval().overlap(created) != null) { addErrorMessage(request, "bean", "error.intervals.overlap"); return backToAddPeriod(mapping, request, period, bean, phdProgram, quirks); } } bean.getPeriods().add(period); RenderUtils.invalidateViewState("phdProgram"); request.setAttribute("phdProgram", phdProgram); RenderUtils.invalidateViewState("bean"); request.setAttribute("bean", bean); RenderUtils.invalidateViewState("period"); request.setAttribute("period", new CreateGratuityPhdPRPeriodBean()); return mapping.findForward("addPhdProgramPostingRule"); }