Orika a un ensemble de "BuiltinConverters"Est-il possible de remplacer le convertisseur intégré d'Orika - XMLGregorianCalendar en java.util.Date?
Mais celui qui XMLGregorianCalendar cartes à java.util.Date ne fonctionne pas correctement pour moi. J'ai découvert la façon de le mapper avec un résultat satisfaisant, mais je n'arrive pas à trouver un moyen de faire en sorte qu'Orika l'utilise à la place de son propre convertisseur intégré. J'ai essayé l'enregistrement du convertisseur MapperDefinition:
public class MapperDefinition {
private final MapperFactory factory;
private final ConverterFactory converterFactory;
public MapperDefinition() {
factory = new DefaultMapperFactory.Builder().build();
converterFactory = factory.getConverterFactory();
converterFactory.registerConverter(new CustomConverter<XMLGregorianCalendar, Date>() {
@Override
public Date convert(XMLGregorianCalendar source, Type<? extends Date> destinationType) {
LocalDateTime ldt = LocalDateTime.of(source.getYear(), source.getMonth(),
source.getDay(), source.getHour(), source.getMinute(), source.getSecond());
return Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant());
}
}
}
}
Mais le débogage montre que Orika semble ignorer mon convertisseur personnalisé et utilise toujours son propre convertisseur intégré. Je ne peux pas trouver toutes les informations sur le remplacement sur Orika Guide de l'utilisateur:
https://orika-mapper.github.io/orika-docs/converters.html
Est-ce que quelqu'un sait s'il est possible de faire Orika utiliser ma façon de cartographier ces deux types?
Je suppose que votre code enregistre votre convertisseur dans cette usine spécifique, mais une usine de mappage peut renvoyer des usines distinctes dans certains cas. Êtes-vous sûr que votre application utilise l'usine dans laquelle vous vous êtes inscrit? –