Idea is to make the map of connection parameters able to be saved,
Map<String, Serializable> is a nice way to indicate this. I think uDig for
example makes use of this. The design was not updated when "real" objects
started being passed in as parameters.

The Parameter
<https://docs.geotools.org/latest/javadocs/org/geotools/data/Parameter.html>
and Param
<https://docs.geotools.org/latest/javadocs/org/geotools/data/DataAccessFactory.Param.html>
clases
have a lot of the logic already to convert from text <---> value, a while
back we talked about making our own Parameters Map implementation to make
this easier and less reliant on reading all the javadocs.
--
Jody Garnett


On Sun, 30 Aug 2020 at 04:56, Ian Turton <ijtur...@gmail.com> wrote:

> I've often wondered as to why that needs to be a Serializable, an object
> makes sense to me.
>
> Ian
>
> On Sun, 30 Aug 2020, 09:07 Andrea Aime, <andrea.a...@geo-solutions.it>
> wrote:
>
>> Hi,
>> while working on cleaning up gt-main I stumbled into this raw type
>> parameter, in DataStoreFinder:
>>
>> public static synchronized DataStore getDataStore(Map params) throws
>> IOException ...
>>
>> https://github.com/geotools/geotools/blob/master/modules/library/main/src/main/java/org/geotools/data/DataStoreFinder.java#L66
>>
>> while the underlying API requires a Map<String, Serializable>:
>>
>> https://github.com/geotools/geotools/blob/master/modules/library/main/src/main/java/org/geotools/data/DataStoreFactorySpi.java#L94
>>
>> as well as the DataAccessFactory sibling:
>>
>> https://github.com/geotools/geotools/blob/master/modules/library/main/src/main/java/org/geotools/data/DataAccessFactory.java#L110
>>
>> At first I thought to fix DataStoreFinder, but then came to realize the
>> API as declared is not a match for the practice.
>> DataStore/DataAccess factory accept all kinds of objects that are not
>> required to be Serializable, are often not Serializable, and don't
>> make sense to be made Serializable, like:
>>
>>    - DataSource in JDBC data stores (e.g., JNDI factories)
>>    - Repository in pre-generalized data store
>>    - (there might be others, I did not perform an exhaustive search)
>>
>> I believe the API should be modified to match practice, and require a
>> "Map<String, ?>" instead.
>> It will still cause a bit of friction, as for example Properties is not a
>> match and cannot be cast to it, but for this particular case we can
>> build a conversion method in DataUtilities.
>>
>> Opinions?
>>
>> Cheers
>> Andrea
>>
>> == GeoServer Professional Services from the experts! Visit
>> http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
>> Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
>> (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
>> http://www.geo-solutions.it http://twitter.com/geosolutions_it
>> ------------------------------------------------------- *Con riferimento
>> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
>> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
>> circostanza inerente alla presente email (il suo contenuto, gli eventuali
>> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
>> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
>> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
>> sarei comunque grato se potesse darmene notizia. This email is intended
>> only for the person or entity to which it is addressed and may contain
>> information that is privileged, confidential or otherwise protected from
>> disclosure. We remind that - as provided by European Regulation 2016/679
>> “GDPR” - copying, dissemination or use of this e-mail or the information
>> herein by anyone other than the intended recipient is prohibited. If you
>> have received this email by mistake, please notify us immediately by
>> telephone or e-mail.*
>> _______________________________________________
>> GeoTools-Devel mailing list
>> GeoTools-Devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>>
> _______________________________________________
> GeoTools-Devel mailing list
> GeoTools-Devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to