...
- setting the stage
gt-process split out into different modules (gt-process-feature, gt-process-geometry, gt-process-raster)
backport annotations from geoserver along with supporting infrastructure
Review AnnotationDrivenProcessFactory, AnnotationBeanProcessFactory and StaticMethodsProcessFactory
Rename the internals of AnnotationDrivenProcessFactory for InvokeMethodProcess and InvokeMethodRenderingProcess
Refactor recognising of RenderingProcess stuff to allow for static methods to support RenderingProcess
Add lots of javadocs with examples
Q: What to do about the marking interface GeoServerProcess? GSProcess (for "geospatial") giving Spring something fun to pick up and have a party with
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
- gt-process
redistribute existing geotools "examples"
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)
- gt-process-feature
populated with a lot of GSProcess implementations
dependency on gt-grid
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
- gt-process-geometry
populated with the GeometryProcessFactory from geoserver
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)
- gt-process-raster
populated with a lot of GSProcess implementations (very nice clear readable code)
pick up a dependency on jai-tools
need to sort out how to take on raster test cases and get enough test coverage to move the module to supported land
- 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 ...
...