Skip to content

Add validation for entered coordinate values in Geospatial metadata (bounding boxes, etc) #9547

@landreev

Description

@landreev

TL;DR: We allow users to enter junk on the geo metadata form. That ends poorly.

This came in as a support request, somebody published a dataset, but it was not showing up on the collection page. Meaning, indexing failed, so according to the search engine, it was still an unpublished draft.
On closer inspection, indexing was failing because it didn't like the geo bounding box coordinates:

org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at ...
Error adding field 'geolocation'='ENVELOPE(- 81.06667,-75.19694,-1.363889,-5.015556)' 
msg=Unable to parse shape given formats "lat,lon", "x y" or as WKT because 
java.text.ParseException: java.lang.NumberFormatException: For input string: "-" input:

(note that the above was from server.log; zero diagnostic info back from the index api)

The only problem there was the space character in "- 81.06667". For this user it was addressed by fixing the field value in the database and reindexing. But we clearly need to validate the values that are being entered, on the edit form or via the api.

Metadata

Metadata

Assignees

Labels

Size: 30A percentage of a sprint. 21 hours. (formerly size:33)Type: Buga defectpm.netcdf-hdf5.dAll 3 aims are currently under this deliverable

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions