On Wed, Jul 30, 2014 at 7:35 PM, Jody Garnett <[email protected]>
wrote:
> Hi Andrea, I did not have much constructive feedback - all my ideas bash
> around the edge of your problem in order to determine scope. Sometimes this
> comes across as making more work for you so I have remained quiet.
>
> So let me try and sort out your email - if I put all the ideas you listed
> into an interface I get something like:
>
> interface PPIOFactory {
> List< ProcessParameterIO > getProcessParameterIO();
> }
> interface ProcessParameterIO {
> * static ProcessParameterIO find(Parameter<?> p, ApplicationContext
> context, String mime) *
> * static List<ProcessParameterIO> findAll(Parameter<?> p,
> ApplicationContext context)*
>
> String getIdentifer()
> Class getExternalType()
> Class getType()
> boolean isReadSupported()
> boolean isWriteSupported();
> }
> interface ComplexPPIO extends ProcessParameterIO {
> Object decode( InputStream input );
> public Object decode( Object input );
> void encode( Object value, OutputStream os);
> String getFileExtension();
> String getMimeType() ;
> }
>
> Quick takes:
> - getProcessParameterIO implies a single item, not a list
>
getProcessParameterIOs() ?
getAllProcessParameterIO() ?
> - The base ProcessParameterIO has static methods to look for stuff, may
> consider making similar "find" methods rather than create a List.
>
Hmm... no, the lookup logic in ProcessParameterIO.find is not simple, we
don't want it duplicated around.
The factory is there to generate PPIOs so that ProcessParameterIO can
register them and use them later for lookups
> - Marker Interfaces ProcessParameterInput and ProcessParameterOutput are
> clear, but a bit annoying for a dynamic data structure. Would prefer
> methods as you described or an Enum to check
>
Roger that, no problem
> - PPIO to start a class name? Call that ProcessParameterIOFactory for
> clarity
>
No problem here
> - Telling apart XML/text/Binary is the heart of this problem. Crack that
> and then build factory after.
>
I lost you there. A factory can build all three types at the same time.
> - How to represent combination input/output/mime types? Either list the
> same format multiple times (once for each combination) or create a
> MultplexProcessParameterIO
>
The above sentence has no meaning to me, don't believe it matches the
current PPIO design.
> - I suspect as this grows up input/output flavours we will need to
> enable/disable much like ProcessFactory
>
I disagree here, what we are likely going to want is to enable/disable the
PPIOs on a per process basis, and
we already have the mechanism to do so, we lack GUI and configuration for
it.
Cheers
Andrea
--
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel