package org.transgalactica.management.data.rest.mapper.impl;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import org.transgalactica.fwk.domain.stereotype.Mapper;
import org.transgalactica.management.data.rest.bo.EmployeSummaryTo;
import org.transgalactica.management.data.rest.bo.EmployeTo;
import org.transgalactica.management.data.rest.mapper.HrMapper;
import org.transgalactica.management.flux.rest.EmployeCommand;
import org.transgalactica.management.flux.rest.EmployeDto;
import org.transgalactica.management.flux.rest.PiloteCommand;
/**
* Implementation <code>Dozer</code> de {@link HrMapper}
*
* @author Thierry
*/
@Mapper
public class DozerHrMapper implements HrMapper {
@Inject
private org.dozer.Mapper mapper;
protected DozerHrMapper() {
}
@Override
public EmployeCommand mapToEmployeCommand(EmployeTo employeTo) {
if ("PILOTE".equals(employeTo.getTypeEmploye())) {
return mapper.map(employeTo, PiloteCommand.class);
}
return mapper.map(employeTo, EmployeCommand.class);
}
@Override
public EmployeTo mapToEmployeTo(EmployeDto employe) {
return mapper.map(employe, EmployeTo.class);
}
@Override
public List<EmployeSummaryTo> mapToEmployeSummaryTo(List<EmployeDto> employes) {
List<EmployeSummaryTo> employeTos = new ArrayList<>(employes.size());
for (EmployeDto employe : employes) {
EmployeSummaryTo employeTo = mapper.map(employe, EmployeSummaryTo.class);
employeTos.add(employeTo);
}
return employeTos;
}
}