package com.metservice.kanban.utils; import java.lang.reflect.Type; import org.joda.time.DateTime; import org.joda.time.LocalDateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; public class JsonLocalDateTimeConvertor implements JsonDeserializer<LocalDateTime>, JsonSerializer<LocalDateTime> { @Override public LocalDateTime deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); DateTime dateTime = fmt.parseDateTime(json.getAsString()); return new LocalDateTime(dateTime); } @Override public JsonElement serialize(LocalDateTime src, Type typeOfSrc, JsonSerializationContext context) { DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); return new JsonPrimitive(fmt.print(src)); } }