package org.odata4j.examples.producer.inmemory; import static org.odata4j.examples.JaxRsImplementation.JERSEY; import java.util.ArrayList; import java.util.List; import org.core4j.Func; import org.joda.time.LocalDateTime; import org.odata4j.examples.ODataServerFactory; import org.odata4j.examples.producer.inmemory.addressbook.Person; import org.odata4j.producer.inmemory.InMemoryProducer; import org.odata4j.producer.resources.DefaultODataProducerProvider; public class AddressBookInMemoryExample { public static InMemoryProducer createProducer() { InMemoryProducer producer = new InMemoryProducer(AddressBookInMemoryExample.class.getName()); producer.register(Person.class, "Persons", new Func<Iterable<Person>>() { public Iterable<Person> apply() { List<Person> persons = new ArrayList<Person>(); persons.add(new Person(1, "Susan Summer", "susan@private-domain.net", new LocalDateTime(1975, 7, 22, 0, 0))); persons.add(new Person(2, "Walter Winter", "walter.winter@company.com", new LocalDateTime(1968, 1, 13, 0, 0))); persons.add(new Person(3, "Frederic Fall", "ff@some-organisation.org", new LocalDateTime(1983, 10, 31, 0, 0))); return persons; } }, "PersonId"); return producer; } public static void main(String[] args) { DefaultODataProducerProvider.setInstance(createProducer()); new ODataServerFactory(JERSEY).hostODataServer("http://localhost:8888/AddressBookInMemoryExample.svc/"); } }