[services-geojson] NullPointerException in Feature.addXxxProperty() or getXxxProperty() methods
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece em Feature.GsonTypeAdapter.read(), que é alcançado por meio de FeatureCollection.fromJson(), e examine como um campo properties nulo chega a Feature.addStringProperty() e aos métodos add/get relacionados. Verifique se o exemplo de JSON de FeatureCollection fornecido não causa mais uma NullPointerException quando uma propriedade é adicionada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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");
}
- Linguagem predominante
- Java
- Estrelas
- 438
- Forks
- 117
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de mapbox/mapbox-java
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
mapbox/mapbox-java#1640 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
mapbox/mapbox-java#1635 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
mapbox/mapbox-java#1619 ·
-
Mapbox-java incompatible with gson 2.13.0 and up - call to internal GSON classes that were renamed Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 48/100
mapbox/mapbox-java#1614 · 2 comentários · 1 reação ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
mapbox/mapbox-java#1612 · 1 reação ·
Todas as issues de mapbox/mapbox-java
Issues semelhantes
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Cannot differ own consent and managed consents in My Consents view and detailed consent view. Aberta1.0.0-alpha2 Type/Improvement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
wso2/dpdp-accelerator#272 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
apache/rocketmq-dashboard#4860 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
infinispan/infinispan#18150 ·