Tag: MAPSTRUCT
Estoy pensando en cómo verificar mediante una prueba unitaria para descubrir si todos los objetivos de las asignaciones de mapstruct están activos/en uso… Tengo la siguiente estructura: @Mapper(uses = {DateMapper.class, StateMapper.class}) public abstract class Blah implements IDtoContextMapper<SourceEntity, StuffDto> { @Mapping(source = “id”, target = “id”) @Mapping(source = “someNumber”, target = . . . Read more
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 . . . Read more
Intenté diferentes enfoques que encontré aquí en Stackoverflow. Esta es la forma en que sé cómo usar un mapper con MapStruct. Tengo una clase Mapper así: “`@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface DummyMapper { DummyMapper INSTANCE = Mappers.getMapper(DummyMapper.class); DummyResponseApi modelToApi(DummyResponse DummyResponseModel); } <pre><code>Y mi prueba de unidad: “`@RunWith(SpringRunner.class) @SpringBootTest(classes = {DummyMapper.class}) . . . Read more
Estoy usando un modelo de una biblioteca que tiene múltiples constructores y ninguno es sin parámetros. Por lo tanto, la compilación falla diciendo que se debe declarar un constructor sin parámetros o anotar el constructor predeterminado con una anotación llamada @Default. Pero como dije, no puedo modificar el modelo ya . . . Read more
Quiero usar Foo::toString como fuente en @org.mapstruct.Mapping Las soluciones a continuación no funcionan: @Mapping(source = “value.toString()”, target = “date”) String map(Foo value); java: El tipo de parámetro “value” no tiene ninguna propiedad llamada “toString()”. @Mapping(source = “java(value.toString())”, target = “date”) String map(Foo value); java: No existe ninguna propiedad llamada “java(value.toString())” . . . Read more