Array and Map paramter ignored as source-parameter if used as only source
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Reproduce el problema con el ejemplo de Java MultiSourceMapper del informe, comprobando tanto los parámetros de origen de tipo array como los de tipo Map y comparando el comportamiento de Iterable indicado. Sigue el manejo de los parámetros de origen y el comportamiento de completion del plugin; el fix estará terminado cuando los parámetros array y Map se reconozcan como la única fuente, dejen de aparecer advertencias sobre targets mapeados y completion los incluya en la lista.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Java
- Estrellas
- 168
- Forks
- 41
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mapstruct/mapstruct-idea
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
mapstruct/mapstruct-idea#274 · 2 comentarios ·
-
feature hack.commit.push
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
mapstruct/mapstruct-idea#267 ·
-
feature hack.commit.push
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
mapstruct/mapstruct-idea#266 ·
-
feature hack.commit.push
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
mapstruct/mapstruct-idea#265 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
mapstruct/mapstruct-idea#257 · 1 comentario ·
Todos los issues de mapstruct/mapstruct-idea
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
elastic/gradle-plugins#157 ·
-
enhancement Tools
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/rocketmq-dashboard#5008 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
DETECT_PARAMETER_NAMES=false silently disables @ConstructorProperties-based Creator detection too Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
FasterXML/jackson-databind#6229 ·