package org.transgalactica.management.data.rest.mapper.impl; import static org.dozer.loader.api.FieldsMappingOptions.customConverter; import static org.dozer.loader.api.TypeMappingOptions.oneWay; import org.dozer.loader.api.BeanMappingBuilder; import org.springframework.stereotype.Component; import org.transgalactica.management.data.rest.bo.EmployeSummaryTo; import org.transgalactica.management.data.rest.bo.EmployeTo; import org.transgalactica.management.data.rest.bo.MecanicienTo; import org.transgalactica.management.data.rest.bo.PiloteTo; import org.transgalactica.management.flux.rest.EmployeCommand; import org.transgalactica.management.flux.rest.EmployeDto; import org.transgalactica.management.flux.rest.EmployeVaisseau; import org.transgalactica.management.flux.rest.MecanicienDetailDto; import org.transgalactica.management.flux.rest.PiloteCommand; import org.transgalactica.management.flux.rest.PiloteDetailDto; @Component public class DozerHrMappingBuilder extends BeanMappingBuilder { protected DozerHrMappingBuilder() { } @Override protected void configure() { mapping(PiloteTo.class, type(PiloteCommand.class).beanFactory("org.dozer.factory.JAXBBeanFactory"), oneWay()) .fields("dateEmbauche", "dateEmbauche", customConverter(XMLGregorianCalendarToLocalDateConverter.class)); mapping(MecanicienTo.class, type(EmployeCommand.class).beanFactory("org.dozer.factory.JAXBBeanFactory"), oneWay()) // .fields("dateEmbauche", "dateEmbauche", customConverter(XMLGregorianCalendarToLocalDateConverter.class)); mapping(EmployeDto.class, type(EmployeSummaryTo.class).beanFactory("springContextDozerFactory"), oneWay()) .fields("matricule", "matricule") .fields("nom", "nom") .fields("dateEmbauche", "dateEmbauche", customConverter(XMLGregorianCalendarToLocalDateConverter.class)) // .fields("typeEmploye", "typeEmploye"); mapping(PiloteDetailDto.class, type(PiloteTo.class).beanFactory("springContextDozerFactory"), oneWay()) // .fields("vaisseaux.vaisseau", "vaisseaux") // .fields("nombreHeuresVol", "nombreHeuresVol"); mapping(MecanicienDetailDto.class, type(MecanicienTo.class).beanFactory("springContextDozerFactory"), oneWay()) // .fields("vaisseaux.vaisseau", "vaisseaux") // .fields("specialites.specialite", "specialites"); mapping(EmployeVaisseau.class, type(EmployeTo.VaisseauTo.class).beanFactory("springContextDozerFactory"), oneWay()) // .fields("immatriculation", "immatriculation") // .fields("modele", "modele") // .fields("nombreDePassagers", "nombreDePassagers") // .fields("capaciteDeFret", "capaciteDeFret") // .fields("vitesse", "vitesse") // .fields("autonomie", "autonomie"); } }