001package io.konik.sdk.json;
002
003import com.fasterxml.jackson.core.JsonParser;
004import com.fasterxml.jackson.core.JsonProcessingException;
005import com.fasterxml.jackson.databind.DeserializationContext;
006import com.fasterxml.jackson.databind.JsonDeserializer;
007
008import java.io.IOException;
009import java.text.DateFormat;
010import java.text.ParseException;
011import java.text.SimpleDateFormat;
012import java.util.Date;
013
014public class DateTimeDeserializer extends JsonDeserializer<Date> {
015        private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm");
016
017        @Override
018        public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
019                String dateAsString = jsonParser.readValueAs(String.class);
020                Date date = null;
021                try {
022                        date = DATE_FORMAT.parse(dateAsString);
023                } catch (ParseException e) {
024                        throw new RuntimeException(e);
025                }
026
027                return date;
028        }
029}