[services-geojson] NullPointerException in Feature.addXxxProperty() or getXxxProperty() methods
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par Feature.GsonTypeAdapter.read(), qui est atteint via FeatureCollection.fromJson(), et examinez comment un champ properties nul atteint Feature.addStringProperty() ainsi que les méthodes add/get associées. Vérifiez que l’exemple JSON de FeatureCollection fourni ne provoque plus de NullPointerException lorsqu’une propriété est ajoutée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
All methods like addStringProperty(), addNumberProperty(), getStringProperty()… don’t guard against a null properties field.
The “guard” is at a higher level, as using Feature static factory methods ensure that the properties field is never null.
However Feature.GsonTypeAdapter.read() directly calls the Feature constructor which doesn’t prevent a null properties field. So for example, if someone calls FeatureCollection.fromJson() which contains a feature that has a null properties field, it will be decoded by the GsonAdapter and then calling addStringProperty() on this feature will crash.
Small code sample to demonstrate that
public void addPropertyCrash() {
final String json = "{" +
"\"type\": \"FeatureCollection\"," +
"\"features\": [" +
"{" +
"\"type\": \"Feature\"," +
"\"properties\": null," +
"\"geometry\": null" +
"}" +
"]" +
"}";
FeatureCollection actual = FeatureCollection.fromJson(json);
actual.features().get(0).addStringProperty("key", "value");
}
- Langage dominant
- Java
- Étoiles
- 438
- Forks
- 117
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de mapbox/mapbox-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
mapbox/mapbox-java#1640 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
mapbox/mapbox-java#1635 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
mapbox/mapbox-java#1619 ·
-
Mapbox-java incompatible with gson 2.13.0 and up - call to internal GSON classes that were renamedOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 48/100
mapbox/mapbox-java#1614 · 2 commentaires · 1 réaction ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
mapbox/mapbox-java#1612 · 1 réaction ·
Toutes les issues de mapbox/mapbox-java
Issues similaires
-
[Bug] The shared instance selector's placeholder and no-match text ignore the display languagePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
apache/rocketmq-dashboard#5561 ·
Les mainteneurs répondent en général sous 3 jours
-
test(setup): GitHub configuration tests fail when the temp path is long enough for YAML foldingOuvertebug good first issue help wanted priority medium size S
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
martin-francois/symphony-trello#776 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Console.printHexOuvertegood first issue kernel
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
JackFurton/who-would-build-a-kernel-in-java#33 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
flutter/flutter-intellij#9137 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour