Jody,

It will be great to see the Process API move to supported.  It would also
be good to see it get a bit better documentation and perhaps a bit of
refinement too in conjunction with that.

Is GeoServerProcess now obsolete? Might be worth deprecating if so.

The GSProcess Javadoc could perhaps be clarified a bit?   Say (per Andrea)
something like "Used by Spring-bound process factories to locate their
processes
in the Spring context" ? (And maybe put a @see ProcessFactory  )    Is it
the case that *every* process should implement this interface - in which
case could say that too?

I still think it would be nice to split the invert* methods out into a
separate interface, so that they can be used in annotation-driven
processes.  Perhaps called "RenderingTransformationInitialization"?
 Unfortunately "RenderingTransformation" is already used for the interface
which overloads the invert* methods, apparently for internal use in
RenderingProcessFunctions. Perhaps it should simply be repurposed for use
by rendering transformation processes themselves.  (Or perhaps I'm
misreading the intent of all this design - maybe Andrea can offer advice
here?)

I was unaware of the "bufferInvertQuery" etc methods - are they of general
use?  If so would be nice to have them explicitly defined in an interface
(which provides a good place to document their semantics, too).

On Sun, Mar 4, 2012 at 1:00 AM, Jody Garnett <[email protected]> wrote:

>  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 targetObject, String methodName)
>
> Used to recognise RenderingProcess implementations; returns a non null
> method for RenderingProcess.invertGridGeometry(Map, Query, GridGeometry).
>
> 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 targetObject, String methodName)
>
> Used to recognise RenderingProcess implementations; returns a non null
> method for RenderingProcess.invertQuery(Map, Query, GridGeometry).
>
> 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
> 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]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>
>


-- 
Martin Davis
OpenGeo - http://opengeo.org
Expert service straight from the developers.
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
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-dev2
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to