[services-geojson] NullPointerException in Feature.addXxxProperty() or getXxxProperty() methods
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia da Feature.GsonTypeAdapter.read(), che viene raggiunto tramite FeatureCollection.fromJson(), e analizza come un campo properties nullo raggiunge Feature.addStringProperty() e i relativi metodi add/get. Verifica che l’esempio JSON di FeatureCollection fornito non causi più una NullPointerException quando viene aggiunta una proprietà.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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");
}
- Lingua principale
- Java
- Stelle
- 438
- Fork
- 117
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di mapbox/mapbox-java
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mapbox/mapbox-java#1640 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
mapbox/mapbox-java#1635 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
mapbox/mapbox-java#1619 ·
-
Mapbox-java incompatible with gson 2.13.0 and up - call to internal GSON classes that were renamed Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
mapbox/mapbox-java#1614 · 2 commenti · 1 reazione ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
mapbox/mapbox-java#1612 · 1 reazione ·
Tutte le issue di mapbox/mapbox-java
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
elastic/gradle-plugins#157 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
cryptomator/hub#497 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
johanhaleby/occurrent#1120 ·