Java tutorial
/******************************************************************************* * Educational Online Test Delivery System * Copyright (c) 2013 American Institutes for Research * * Distributed under the AIR Open Source License, Version 1.0 * See accompanying file AIR-License-1_0.txt or at * http://www.smarterapp.org/documents/American_Institutes_for_Research_Open_Source_Software_License.pdf ******************************************************************************/ package org.opentestsystem.delivery.testadmin.domain; import java.io.IOException; import org.joda.time.DateTime; import org.joda.time.format.ISODateTimeFormat; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.datatype.joda.deser.DateTimeDeserializer; import static com.fasterxml.jackson.datatype.joda.cfg.FormatConfig.DEFAULT_DATETIME_PRINTER; public class TZBasedDateTimeDeserialier extends JsonDeserializer<DateTime> { DateTimeDeserializer dateTimeDeSerializer; public TZBasedDateTimeDeserialier() { dateTimeDeSerializer = new DateTimeDeserializer(DateTime.class, DEFAULT_DATETIME_PRINTER); } @Override public DateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { String stringValue = jp.getText().trim(); if (stringValue == null || stringValue.trim().isEmpty()) return null; return ISODateTimeFormat.dateTimeParser().parseDateTime(stringValue); } }