"yes" I am okay with a proposal to use of Map<String,Object>.

I had a look for the prior work, making a *ParameterMap
extend Map<String,Object>*, but could not find it.
--
Jody Garnett


On Sun, 30 Aug 2020 at 23:27, Andrea Aime <andrea.a...@geo-solutions.it>
wrote:

> Hi Jody,
> thanks fo the background info. So, are you ok with switching the API to
> use Object?
> Shall I do a proposal?
>
> Cheers
> Andrea
>
>
> On Mon, Aug 31, 2020 at 4:32 AM Jody Garnett <jody.garn...@gmail.com>
> wrote:
>
>> 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
>>>
>>
>
> --
>
> Regards, Andrea Aime
>
> == 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

Reply via email to