It is too late in the release cycle, I would like to remove it at the start
of the next release cycle. You are correct that DataUtilities has methods
to cover the ArrayDataStore case.

I actually put the class on notice in 2014 when the ContentDataStore
workshop was finally available to help people make the transition.  I tried
again in 2015 (when the references to AbstractDataStore were removed from
the codebase, helped developers at the Philadelphia code sprint transition
their work, and Ian ran the ContentDataStore workshop in Korea). The
ContentDataStore workshop is being run at foss4g again this year and I can
update the description to more forcibly recommend attendance.

I think if you review the recent MemoryDataStore pull request you can see
how ContentEntry (one per data product) and ContentState (one per
transaction) interact more clearly.

ContentDataStore has many advantages:

- the most important is that the code works and is easier to follow
- It provides solid classes for you to extend to maintain state (rather
than the AbstractDataStore technique of using lots of data structures
referenced by type name for the same effect
- By filling a data structure you can control what you will perform, and
what functionality you expect the super class to perform when implementing
getFeatures( Query ). This is better than AbstractDataStore which had
increasingly complex methods for developers to override over time.
- AbstractDataStore expected developers to implement one reader and two
writers (update and append). The writer code often duplicated or extended
the reader code. ContentDataStore asks developers to implement one of each
(the writer delegates to a reader to access content when updating).

I really like Andrea's idea of moving it into a seperate module by way of
providing notice, and would be willing to do such for RC1 as I think
providing firm notice is important.
--
Jody


--
Jody Garnett

On 19 April 2016 at 01:09, Andrea Aime <[email protected]> wrote:

> Hi,
> I see Jody has AbstractDataStore in the crosshairs. The store is
> deprecated, so that one
> good thing, but I believe it's too late in the release cycle to just
> delete it.
>
> Looking at its usage, we still have a few unsupported stores using it, WFS
> (old), VPF, aggregating,
> edigeo, in case we just delete AbstractDataStore those will have to be
> deleted too.
> In core we have ArrayDataStore and CollectionDataStore extending it, both
> deprecated,
> CollectionDataStore does not state how it can be replaced with something
> newer and supported
> though (I assume some DataUtilities method could come to the rescue?).
>
> There is also the issue with existing stores in the wild that are
> extending AbstractDataStore and
> that have been just upgraded quietly for a number of years. I know I have
> a few store around
> connecting to customer internal sources that are still using that class.
>
> Wondering how well we are doing "selling" ContentDataStore migrations?
> Like, do we have a migration guide, or a document explaining what
> advantanges the ContentDataStore
> brings to those that are performing a migration?
>
> To me ContentDataStore is cleaner and I would not start a new
> implementation based on AbstractDataStore
> (though I never really wrapped my head around the ContentEntry thing),
> but overall clean-ness more of an advantage to those maintaining
> ContentDataStore itself, and those implementing
> a store anew.
>
> Do we have anything that will help justify the migration for those that
> mostly care about their implementations,
> in terms of showing it in a positive light, as opposed to "geotools devs
> changed the api on us, we have to rewrite fully now".
>
> Also, do we want to just wipe it out, or move it an unsupported module for
> the next release (more people
> will notice if it suddenly does not show up in their classpath, but we're
> giving them a last "get out of jail"
> free car).
>
> 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
>
> *AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*
>
> Le informazioni contenute in questo messaggio di posta elettronica e/o
> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
> darcene notizia via e-mail e di procedere alla distruzione del messaggio
> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
> principi dettati dal D.Lgs. 196/2003.
>
>
>
> The information in this message and/or attachments, is intended solely for
> the attention and use of the named addressee(s) and may be confidential or
> proprietary in nature or covered by the provisions of privacy act
> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
> Code).Any use not in accord with its purpose, any disclosure, reproduction,
> copying, distribution, or either dissemination, either whole or partial, is
> strictly forbidden except previous formal approval of the named
> addressee(s). If you are not the intended recipient, please contact
> immediately the sender by telephone, fax or e-mail and delete the
> information in this message that has been received in error. The sender
> does not give any warranty or accept liability as the content, accuracy or
> completeness of sent messages and accepts no responsibility  for changes
> made after they were sent or for other risks which arise as a result of
> e-mail transmission, viruses, etc.
>
> ---------------------------------------------------
>
>
> ------------------------------------------------------------------------------
> Find and fix application performance issues faster with Applications
> Manager
> Applications Manager provides deep performance insights into multiple
> tiers of
> your business applications. It resolves application problems quickly and
> reduces your MTTR. Get your free trial!
> https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
> _______________________________________________
> GeoTools-Devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>
>
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to