use of org.joda.time.Period in project druid by druid-io.
the class JodaStuff method register.
@SuppressWarnings("unchecked")
static SimpleModule register(SimpleModule module) {
module.addKeyDeserializer(DateTime.class, new DateTimeKeyDeserializer());
module.addDeserializer(DateTime.class, new DateTimeDeserializer());
module.addSerializer(DateTime.class, ToStringSerializer.instance);
module.addDeserializer(Interval.class, new JodaStuff.IntervalDeserializer());
module.addSerializer(Interval.class, ToStringSerializer.instance);
JsonDeserializer<?> periodDeserializer = new PeriodDeserializer();
module.addDeserializer(Period.class, (JsonDeserializer<Period>) periodDeserializer);
module.addSerializer(Period.class, ToStringSerializer.instance);
module.addDeserializer(Duration.class, new DurationDeserializer());
module.addSerializer(Duration.class, ToStringSerializer.instance);
return module;
}
use of org.joda.time.Period in project druid by druid-io.
the class GranularityTest method testCustomNestedPeriodFail.
@Test
public void testCustomNestedPeriodFail() {
try {
Period p = Period.years(6).withMonths(3).withSeconds(23);
GranularityType.fromPeriod(p);
Assert.fail("Complicated period creation should fail b/c of unsupported granularity type.");
} catch (IAE e) {
// pass
}
}
use of org.joda.time.Period in project druid by druid-io.
the class QueryGranularityTest method testPeriodDaylightSaving.
@Test
public void testPeriodDaylightSaving() throws Exception {
final DateTimeZone tz = DateTimeZone.forID("America/Los_Angeles");
final DateTime baseTime = new DateTime("2012-11-04T00:00:00", tz);
assertSameInterval(Lists.newArrayList(new DateTime("2012-11-04T00:00:00.000-07:00"), new DateTime("2012-11-05T00:00:00.000-08:00"), new DateTime("2012-11-06T00:00:00.000-08:00")), new PeriodGranularity(new Period("P1D"), null, tz).getIterable(new Interval(baseTime.getMillis(), baseTime.plus(Days.days(3)).getMillis())));
assertSameInterval(Lists.newArrayList(new DateTime("2012-11-04T00:00:00.000-07:00"), new DateTime("2012-11-04T01:00:00.000-07:00"), new DateTime("2012-11-04T01:00:00.000-08:00"), new DateTime("2012-11-04T02:00:00.000-08:00"), new DateTime("2012-11-04T03:00:00.000-08:00")), new PeriodGranularity(new Period("PT1H"), null, tz).getIterable(new Interval(baseTime.getMillis(), baseTime.plus(Hours.hours(5)).getMillis())));
final PeriodGranularity hour = new PeriodGranularity(new Period("PT1H"), null, tz);
assertSameDateTime(Lists.newArrayList(new DateTime("2012-11-04T00:00:00.000-07:00"), new DateTime("2012-11-04T01:00:00.000-07:00"), new DateTime("2012-11-04T01:00:00.000-08:00"), new DateTime("2012-11-04T02:00:00.000-08:00"), new DateTime("2012-11-04T03:00:00.000-08:00")), Lists.newArrayList(hour.bucketStart(new DateTime("2012-11-04T00:30:00-07:00")), hour.bucketStart(new DateTime("2012-11-04T01:30:00-07:00")), hour.bucketStart(new DateTime("2012-11-04T01:30:00-08:00")), hour.bucketStart(new DateTime("2012-11-04T02:30:00-08:00")), hour.bucketStart(new DateTime("2012-11-04T03:30:00-08:00"))));
}
use of org.joda.time.Period in project druid by druid-io.
the class QueryGranularityTest method testIterableMonth.
@Test
public void testIterableMonth() throws Exception {
final DateTimeZone tz = DateTimeZone.forID("America/Los_Angeles");
final DateTime baseTime = new DateTime("2012-11-03T10:00:00", tz);
assertSameInterval(Lists.newArrayList(new DateTime("2012-11-01T00:00:00.000-07:00"), new DateTime("2012-12-01T00:00:00.000-08:00"), new DateTime("2013-01-01T00:00:00.000-08:00"), new DateTime("2013-02-01T00:00:00.000-08:00")), new PeriodGranularity(new Period("P1M"), null, tz).getIterable(new Interval(baseTime.getMillis(), baseTime.plus(Months.months(3)).getMillis())));
}
use of org.joda.time.Period in project druid by druid-io.
the class QueryGranularityTest method testIterableWeek.
@Test
public void testIterableWeek() throws Exception {
final DateTimeZone tz = DateTimeZone.forID("America/Los_Angeles");
final DateTime baseTime = new DateTime("2012-11-03T10:00:00", tz);
assertSameInterval(Lists.newArrayList(new DateTime("2012-10-29T00:00:00.000-07:00"), new DateTime("2012-11-05T00:00:00.000-08:00"), new DateTime("2012-11-12T00:00:00.000-08:00"), new DateTime("2012-11-19T00:00:00.000-08:00")), new PeriodGranularity(new Period("P1W"), null, tz).getIterable(new Interval(baseTime.getMillis(), baseTime.plus(Weeks.weeks(3)).getMillis())));
assertSameInterval(Lists.newArrayList(new DateTime("2012-11-03T10:00:00.000-07:00"), new DateTime("2012-11-10T10:00:00.000-08:00"), new DateTime("2012-11-17T10:00:00.000-08:00")), new PeriodGranularity(new Period("P1W"), baseTime, tz).getIterable(new Interval(baseTime.getMillis(), baseTime.plus(Weeks.weeks(3)).getMillis())));
}
Aggregations