Commit b83748f1 authored by Noel Alonso's avatar Noel Alonso
Browse files

Cambia deserializador de fechas

Ahora no obliga a tener un patrón específico, simplemente que sea una
fecha en formato ISO8601

Adapta los tests
parent f0b545fa
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -4,8 +4,6 @@ import java.io.IOException;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
@@ -15,12 +13,11 @@ import es.redmic.exception.databinding.DateTimeDeserializerException;

public class CustomDateTimeDeserializer extends JsonDeserializer<DateTime> {

	final String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZZ";
	final String pattern = "ISO8601";

	@Override
	public DateTime deserialize(JsonParser jp, DeserializationContext ctxt) {

		DateTimeFormatter patternFormat = DateTimeFormat.forPattern(pattern);
		String dateTime;

		try {
@@ -30,7 +27,8 @@ public class CustomDateTimeDeserializer extends JsonDeserializer<DateTime> {
		}

		try {
			return patternFormat.parseDateTime(dateTime).toDateTime(DateTimeZone.UTC);

			return DateTime.parse(dateTime).toDateTime(DateTimeZone.UTC);
		} catch (Exception e) {

			throw new DateTimeDeserializerException(pattern, dateTime, e);
+4 −0
Original line number Diff line number Diff line
package es.redmic.test.unit.administrative.taxonomy.dto;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.io.IOException;
import java.util.List;
@@ -136,7 +137,10 @@ public class WormsDTOTest extends DTOBaseTest<WormsDTO> {

		assertEquals(result.size(), 3);
		assertEquals(result.get(0).getAphia().intValue(), 819866);
		assertTrue(result.get(0).getModified().toString().equals("2014-10-22T15:12:35.730Z"));
		assertEquals(result.get(1).getAphia().intValue(), 829015);
		assertTrue(result.get(1).getModified().toString().equals("2015-01-09T14:40:28.000Z"));
		assertEquals(result.get(2).getAphia().intValue(), 136470);
		assertTrue(result.get(2).getModified().toString().equals("2016-06-28T23:00:00.000Z"));
	}
}
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@
	"isTerrestrial": null,
	"isExtinct": null,
	"match_type": "like",
	"modified": "2015-01-09T14:40:28.730Z"
	"modified": "2015-01-09T14:40:28Z"
}, {
	"AphiaID": 136470,
	"url": "http:\/\/www.marinespecies.org\/aphia.php?p=taxdetails&id=136470",
@@ -75,5 +75,5 @@
	"isTerrestrial": null,
	"isExtinct": null,
	"match_type": "like",
	"modified": "2016-06-29T21:59:13.730Z"
	"modified": "2016-06-29"
}]
 No newline at end of file