Motivation:

We are tired of working with flat features.

Contact:

Jody Garnett, Justin Deoliveira, Gabriel Roldán

Tracker:

http://jira.codehaus.org/browse/GEOT-1191

Tagline:

Expected refactoring, performed during the FOSS4G code sprint

This page represents the current plan; for discussion please check the tracker link above.

Description

We are tired of working with flat features:

Status

This proposal was part of the FOSS4G code sprint; it was mostly approved as part
of the code sprint workplan.

{dynamictasklist:Impediments}{dynamictasklist}

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:

Tasks

 

no progress

(tick)

done

(error)

impeded

(warning)

lack mandate/funds/time

(question)

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.

  1. (tick) Use SimpleFeatureBuilder
  2. (tick) Make org.geotools.feature.FeatureImpl implement SimpleFeature
  3. (tick) Move org.geotools.feature.Feature to legacy and deprecate
  4. (tick) Add any methods needed to DefaultFeature
  5. (tick) Change imports and API as required in geotools modules
  6. (tick) Test like mad
  7. (tick) Confirm uDig and GeoServer are happy and can build
  8. (tick) Confirm uDig and GeoServer are just using SimpleFeature
  9. (tick) Update documentation where needed (most of the documentation was created w/ this in mind)
  10. (tick) Release milestone release 2.5-M2)
  11. (tick) Revise based on experience (change to getDescriptor() and getId() )
  12. (tick) Release 2.5-RC0

API Changes

BEFORE

public interface Feature {
}

AFTER

import org.opengis.feature.simple.SimpleFeature;

/**
 *
 * @deprecated Use simple feature
 */
public interface Feature implements SimpleFeature {
}

Documentation Changes

Website: