Search in sources :

Example 26 with Period

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;
}
Also used : DurationDeserializer(com.fasterxml.jackson.datatype.joda.deser.DurationDeserializer) PeriodDeserializer(com.fasterxml.jackson.datatype.joda.deser.PeriodDeserializer) Period(org.joda.time.Period)

Example 27 with Period

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
    }
}
Also used : Period(org.joda.time.Period) Test(org.junit.Test)

Example 28 with Period

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"))));
}
Also used : PeriodGranularity(io.druid.java.util.common.granularity.PeriodGranularity) Period(org.joda.time.Period) DateTimeZone(org.joda.time.DateTimeZone) DateTime(org.joda.time.DateTime) Interval(org.joda.time.Interval) Test(org.junit.Test)

Example 29 with Period

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())));
}
Also used : PeriodGranularity(io.druid.java.util.common.granularity.PeriodGranularity) Period(org.joda.time.Period) DateTimeZone(org.joda.time.DateTimeZone) DateTime(org.joda.time.DateTime) Interval(org.joda.time.Interval) Test(org.junit.Test)

Example 30 with Period

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())));
}
Also used : PeriodGranularity(io.druid.java.util.common.granularity.PeriodGranularity) Period(org.joda.time.Period) DateTimeZone(org.joda.time.DateTimeZone) DateTime(org.joda.time.DateTime) Interval(org.joda.time.Interval) Test(org.junit.Test)

Aggregations

Period (org.joda.time.Period)273 Test (org.junit.Test)102 DateTime (org.joda.time.DateTime)54 PeriodGranularity (io.druid.java.util.common.granularity.PeriodGranularity)40 Interval (org.joda.time.Interval)30 LongSumAggregatorFactory (io.druid.query.aggregation.LongSumAggregatorFactory)29 DefaultDimensionSpec (io.druid.query.dimension.DefaultDimensionSpec)20 Row (io.druid.data.input.Row)19 File (java.io.File)15 DefaultObjectMapper (io.druid.jackson.DefaultObjectMapper)12 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)10 Result (io.druid.query.Result)10 CountAggregatorFactory (io.druid.query.aggregation.CountAggregatorFactory)10 FinalizeResultsQueryRunner (io.druid.query.FinalizeResultsQueryRunner)8 QueryRunner (io.druid.query.QueryRunner)8 AggregatorFactory (io.druid.query.aggregation.AggregatorFactory)8 DimensionSpec (io.druid.query.dimension.DimensionSpec)8 MutablePeriod (org.joda.time.MutablePeriod)8 ExtractionDimensionSpec (io.druid.query.dimension.ExtractionDimensionSpec)7 DimFilterHavingSpec (io.druid.query.groupby.having.DimFilterHavingSpec)7