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