Package com.inspiresoftware.lib.dto.geda.examples.addressbook

Source Code of com.inspiresoftware.lib.dto.geda.examples.addressbook.AddressBookRun

/*
* 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();
    }

}
TOP

Related Classes of com.inspiresoftware.lib.dto.geda.examples.addressbook.AddressBookRun

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.