/* * Copyright 2011 E.J.I.E., S.A. * * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»); * Solo podrá usarse esta obra si se respeta la Licencia. * Puede obtenerse una copia de la Licencia en * * http://ec.europa.eu/idabc/eupl.html * * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL», * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones * que establece la Licencia. */ package com.ejie.x38.serialization; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Component; import com.ejie.x38.util.DateTimeManager; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; /** * * Used to serialize Java.util.Date, which is not a common JSON * type, so we have to create a custom serialize method;. * * @author UDA * */ @Component public class JsonDateSerializer extends JsonSerializer<Date>{ @Override public void serialize(Date date, JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException { Locale locale = LocaleContextHolder.getLocale(); SimpleDateFormat dateFormat = DateTimeManager.getDateTimeFormat(locale); String formattedDate = dateFormat.format(date); gen.writeString(formattedDate); } }