JsonContext accepts a bean as target

This commit is contained in:
Roland Praml
2022-03-28 15:38:44 +02:00
parent f95212eeb3
commit ffeb630e7e
11 changed files with 146 additions and 32 deletions
@@ -26,12 +26,9 @@ public class TestJsonBeanDescriptorParse extends BaseTestCase {
BeanDescriptor<Customer> descriptor = server.descriptor(Customer.class);
StringReader reader = new StringReader("{\"id\":123,\"name\":\"Hello rob\"}");
JsonParser parser = server.json().createParser(reader);
SpiJsonReader readJson = createRead(server, descriptor);
SpiJsonReader readJson = new ReadJson(descriptor, parser, null, null);
Customer customer = descriptor.jsonRead(readJson, null);
Customer customer = descriptor.jsonRead(readJson, null, null);
assertEquals(Integer.valueOf(123), customer.getId());
assertEquals("Hello rob", customer.getName());
@@ -42,6 +39,21 @@ public class TestJsonBeanDescriptorParse extends BaseTestCase {
assertEquals(2, loadedProps.size());
assertTrue(loadedProps.contains("id"));
assertTrue(loadedProps.contains("name"));
customer.setName("Hello Roland");
customer.setId(234);
readJson = createRead(server, descriptor);
descriptor.jsonRead(readJson, null, customer);
assertEquals(Integer.valueOf(123), customer.getId());
assertEquals("Hello rob", customer.getName());
}
private SpiJsonReader createRead(SpiEbeanServer server, BeanDescriptor<Customer> descriptor) {
StringReader reader = new StringReader("{\"id\":123,\"name\":\"Hello rob\"}");
JsonParser parser = server.json().createParser(reader);
SpiJsonReader readJson = new ReadJson(descriptor, parser, null, null);
return readJson;
}
}