Array and Map paramter ignored as source-parameter if used as only source
まだ誰も着手していません。
評価
調査の方向性
レポートにある Java MultiSourceMapper の例で問題を再現し、array と Map のソースパラメーターの両方を確認して、記載されている Iterable の動作と比較します。プラグインのソースパラメーター処理と completion の動作を追跡します。array と Map のパラメーターが唯一のソースとして認識され、マッピングされた target の警告が表示されなくなり、completion にそれらが一覧表示されれば、fix は完了です。
索引モデルが issue の本文から書いたものです。
説明
I found while investigation #168, that currently the plugin ignores source parameters of type array and Map, if used as the only source parameter.
Here a small example Mapper:
import org.mapstruct.Mapper;
import java.util.Map;
@Mapper
public interface MultiSourceMapper {
class ArrayTarget {
private int[] myArray;
public int[] getMyArray() {
return myArray;
}
public void setMyArray(int[] myArray) {
this.myArray = myArray;
}
}
ArrayTarget mapToArrayTarget(int[] myArray);
class MapTarget {
private Map<Integer, Integer> myMap;
public Map<Integer, Integer> getMyMap() {
return myMap;
}
public void setMyMap(Map<Integer, Integer> myMap) {
this.myMap = myMap;
}
}
MapTarget mapToMapTarget(Map<Integer, Integer> myMap);
}
This generates code where all targets are mapped based on their names. The plugin currently ignores the source parameters and give a unmapped target property warning.
Also the completion doesn't show them as source parameters.
One thing to notice:
For Iterable this behavior is correct as mapstruct itself doesn't support mapping from Iterable to Object.
- 主要言語
- Java
- スター
- 168
- フォーク
- 41
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mapstruct/mapstruct-idea のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
mapstruct/mapstruct-idea#274 · コメント 2 件 ·
-
feature hack.commit.push
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
mapstruct/mapstruct-idea#267 ·
-
feature hack.commit.push
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
mapstruct/mapstruct-idea#266 ·
-
feature hack.commit.push
難易度 3/5 1〜2日 初心者へのやさしさ 75/100
mapstruct/mapstruct-idea#265 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
mapstruct/mapstruct-idea#257 · コメント 1 件 ·
mapstruct/mapstruct-idea の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
elastic/gradle-plugins#157 ·
-
enhancement Tools
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
apache/rocketmq-dashboard#5008 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
DETECT_PARAMETER_NAMES=false silently disables @ConstructorProperties-based Creator detection too オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
FasterXML/jackson-databind#6229 ·