DATACOUCH-61 - Add Converter support for Jodatime

This changeset adds converters for Jodatime to unix timestamps and
back if jodatime is found on the classpath.
This commit is contained in:
Michael Nitschinger
2014-03-10 10:49:07 +01:00
parent f68397f2ac
commit 62f974fa78
3 changed files with 131 additions and 5 deletions

View File

@@ -16,6 +16,7 @@
package org.springframework.data.couchbase.core.mapping;
import org.joda.time.LocalDateTime;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -387,16 +388,19 @@ public class MappingCouchbaseConverterTests {
public void writesAndReadsDates() {
Date created = new Date();
Calendar modified = Calendar.getInstance();
DateEntity entity = new DateEntity(created, modified);
LocalDateTime deleted = LocalDateTime.now();
DateEntity entity = new DateEntity(created, modified, deleted);
CouchbaseDocument converted = new CouchbaseDocument();
converter.write(entity, converted);
assertEquals(created.getTime(), converted.getPayload().get("created"));
assertEquals(modified.getTimeInMillis() / 1000, converted.getPayload().get("modified"));
assertEquals(deleted.toDate().getTime(), converted.getPayload().get("deleted"));
DateEntity read = converter.read(DateEntity.class, converted);
assertEquals(created.getTime(), read.created.getTime());
assertEquals(modified.getTimeInMillis() / 1000, read.modified.getTimeInMillis() / 1000);
assertEquals(deleted.toDate().getTime(), read.deleted.toDate().getTime());
}
static class EntityWithoutID {
@@ -507,9 +511,12 @@ public class MappingCouchbaseConverterTests {
static class DateEntity extends BaseEntity {
private Date created;
private Calendar modified;
public DateEntity(Date created, Calendar modified) {
private LocalDateTime deleted;
public DateEntity(Date created, Calendar modified, LocalDateTime deleted) {
this.created = created;
this.modified = modified;
this.deleted = deleted;
}
}