geo.json package improvements
Feature
:
-
Move Builder.toJson()
and...write()
up toFeature
-
Add toJsonTree()
consistent with methods in GeoJson (now in FeatureCollection) -
id
field asJsonElement
-
idAs*()
return Optionals (no NPEs thrown) -
Remove hasId()
-
Add equals() and hashCode() -
Fix feature created using copyOf serializes id as double (low priority)
-
bbox()
-
Return Optional
instead ofnull
-
If non-null, return copy of array (currently returned array can be modified); test should check equals
butnotSame
-
GeoJson
:
-
Move GeoJson.cleanPoints()
toText
and rename tocleanCoordinates()
-
Builder
-
Rename Builder.toFeatureCollection()
tobuild()
-
Move Builder.toJson()
...toJsonTree()
and...write()
over toFeatureCollection
-
Make builder single use (this will impact tests where builder is being reused).
-
-
bbox()
-
Return Optional
instead ofnull
-
If non-null, return copy of array (currently returned array can be modified); test should check equals but notSame -
In builder, checkArgument()
as done inFeature
-
- Deserialization refactor
-
Add private abstract method read(Class T)
-
Rename FromString.readString(T)
(and others) toFromString.read(T)
and tag with@Override
-
Remove FromString.toFeature()
and...toFC()
and add this identical implementations up to abstract declarations -
Integrate checkFeature()
andcheckFeatureCollection()
methods intotoFeature()
andtoFeatCollection()
-
Geometry
:
-
MultiLineConverter.doBackward()
to createImmutableList
Tests:
-
Update test per refactoring above -
Restructure tests, perhaps using @Nested, into logical groups (e.g. exceptions) or with test names that better match published method names (e.g. testFromMethods instead of testRead) -
Update deprecated GSON JsonParser methods -
Use Path.toUri.toUrl instead of mixing in Files and Resources -
Remove main()
Edited by Altekruse, Jason Morgan