Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

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:

Excerpt

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:

  • 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

Section
Column
width60%

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

Column
Wiki Markup
{dynamictasklist:Impediments}{dynamictasklist}

Resources

Section
Column
width60%

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:

Column
Children Display

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

Code Block
titleorg.geotools.feature.Feature
public interface Feature {
}

AFTER

Code Block
titleorg.geotools.feature.Feature
import org.opengis.feature.simple.SimpleFeature;

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

Documentation Changes

Website: