Description

The idea is to split the app-schema module in three:

The first part would contain everything that helps with complex features in general and can be moved to gt-main: mainly builders

The second part would contain everything that helps with complex features in general and depends on XSD: evaluating filters against them (property accessor, x-path evaluation), building complex feature types from XSD. These classes do not rely on specific schemes like GML, etc... apart form XS.

The third part will contain anything that is app-schema specific: creating complex feature datastores with mapping files.

The third part would continue as the gt-app-schema module. The first part will be moved to gt-main. More specifically, the following classes will be moved:

org.geotools.feature.TypeBuilder

org.geotools.util.ComplexAttributeConverterFactory

org.geotools.feature.Types (PARTLY)

The second would split off and become a new module 'gt-complex'. More specifically, this 'gt-complex' module will consist of the following classes that are now in the gt-app-schema module.

Status

Tasks

This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success

no progress

done

impeded

lack mandate/funds/time

volunteer needed

NC: move/copy all the classes (specified above) into new module 'gt-complex'

NC: refactor app-schema to use the gt-complex module and the new featuretyperegistry

NC: review the geotools documentation and update

API Changes

The API will not change because of this.

Documentation Changes

gt-complex should get its own page in the GeoTools User Documentation.The application-schema documentation page says "Key to the configuration of the app-schema module is the mapping file". The gt-complex module provides support for complex features but has nothing to do with mapping files.