final LinkRepresentation updateLink = domainObjectRepr.getLinkWithRel(Rel.UPDATE);
final JsonRepresentation argRepr = updateLink.getArguments();
final LocalDate ld = new LocalDate(2013,5,1);
final LocalDateTime ldt = new LocalDateTime(2013,2,1,14,15,0);
final DateTime dt = new DateTime(2013,2,1,14,15,0, DateTimeZone.UTC);
final String s = "New string";
argRepr.mapPut("localDateProperty.value", "2013-05-01");
argRepr.mapPut("localDateTimeProperty.value", "2013-02-01T14:15:00Z");
argRepr.mapPut("dateTimeProperty.value", asIso(dt.toDate()));
argRepr.mapPut("stringProperty.value", s);
final RestfulResponse<JsonRepresentation> result = client.follow(updateLink, argRepr);
assertThat(result.getStatus(), is(HttpStatusCode.OK));
final DomainObjectRepresentation afterResp = result.getEntity().as(DomainObjectRepresentation.class);
assertThat(afterResp.getProperty("localDateProperty").getString("value"), is("2013-05-01")); // being a bit hacky here...
assertThat(afterResp.getProperty("localDateTimeProperty").getDateTime("value"), is(ldt.toDate()));
assertThat(afterResp.getProperty("dateTimeProperty").getDateTime("value"), is(dt.toDate()));
assertThat(afterResp.getProperty("stringProperty").getString("value"), is(s));
}