Versions Compared

Key

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

Motivation:

GeoTools codebas has some strange dependencies (main depends on coverage??) as well as some old unused code floating aroundl

Contact:

Simone Giannecchini

Tracker:

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

Tagline:

a good main is hard to find

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

Description

This proposal is all about moving some code into a more appropriate module:

  • coverage implementations in main move to coverage module
  • mapcontext implementations in main go to rendering module
  • move all the ImageIO plugins and GC plugins to its own directories
  • old GridCoverageExchange implementations go to the recycle bin
  • renderer is using a lot of classes that atually act as adapters between JTS gemetries and Java2D Shapes, my goal is to move this classes n module main in order to allow people to leverage on them.

I am planning on achieving these goals in two steps. First I want to finish the first four tasks which would just clean up and reorganize a bit code between core modules. Once this step pis done and reviewed, I would like to move all the JTS-to_Shape adapters to main in order to be able to leverage on them from other modules (like for doing Region of Interestes in Coverages).

This change is similar to the recent requests to break out data and jdbc modules from main; this time however an appropriate location is already available.

Status

This proposal has been submitted, simboss is working on it. Here below you can find  a tasks list that can be used to track the advancement  of this work.


Wiki Markup
{dynamictasklist:Things to do}{dynamictasklist}

Resources

Section
Column
width60%


Attachments
uploadtrue



Column


Children Display

Tasks

 

no progress

(tick)

done

(error)

impeded

(warning)

lack mandate/funds/time

(question)

volunteer needed

A target release is also provided for each milestone.

Milestone 1

2.4-M0

Move to Coverage Module

(tick)

Simone Giannecchini

Identify candidate coverage & test cases

(warning)

 

consult with module maintainer

 

 

svn mv

 

 

test and release

 

 

update documentation

Milestone 2

2.4-M0

Move to Render Module

(tick)

Simone Giannecchini

Identify candidate coverage & test cases

(warning)

Simone Giannecchini

consult with module maintainer

 

 

svn mv

 

 

test and release

 

 

update documentation

API Changes

Before

After

org.geotools.data.coverage.grid.*

org.geotools.coverage.grid.io.*

org.geotools.data.coverage.grid.file, org.geotools.data.coverage.grid.stream

DISMISSED

org.geotools.coverage.io.AbstractGridCoverageReader.java,  org.geotools.coverage.io.AmbiguousMetadataException.java,  org.geotools.coverage.io.ExoreferencedGridCoverageReader.java,  org.geotools.coverage.io.MetadataBuilder.java,  org.geotools.coverage.io.MetadataException.java,  org.geotools.coverage.io.MissingMetadataException.java

Moved under spike/exoreferenced waiting for Martin to review

org.geotools.image.io.RawBinaryImageReader,  org.geotools.image.io.RawBinaryImageReadParam

DISMISSED


org.geotools.resources.image.CoverageUtilities

org.geotools.resources.coverage.CoverageUtilities


org.geotools.image.imageio.*

org.geotools.coverage.grid.io.imageio.*


org.geotools.image.io.SimpleImageReader subclasses

Moved to spike/simpleimagereader waiting for Martin to review


org.geotools.map.*

Moved to renderer

 

org.geotools.data.DataUtilities#wrapGc(GridCoverage gridCoverage),
org.geotools.data.DataUtilities#wrapGcReader(
            AbstractGridCoverage2DReader gridCoverageReader,
            GeneralParameterValue[] params)

Moved to org.geotools.resources.coverage.CoverageUtilities

 

ext/coverage_development/imageio/*

Move to spike/imageio/*

 

Documentation Changes

Website:

Developers Guide:

  • Update description of layered architecture

User Guide:

  • check

User Manual:

  • check

Issue Tracker:

  • Check for bugs against "main" that can now change to the "coverage" or "renderer" component.