Hi martin:
The process api is currently unsupported in geotools; but I would like to nail
it down prior to 8.0 being released. You should find the javadocs on the base
classes fairly detailed - as I was prepare to make this one stable.
The GeoServer application context has a setting to pick up all extensions of
GSProcess - that is its only significance as a marker interface.
The RenderingProcess is an extension that Andrea created in order to hold
inventQuery etc as you describe; I think I made a naming convention or
annotation for invertQuery and invertGrid let me check …
Okay found it in the AnnotationDrivenProcessFactory:
lookupInvertGridGeometry(Object
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertGridGeometry~QObject;~QString;%E2%98%82Object)
targetObject, String
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertGridGeometry~QObject;~QString;%E2%98%82String)
methodName)
Used to recognise RenderingProcess
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertGridGeometry~QObject;~QString;%E2%98%82RenderingProcess)
implementations; returns a non null method for
RenderingProcess.invertGridGeometry(Map, Query, GridGeometry)
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertGridGeometry~QObject;~QString;%E2%98%82RenderingProcess%E2%98%82invertGridGeometry%E2%98%82Map%E2%98%82Query%E2%98%82GridGeometry).
Used to look up the method to use for "invertGridGeometry"; if a specific
method name is not provided "invertGridGeometry" will be used.
For null method name "invertGridGeometry" will be used.
For "execute" method name "invertGridGeometry" will be used.
For "buffer" method name "bufferInvertGridGeometry" will be used
Parameters:
targetObject Target object; may be null for static method lookup
methodName method to use for "invertGridGeometry"
Returns:
method to use for RenderingProcess "invertGridGeometry", or null if not a
RenderingProcess
Same deal for invert query:
lookupInvertQuery(Object
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertQuery~QObject;~QString;%E2%98%82Object)
targetObject, String
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertQuery~QObject;~QString;%E2%98%82String)
methodName)
Used to recognise RenderingProcess
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertQuery~QObject;~QString;%E2%98%82RenderingProcess)
implementations; returns a non null method for
RenderingProcess.invertQuery(Map, Query, GridGeometry)
(eclipse-javadoc:%E2%98%82=gt-process/src%5C/main%5C/java%3Corg.geotools.process.factory%7BAnnotationDrivenProcessFactory.java%E2%98%83AnnotationDrivenProcessFactory~lookupInvertQuery~QObject;~QString;%E2%98%82RenderingProcess%E2%98%82invertQuery%E2%98%82Map%E2%98%82Query%E2%98%82GridGeometry).
Used to look up the method to use for "invertQuery"; if a specific method name
is not provided "invertGridGeometry" will be used.
For null method name "invertQuery" will be used.
For "execute" method name "invertQuery" will be used.
For "buffer" method name "bufferInvertQuery" will be used
Parameters:
targetObject Target object; may be null for static method lookup
methodName method to use for "invertQuery"
Returns:
method to use for RenderingProcess "invertQuery", or null if not a
RenderingProcess
--
Jody Garnett
On Wednesday, 29 February 2012 at 8:51 AM, Martin Davis wrote:
> I'm looking for advice on best practices on writing classes which can be run
> as Rendering Transformation processes. Specifically:
>
> - the GeoServerProcess interface extends the GSProcess interface. Which one
> should be used?
>
> - there is also a RenderingProcess interface, which can be used to define the
> invertQuery() and invertGrid() methods. However, it extends Process, which
> then requires an execute(Map) method. I would prefer to use the
> annotation-driven style of process definition, with an execute() method
> taking explicit typed parameters. In fact it seems to work fine doing this
> and not using the RenderingProcess interface. Is RenderingProcess obsolete?
>
> Is there any documentation on this (particularly on the annotation-driven way
> of defining processes)?
>
> --
> Martin Davis OpenGeo - http://opengeo.org (http://opengeo.org/)
> Expert service straight from the developers.
>
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
>
> _______________________________________________
> Geoserver-devel mailing list
> [email protected]
> (mailto:[email protected])
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
>
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel