change to simplefeature - STEMLab/geotools GitHub Wiki
-
Motivation: We are tired of working with flat features.
-
Contact: Jody Garnett, Justin Deoliveira, Gabriel Roldán
-
Tagline: Expected refactoring, performed during the FOSS4G code sprint
Description
We are tired of working with flat features:
- The GeoAPI project finally has a feature interface available that meets our needs
- org.opengis.feature.simple.SimpleFeature matches our current expectations - we can do a search and replace in order to switch over
- All code should be changed over to Use SimpleFeatureBuilder before this work proceeds
Status
This proposal was part of the FOSS4G code sprint; it was mostly approved as part
of the code sprint workplan.
Resources
There is a lot of ink split on this topic. If I gave you links you would only get confused.
If you would like to be confused:
-
| :white_check_mark: | :no_entry: | :warning: | :negative_squared_cross_mark: |
------------|--------------------|------------|-------------------------|-------------------------------| no progress | done | impeded | lack mandate/funds/time | volunteer needed |
The Strict Plan
We want to prevent a repeat of what happened with Filter, this plan breaks early and breaks often - and then relaxes things for client code right before we ship.
-
:white_check_mark: Use SimpleFeatureBuilder
-
:white_check_mark: Make org.geotools.feature.FeatureImpl implement SimpleFeature
-
:white_check_mark: Move org.geotools.feature.Feature to legacy and deprecate
-
:white_check_mark: Add any methods needed to DefaultFeature
-
:white_check_mark: Change imports and API as required in geotools modules
-
:white_check_mark: Test like mad
-
:white_check_mark: Confirm uDig and GeoServer are happy and can build
-
:white_check_mark: Confirm uDig and GeoServer are just using SimpleFeature
-
:white_check_mark: Update documentation where needed (most of the documentation was created w/ this in mind)
- :white_check_mark: Feature Model Guide Code Example Page used during code sprint
-
:white_check_mark: Release milestone release 2.5-M2)
-
:white_check_mark: Revise based on experience (change to getDescriptor() and getId() )
-
:white_check_mark: Release 2.5-RC0
API Changes
BEFORE
org.geotools.feature.Feature
public interface Feature {
}
AFTER
org.geotools.feature.Feature
import org.opengis.feature.simple.SimpleFeature;
/**
*
* @deprecated Use simple feature
*/
public interface Feature implements SimpleFeature {
}
Documentation Changes
Website:
- Update Upgrade to 2.5 instructions