+1 on the idea. Personally I am fine without a proposal for this one, I do
have a couple of questions though.

Where will the extension point be invoked from? XStreamPersister itself, or
from XStreamPersisterFactory? I would vote for the latter as I think it
would be nice to keep that outside of the persister itself.

Should the interface take an instance of the persister rather than the
underlying xstream? Rationale is that since we expose some other methods on
XStreamPersister that configure how things are encoded I wonder if we may
want to make those (along with future methods) available to the plugins as
well?



On Fri, Apr 18, 2014 at 3:34 AM, Andrea Aime
<[email protected]>wrote:

> Hi,
> when working over a new module there's often a decision to be made, about
> where
> the configuration should be stored and how.
>
> While custom configuration files are a popular choice, they also have
> significant downsides:
> * the config in question cannot be edited via REST config
> * persistance has to be managed by the plugin
> * the config sometimes really is something related to a particular catalog
> resource, so it
>   would be better placed as part of the resource metadata map
>
> Of course one can put whatever is needed in the metadata map, but the
> default
> XStream persistence can leave a lot to be desired, with package names
> included
> in the element names and the like, to the point of making the metadata map
> choice
> less than desirable.
>
> What I'm proposing here is a simple customization to the XStreamPersister
> that
> allows plugins to register converters and aliases for their objects.
> This is probably needed by Sampo for the stored query configuration, and I
> would also
> like to benefit from it.
>
> The interface would be simple:
>
> XStreamPersisterInitializer {
>
>   /**
>    * Allows XStream customizations. Plugins can use this to add aliases and
>    * custom converters for their own configuration objects
>    */
>   void init(XStream xs);
>
> }
>
> This is pretty small, so not sure if a GSIP is required, but if you feel
> like it is,
> let me know.
>
> Feedback welcomed
>
> Cheers
> Andrea
>
>
> --
> ==
> Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
> 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
>
> -------------------------------------------------------
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/NeoTech
> _______________________________________________
> Geoserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
>


-- 
*Justin Deoliveira*
Vice President, Engineering | Boundless
[email protected]
@j_deolive <https://twitter.com/j_deolive>
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to