mapstruct / mapstruct/mapstruct-examples
mapstruct-protobuf3 use lombok:UnsupportedOperationException(Collections$UnmodifiableCollection)
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Java
- Estrelas
- 1.4k
- Forks
- 504
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
modify mapstruct-protobuf3/usage/pom.xml plugin config,
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${org.projectlombok.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct-binding.version}</version>
</path>
<path>
<!-- Add your SPI implementation. -->
<groupId>org.mapstruct.examples.spi</groupId>
<artifactId>protobuf-spi-impl</artifactId>
<version>1.0.0</version>
</path>
</annotationProcessorPaths>
`
rebuild the mapstruct-protobuf3, run the test,report an error
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.addAll(Collections.java:1065)
at org.mapstruct.example.mapper.UserMapperImpl.map(UserMapperImpl.java:34)
at org.mapstruct.example.ProtobufTest.test(ProtobufTest.java:33),
Partially generated code
if ( userDTO.getMainDepartmentsList() != null ) {
List<UserProtos.DepartmentDTO> list = departmentListToDepartmentDTOList( user.getMainDepartments() );
if ( list != null ) {
userDTO.getMainDepartmentsList().addAll( list );
}
}
if ( userDTO.getDepartmentsList() != null ) {
List<UserProtos.DepartmentDTO> list1 = departmentListToDepartmentDTOList( user.getDepartments() );
if ( list1 != null ) {
userDTO.getDepartmentsList().addAll( list1 );
}
recover mapstruct-protobuf3/usage/pom.xml plugin config, run test success.
Is there any way to solve this problem?
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece com mapstruct-protobuf3/usage/pom.xml e inspecione a configuração de annotationProcessorPaths mostrada na issue. Recompile o exemplo mapstruct-protobuf3 e execute mapstruct-protobuf3/usage/src/test/.../ProtobufTest.java, verificando o código gerado de UserMapperImpl.java e confirmando que o teste seja concluído sem UnsupportedOperationException.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- java
- Domínio
- build-system, testing
- Tipo de issue
- Bug
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 45/100