Search in sources :

Example 26 with Serde

use of com.yahoo.elide.core.utils.coerce.converters.Serde in project elide by yahoo.

the class QuarterSerdeTest method testDeserializeTimestampNotQuarterMonth.

@Test
public void testDeserializeTimestampNotQuarterMonth() {
    LocalDateTime localDate = LocalDateTime.of(2020, java.time.Month.of(02), 01, 00, 00, 00);
    Quarter quarter = new Quarter(localDate);
    Serde serde = new Quarter.QuarterSerde();
    assertThrows(IllegalArgumentException.class, () -> serde.deserialize(quarter));
}
Also used : LocalDateTime(java.time.LocalDateTime) Quarter(com.yahoo.elide.datastores.aggregation.timegrains.Quarter) Serde(com.yahoo.elide.core.utils.coerce.converters.Serde) Test(org.junit.jupiter.api.Test)

Example 27 with Serde

use of com.yahoo.elide.core.utils.coerce.converters.Serde in project elide by yahoo.

the class QuarterSerdeTest method testDateDeserialize.

@Test
public void testDateDeserialize() {
    LocalDateTime localDate = LocalDateTime.of(2020, java.time.Month.of(01), 01, 00, 00, 00);
    Quarter expectedDate = new Quarter(localDate);
    Serde serde = new Quarter.QuarterSerde();
    Object actualDate = serde.deserialize("2020-01");
    assertEquals(expectedDate, actualDate);
}
Also used : LocalDateTime(java.time.LocalDateTime) Quarter(com.yahoo.elide.datastores.aggregation.timegrains.Quarter) Serde(com.yahoo.elide.core.utils.coerce.converters.Serde) Test(org.junit.jupiter.api.Test)

Example 28 with Serde

use of com.yahoo.elide.core.utils.coerce.converters.Serde in project elide by yahoo.

the class QuarterSerdeTest method testDeserializeOffsetDateTime.

@Test
public void testDeserializeOffsetDateTime() {
    LocalDateTime localDate = LocalDateTime.of(2020, java.time.Month.of(01), 01, 00, 00, 00);
    Quarter expectedDate = new Quarter(localDate);
    OffsetDateTime dateTime = OffsetDateTime.of(2020, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC);
    Serde serde = new Quarter.QuarterSerde();
    Object actualDate = serde.deserialize(dateTime);
    assertEquals(expectedDate, actualDate);
}
Also used : LocalDateTime(java.time.LocalDateTime) Quarter(com.yahoo.elide.datastores.aggregation.timegrains.Quarter) Serde(com.yahoo.elide.core.utils.coerce.converters.Serde) OffsetDateTime(java.time.OffsetDateTime) Test(org.junit.jupiter.api.Test)

Example 29 with Serde

use of com.yahoo.elide.core.utils.coerce.converters.Serde in project elide by yahoo.

the class SecondSerdeTest method testDateSerialize.

@Test
public void testDateSerialize() {
    String expected = "2020-01-01T01:18:19";
    Second expectedDate = new Second(LocalDateTime.from(formatter.parse(expected)));
    Serde serde = new Second.SecondSerde();
    Object actual = serde.serialize(expectedDate);
    assertEquals(expected, actual);
}
Also used : Serde(com.yahoo.elide.core.utils.coerce.converters.Serde) Second(com.yahoo.elide.datastores.aggregation.timegrains.Second) Test(org.junit.jupiter.api.Test)

Example 30 with Serde

use of com.yahoo.elide.core.utils.coerce.converters.Serde in project elide by yahoo.

the class HashMapStoreTransaction method loadObject.

@Override
public Object loadObject(EntityProjection projection, Serializable id, RequestScope scope) {
    EntityDictionary dictionary = scope.getDictionary();
    synchronized (dataStore) {
        Map<String, Object> data = dataStore.get(projection.getType());
        if (data == null) {
            return null;
        }
        Serde serde = dictionary.getSerdeLookup().apply(id.getClass());
        String idString = (serde == null) ? id.toString() : (String) serde.serialize(id);
        return data.get(idString);
    }
}
Also used : Serde(com.yahoo.elide.core.utils.coerce.converters.Serde) EntityDictionary(com.yahoo.elide.core.dictionary.EntityDictionary)

Aggregations

Serde (com.yahoo.elide.core.utils.coerce.converters.Serde)62 Test (org.junit.jupiter.api.Test)59 LocalDateTime (java.time.LocalDateTime)34 OffsetDateTime (java.time.OffsetDateTime)12 Timestamp (java.sql.Timestamp)10 Time (com.yahoo.elide.datastores.aggregation.timegrains.Time)6 ISOWeek (com.yahoo.elide.datastores.aggregation.timegrains.ISOWeek)5 Quarter (com.yahoo.elide.datastores.aggregation.timegrains.Quarter)5 Week (com.yahoo.elide.datastores.aggregation.timegrains.Week)5 Day (com.yahoo.elide.datastores.aggregation.timegrains.Day)4 Hour (com.yahoo.elide.datastores.aggregation.timegrains.Hour)4 Minute (com.yahoo.elide.datastores.aggregation.timegrains.Minute)4 Month (com.yahoo.elide.datastores.aggregation.timegrains.Month)4 Second (com.yahoo.elide.datastores.aggregation.timegrains.Second)4 Year (com.yahoo.elide.datastores.aggregation.timegrains.Year)4 EntityDictionary (com.yahoo.elide.core.dictionary.EntityDictionary)1 Injector (com.yahoo.elide.core.dictionary.Injector)1 AccessibleObject (com.yahoo.elide.core.type.AccessibleObject)1 Field (com.yahoo.elide.core.type.Field)1 Method (com.yahoo.elide.core.type.Method)1