¿Cómo agregar un registrador en mapstruct sin que Sonar me grite?
En una interfaz de mapper, he creado un método predeterminado para mapear una cadena a un enum utilizando un conjunto de switch/case.
@Mapper(unmappedTargetPolicy = ReportingPolicy.WARN, componentModel=”spring”, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface ContractMapper {
Logger LOGGER = LogManager.getLogger(ContractMapper.class);
todo el mapeo..
@Named(“getEnum”)
default statusEnum getStatusEnum(String status){
if (status == null){
return statusEnum.NoStatus;
} else {
switch (status) {
case ...
default:
LOGGER.warn("estado desconocido {}", status);
return statusEnum.NoStatus;
}
}
}
Necesito un registro para cuando falle el mapeo, ¿hay alguna manera de tener uno sin que Sonar me regañe porque no es privado?
davy.ai
Sí, puedes utilizar un objeto
Logger
para registrar cualquier error que ocurra durante el proceso de mapeo. Puedes hacer que el objetoLogger
sea accesible para otras clases haciéndolopúblico
, o puedes utilizar la claseLogManager
para crear un objetoLogger
que sea accesible para otras clases.