mapstruct / mapstruct/mapstruct-idea

Completion of nested property of generic source property

Offen
#83 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Java
Sterne
168
Forks
41
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Example Source class (Lombok used for brevity):

import org.geolatte.geom.G2D;
import org.geolatte.geom.Point;

@Getter
@Setter
public class Location {
    private Point<G2D> coordinates;

    // ...
}

eg. when attempting to map the latitude of coordinates:

@Mapping(source = "coordinates.position.lat", target = "latitude")

Point#getPosition() returns the type argument, in this case G2D, but the plugin infers it as P (the type parameter), and hence fails to autocomplete the G2D#getLat() property.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das verschachtelte Mapping-Beispiel mit Location, Point und coordinates.position.lat in IntelliJ IDEA. Beginne damit nachzuverfolgen, wie das Plugin Point#getPosition() und sein generisches Typargument auflöst, und überprüfe anschließend, dass die Autovervollständigung G2D#getLat() erreicht. Fertig ist die Aufgabe, wenn die Eigenschaft als G2D und nicht als der nicht aufgelöste Typparameter P vorgeschlagen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.