mapstruct / mapstruct/mapstruct-examples

mapstruct-protobuf3 use lombok:UnsupportedOperationException(Collections$UnmodifiableCollection)

オープン
#142 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Java
スター
1.4k
フォーク
504
PR マージ指標
30日以内にマージされた PR はありません

説明

modify mapstruct-protobuf3/usage/pom.xml plugin config,



org.mapstruct
mapstruct-processor
${org.mapstruct.version}


org.projectlombok
lombok
${org.projectlombok.version}


org.projectlombok
lombok-mapstruct-binding
${lombok-mapstruct-binding.version}



org.mapstruct.examples.spi
protobuf-spi-impl
1.0.0


`

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 list = departmentListToDepartmentDTOList( user.getMainDepartments() );
if ( list != null ) {
userDTO.getMainDepartmentsList().addAll( list );
}

}
if ( userDTO.getDepartmentsList() != null ) {

List 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?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

mapstruct-protobuf3/usage/pom.xml から始め、issue に示されている annotationProcessorPaths の設定を確認します。mapstruct-protobuf3 の例を再ビルドし、mapstruct-protobuf3/usage/src/test/.../ProtobufTest.java を実行して、生成された UserMapperImpl.java のコードを確認し、テストが UnsupportedOperationException なしで完了することを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
build-system, testing
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。