I use spring boot with mapstruct. I have a decorator, i created a method to be called afterMapping.
After test, this method is never called
@Data
@Entity
public class IntranetRequest{
…
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilderder
public class IntranetRequestDto{
…
}
@Mapper(componentModel = "spring")
@DecoratedWith(IntranetMapperDecorator.class)
public interface IntranetMapper {
IntranetRequestDto toDto(IntranetRequest intranetRequest);
@AfterMapping
default void toAssign(@MappingTarget IntranetRequestDto intranetRequestDto, IntranetRequest intranetRequest) {
...
}
public abstract class IntranetMapperDecorator implements IntranetMapper {
@Autowired
private IntranetMapper delegate;
@Override
public IntranetRequestDto toDto(IntranetRequest intranetRequest) {
IntranetRequestDto intranetRequestDto = delegate.toDto(intranetRequest);
...
return intranetRequestDto;
}
}
I could probably call manually to assign, but i would like to understand why aftermapping is not working