Package com.inspiresoftware.lib.dto.geda.benchmark.support.orika

Source Code of com.inspiresoftware.lib.dto.geda.benchmark.support.orika.OrikaListMapper

/*
* 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.benchmark.support.orika;

import com.inspiresoftware.lib.dto.geda.benchmark.Mapper;
import com.inspiresoftware.lib.dto.geda.benchmark.domain.Address;
import com.inspiresoftware.lib.dto.geda.benchmark.domain.Person;
import com.inspiresoftware.lib.dto.geda.benchmark.dto.AddressDTO;
import com.inspiresoftware.lib.dto.geda.benchmark.dto.PersonWithHistoryDTO;
import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.MapperFactory;
import ma.glasnost.orika.impl.DefaultMapperFactory;

/**
* .
* <p/>
* User: denispavlov
* Date: Sep 17, 2012
* Time: 12:04:50 PM
*/
public class OrikaListMapper implements Mapper {

    private MapperFacade mapper;
    private MapperFacade addressMapper;

    public OrikaListMapper() {
        final MapperFactory factory = new DefaultMapperFactory.Builder().build();
        factory.registerClassMap(factory.classMap(Address.class, AddressDTO.class).
            field("addressLine1", "addressLine1").
            field("addressLine2", "addressLine2").
            field("postCode", "postCode").
            field("city", "city").
            field("country.name", "countryName").
            toClassMap()
        );
        factory.registerClassMap(factory.classMap(Person.class, PersonWithHistoryDTO.class).
            field("id", "id").
            field("name.firstname", "firstName").
            field("name.surname", "lastName").
            field("currentAddress", "currentAddress").
            field("previousAddresses", "previousAddresses").
            toClassMap()
        );
        this.mapper = factory.getMapperFacade();
    }

    public Object fromEntity(final Object entity) {
        return mapper.map(entity, PersonWithHistoryDTO.class);
    }

    public Object fromDto(final Object dto) {
        return mapper.map(dto, Person.class);
    }
}
TOP

Related Classes of com.inspiresoftware.lib.dto.geda.benchmark.support.orika.OrikaListMapper

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.