Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. setting the stage
    • (tick) gt-process split out into different modules (gt-process-feature, gt-process-geometry, gt-process-raster)
  2. (tick) backport annotations from geoserver along with supporting infrastructure
    • (tick) Review AnnotationDrivenProcessFactory, AnnotationBeanProcessFactory and StaticMethodsProcessFactory
    • (tick) Rename the internals of AnnotationDrivenProcessFactory for InvokeMethodProcess and InvokeMethodRenderingProcess
    • (tick) Refactor recognising of RenderingProcess stuff to allow for static methods to support RenderingProcess
    • (tick) Add lots of javadocs with examples
    • (tick) Q: What to do about the marking interface GeoServerProcess? GSProcess (for "geospatial") giving Spring something fun to pick up and have a party with
    • (tick) Update annotations; and marker interface; when back porting from geoserver you will need to change imports to:
      Code Block
       import org.geotools.process.factory.DescribeParameter;
       import org.geotools.process.factory.DescribeProcess;
       import org.geotools.process.factory.DescribeResult;
       import org.geotools.process.gs.GSProcess;
       import org.geotools.process.gs.WrappingIterator; 
      
    • Will also need to change "WPSException" to "ProcessException"
    • asked geoserver-devel to double check on this stuff
  3. gt-process
    • (tick) redistribute existing geotools "examples"
    • (tick) Made ProcessException extend RuntimeException (so that transition from WPSException would be easier)
    • Remove Examples of API that do not accomplish anything (dem, buffer single feature, addition, union, intersection)
  4. gt-process-feature
    • (tick) populated with a lot of GSProcess implementations
    • (tick) dependency on gt-grid
    • (tick) back ported as many test cases as I could
    • grabbed a bugsites.property file for testing; along with a test dependency on gt-process and gt-epsh-gsql
    • Add enough tests to allow the module graduation into supported land
  5. gt-process-geometry
    • (tick) populated with the GeometryProcessFactory from geoserver
    • (tick) test case for GeometryProcessFactory
    • Add enough tests to allow the module to become supported (wondering if some reflection against Geometry could allow for faster test buildup)
  6. gt-process-raster
    • (tick) populated with a lot of GSProcess implementations (very nice clear readable code)
    • (tick) pick up a dependency on jai-tools
    • (warning) need to sort out how to take on raster test cases and get enough test coverage to move the module to supported land
  7. docs
    • advanced tutorial showing how to implement a simple process

Testing ideas

Most of the processes are backported from GeoServer, where they were tested by exercising the WPS api and using
the testing facilities provided by GeoServer.

Need to replicate some of that at least partially:

  • have a number of datasets that can be used for testing (most of the GeoServer ones are in the main module)
  • have base class methods to perform quick checks against feature collections (feature existance, attribute existance, and so on)
  • have base class methods to perform checks against coverages, like pixel and band checks

gt-api

Contains the Process interface, ProcessFactory along with DescribeProcess annotations etc...

...

  • gs:RectangularClip
  • cookie cutter
  • buffer
  • intersection
  • overlap
  • and so on...
  • Add enough tests to

gt-process-raster

  • raster to vector
  • anything else ...

...