MapStruct - впрыск сварного шва для второго картографа не работает - PullRequest
0 голосов
/ 05 апреля 2019

У меня проблема с инжекцией в сварочный CDI для картографов, использующих библиотеку mapstruct.Когда у меня только один картограф, все работает.После добавления второго преобразователя этот преобразователь создает исключение: Причина: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Неудовлетворенные зависимости для типа InspectionTypeMapper с квалификаторами @ По умолчанию

Первый преобразователь (этот преобразователь работает)

@Mapper(componentModel = "cdi", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface InstallationMapper {
    Installation installationDtoToInstallation(InstallationDto installationDto);
    InstallationDto installationToInstallationDto(Installation installation);
    List<InstallationDto> installationsToInstallationsDtos(List<Installation> installations);

}

Второй модуль сопоставления (это не работает и создает исключение):

@Mapper(componentModel = "cdi", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface InspectionTypeMapper {
    InspectionType inspectionTypeDtoToInspectionType(InspectionTypeDto inspectionTypeDto);
    InspectionTypeDto inspectionTypeToInspectionTypeDto(InspectionType inspectionType);
    List<InspectionTypeDto> inspectionTypesToInspectionTypeDtos(List<InspectionType> inspectionTypes);
}

Моя установкаServiceImpl:

@RequestScoped
public class InstallationServiceImpl implements InstallationService {
@Inject
private InstallationRepository installationRepository;
@Inject
private InstallationMapper installationMapper;

@Override
public List<InstallationDto> getAllInstallations() {
    List<Installation> installations = installationRepository.getAll();
    List<InstallationDto> installationDtos = installationMapper.installationsToInstallationsDtos(installations);
    return installationDtos;
    }
}

My InspectionTypeServiceImpl:

@RequestScoped
public class InspectionTypeServiceImpl implements InspectionTypeService{
@Inject
InspectionTypeRepository inspectionTypeRepository;

@Inject
InspectionTypeMapper inspectionTypeMapper;
@Override
public List<InspectionTypeDto> getAllInspectionTypes() {
    List<InspectionType> inspectionTypes = inspectionTypeRepository.getAll();
    System.out.println(inspectionTypes);
    List<InspectionTypeDto> inspectionTypeDtos = inspectionTypeMapper
            .inspectionTypesToInspectionTypeDtos(inspectionTypes);
    return inspectionTypeDtos;
}
...