/* * This code is distributed under The GNU Lesser General Public License (LGPLv3) * Please visit GNU site for LGPLv3 http://www.gnu.org/copyleft/lesser.html * * Copyright Denis Pavlov 2009 * Web: http://www.genericdtoassembler.org * SVN: https://svn.code.sf.net/p/geda-genericdto/code/trunk/ * SVN (mirror): http://geda-genericdto.googlecode.com/svn/trunk/ */ package com.inspiresoftware.lib.dto.geda.examples.addressbook; import com.inspiresoftware.lib.dto.geda.examples.addressbook.domain.Person; import com.inspiresoftware.lib.dto.geda.examples.addressbook.dto.ContactDTO; import com.inspiresoftware.lib.dto.geda.examples.addressbook.service.AddressBookService; import com.inspiresoftware.lib.dto.geda.examples.addressbook.service.PersonDAO; import com.inspiresoftware.lib.dto.geda.examples.addressbook.service.impl.AddressBookServiceImpl; import com.inspiresoftware.lib.dto.geda.examples.addressbook.service.impl.PersonDAOImpl; import java.util.List; import static org.junit.Assert.*; /** * User: denispavlov * Date: 13-04-22 * Time: 3:24 PM */ public class AddressBookRun { private PersonDAO personDAO; private AddressBookService service; public AddressBookRun(final PersonDAO personDAO, final AddressBookService service) { this.personDAO = personDAO; this.service = service; } /** * Running example of services that use GeDA behind the scenes to transfer data * between DTO and Entities. */ public void runSetupData() { final Person irene = personDAO.addPerson("Irene", "Adler"); final Person mycroft = personDAO.addPerson("Mycroft", "Holmes"); final Person sherlock = personDAO.addPerson("Sherlock", "Holmes"); personDAO.addAddress(sherlock, "221B Baker str", "London", "NW1 6XE", "GB"); final Person john = personDAO.addPerson("John H.", "Watson"); personDAO.addAddress(john, "221B Baker str", "London", "NW1 6XE", "GB"); } public void assembleContactsWithAddress() { final List<ContactDTO> contacts = service.getContactsByName("John H."); assertNotNull(contacts); assertEquals(1, contacts.size()); final ContactDTO john = contacts.get(0); assertEquals("John H.", john.getFirstName()); assertEquals("Watson", john.getLastName()); assertEquals("221B Baker str", john.getAddressLine1()); assertEquals("London", john.getCity()); assertEquals("NW1 6XE", john.getPostCode()); assertEquals("GB", john.getCountry()); } public void assembleContactsWithoutAddress() { final List<ContactDTO> contacts = service.getContactsByName("Irene"); assertNotNull(contacts); assertEquals(1, contacts.size()); final ContactDTO irene = contacts.get(0); assertEquals("Irene", irene.getFirstName()); assertEquals("Adler", irene.getLastName()); assertNull(irene.getAddressLine1()); assertNull(irene.getCity()); assertNull(irene.getPostCode()); assertNull(irene.getCountry()); } public static void main(String[] args) { final PersonDAO personDAO = new PersonDAOImpl(); final AddressBookService service = new AddressBookServiceImpl(personDAO); final AddressBookRun run = new AddressBookRun(personDAO, service); run.runSetupData(); run.assembleContactsWithAddress(); run.assembleContactsWithoutAddress(); } }