package pl.llp.aircasting.api.gson;
import pl.llp.aircasting.android.Logger;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import java.lang.reflect.Type;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class LocalDateAdapter implements JsonDeserializer<Date>, JsonSerializer<Date>
{
// 2012-01-29T10:22:33
private final SimpleDateFormat localFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
@Override
public Date deserialize(JsonElement element, Type type, JsonDeserializationContext context) throws JsonParseException {
try {
return localFormat.parse(element.getAsString());
} catch (ParseException e) {
Logger.e("Problem parsing date", e);
throw new JsonParseException(e);
}
}
@Override
public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context)
{
return new JsonPrimitive(localFormat.format(src));
}
}