/** * {@inheritDoc} */ public final String getValue() { return getPeriods().toString(); }
/** * {@inheritDoc} */ public final String getValue() { return getPeriods().toString(); }
/** * {@inheritDoc} */ public final String getValue() { return getPeriods().toString(); } }
/** * {@inheritDoc} */ public final String getValue() { return getPeriods().toString(); }
/** * {@inheritDoc} */ public final String getValue() { return getPeriods().toString(); }
@Override public void emitValue(final JsonGenerator jgen, final Property prop) throws Throwable { final PeriodList pl; if (prop instanceof RDate) { final RDate p = (RDate)prop; pl = p.getPeriods(); } else if (prop instanceof FreeBusy) { final FreeBusy p = (FreeBusy)prop; pl = p.getPeriods(); } else { throw new RuntimeException("Unknown property " + prop); } jgen.writeStartArray(); for (final Object o: pl) { final Period per = (Period)o; final StringBuilder sb = new StringBuilder(XcalUtil.getXmlFormatDateTime( per.getStart().toString())); sb.append("/"); if (per.getDuration() != null) { sb.append(per.getDuration()); } else { sb.append(XcalUtil.getXmlFormatDateTime( per.getEnd().toString())); } jgen.writeString(sb.toString()); } jgen.writeEndArray(); } }
/** * */ public void testFreeBusyPeriods() { VFreeBusy result = new VFreeBusy(request, components); FreeBusy fb = (FreeBusy) result.getProperty(Property.FREEBUSY); assertEquals(expectedPeriods, fb.getPeriods()); }
fb.getPeriods().add(new Period(lastPeriodEnd, freeDuration.getDuration()));
/** * */ public void testPeriodCount() { VFreeBusy result = new VFreeBusy(request, components); FreeBusy fb = (FreeBusy) result.getProperty(Property.FREEBUSY); if (expectedPeriodCount > 0) { assertEquals(expectedPeriodCount, fb.getPeriods().size()); } else { assertNull(fb); } }
PeriodList periods = fb.getPeriods(); Iterator<Period> periodIt = periods.iterator(); while(periodIt.hasNext()) {
fb.getParameters().getParameter(Parameter.FBTYPE); if (fbt == null || FbType.BUSY.equals(fbt)) { busyPeriods.addAll(fb.getPeriods()); } else if (FbType.BUSY_TENTATIVE.equals(fbt)) { busyTentativePeriods.addAll(fb.getPeriods()); } else if (FbType.BUSY_UNAVAILABLE.equals(fbt)) { busyUnavailablePeriods.addAll(fb.getPeriods());
PeriodList periods = fb.getPeriods(); Iterator<Period> periodIt = periods.iterator(); while(periodIt.hasNext()) {
PeriodList periods = fb.getPeriods(); Iterator<Period> periodIt = periods.iterator(); while(periodIt.hasNext()) {
public FreeBusy build() { final FreeBusy fb = new FreeBusy(); fb.getParameters().add(FbType.FREE); final PeriodList periods = getConsumedTime(components, start, end); final DateRange range = new DateRange(start, end); // Add final consumed time to avoid special-case end-of-list processing periods.add(new Period(end, end)); DateTime lastPeriodEnd = new DateTime(start); // where no time is consumed set the last period end as the range start.. for (final Period period : periods) { // check if period outside bounds.. or period intersects with the end of the range.. if (range.contains(period) || (range.intersects(period) && period.getStart().after(range.getRangeStart()))) { // calculate duration between this period start and last period end.. final Duration freeDuration = new Duration(lastPeriodEnd, period.getStart()); if (freeDuration.getDuration().compareTo(duration) >= 0) { fb.getPeriods().add(new Period(lastPeriodEnd, freeDuration.getDuration())); } } if (period.getEnd().after(lastPeriodEnd)) { lastPeriodEnd = period.getEnd(); } } return fb; } }
public FreeBusy build() { final FreeBusy fb = new FreeBusy(); fb.getParameters().add(FbType.FREE); final PeriodList periods = getConsumedTime(components, start, end); final DateRange range = new DateRange(start, end); // Add final consumed time to avoid special-case end-of-list processing periods.add(new Period(end, end)); DateTime lastPeriodEnd = new DateTime(start); // where no time is consumed set the last period end as the range start.. for (final Period period : periods) { // check if period outside bounds.. or period intersects with the end of the range.. if (range.contains(period) || (range.intersects(period) && period.getStart().after(range.getRangeStart()))) { // calculate duration between this period start and last period end.. final Duration freeDuration = new Duration(lastPeriodEnd, period.getStart()); if (freeDuration.getDuration().compareTo(duration) >= 0) { fb.getPeriods().add(new Period(lastPeriodEnd, freeDuration.getDuration())); } } if (period.getEnd().after(lastPeriodEnd)) { lastPeriodEnd = period.getEnd(); } } return fb; } }
public FreeBusy build() { final FreeBusy fb = new FreeBusy(); fb.getParameters().add(FbType.FREE); final PeriodList periods = getConsumedTime(components, start, end); final DateRange range = new DateRange(start, end); // Add final consumed time to avoid special-case end-of-list processing periods.add(new Period(end, end)); DateTime lastPeriodEnd = new DateTime(start); // where no time is consumed set the last period end as the range start.. for (final Period period : periods) { // check if period outside bounds.. or period intersects with the end of the range.. if (range.contains(period) || (range.intersects(period) && period.getStart().after(range.getRangeStart()))) { // calculate duration between this period start and last period end.. final Duration freeDuration = new Duration(lastPeriodEnd, period.getStart()); if (new TemporalAmountComparator().compare(freeDuration.getDuration(), duration) >= 0) { fb.getPeriods().add(new Period(lastPeriodEnd, freeDuration.getDuration())); } } if (period.getEnd().after(lastPeriodEnd)) { lastPeriodEnd = period.getEnd(); } } return fb; } }
public FreeBusy build() { final FreeBusy fb = new FreeBusy(); fb.getParameters().add(FbType.FREE); final PeriodList periods = getConsumedTime(components, start, end); final DateRange range = new DateRange(start, end); // Add final consumed time to avoid special-case end-of-list processing periods.add(new Period(end, end)); DateTime lastPeriodEnd = new DateTime(start); // where no time is consumed set the last period end as the range start.. for (final Period period : periods) { // check if period outside bounds.. or period intersects with the end of the range.. if (range.contains(period) || (range.intersects(period) && period.getStart().after(range.getRangeStart()))) { // calculate duration between this period start and last period end.. final Duration freeDuration = new Duration(lastPeriodEnd, period.getStart()); if (new TemporalAmountComparator().compare(freeDuration.getDuration(), duration) >= 0) { fb.getPeriods().add(new Period(lastPeriodEnd, freeDuration.getDuration())); } } if (period.getEnd().after(lastPeriodEnd)) { lastPeriodEnd = period.getEnd(); } } return fb; } }
.components(components) .build(); if (fb != null && !fb.getPeriods().isEmpty()) { getProperties().add(fb); .components(components) .build(); if (fb != null && !fb.getPeriods().isEmpty()) { getProperties().add(fb);
.components(components) .build(); if (fb != null && !fb.getPeriods().isEmpty()) { getProperties().add(fb); .components(components) .build(); if (fb != null && !fb.getPeriods().isEmpty()) { getProperties().add(fb);
.components(components) .build(); if (fb != null && !fb.getPeriods().isEmpty()) { getProperties().add(fb); .components(components) .build(); if (fb != null && !fb.getPeriods().isEmpty()) { getProperties().add(fb);