Hi all, Jumping back into this issue, I was hoping to confirm my understanding of the suggestion.
Is the idea to create a separate new DataStore for my changes, and then a separate new DataStoreFactory which can create the new DataStore using params from the old one? Would this require a whole separate module in the way gt-wfs-ng was? I can sort of imagine how those would look, but what's missing for me is how to actually use them. Unfortunately, I couldn't find much in the way of how to upgrade gt-wfs to gt-wfs-ng. Essentially, I am not sure what a migration looks like or how a user would activate it. Is it something a user does manually, or happens automatically in GeoServer somehow? Cheers, Travis On Fri, May 29, 2020 at 8:56 PM Jody Garnett <jody.garn...@gmail.com> wrote: > I think you can also be a little relaxed as this is a community module; if > folks wanted stability they would be helping you. > -- > Jody Garnett > > > On Fri, 29 May 2020 at 17:14, Travis Brundage <travislbrund...@gmail.com> > wrote: > >> Hey Jody, thanks for the tip! I'll check out that gt-wfsng and gt-wfs and >> update my PR with a proper migration strategy with a datastore factory like >> you suggest. >> >> Cheers, >> Travis >> >> On Fri, May 29, 2020 at 4:11 PM Jody Garnett <jody.garn...@gmail.com> >> wrote: >> >>> We have done this before, you can set up an additional datastore factory >>> that reads the old parameter values and creates he new datastore instance >>> to give folks a chance to migrate smoothly. This is how we made the change >>> from things like gt-wfs to gt-wfsng >>> -- >>> Jody Garnett >>> >>> >>> On Tue, 26 May 2020 at 17:51, Travis Brundage <travislbrund...@gmail.com> >>> wrote: >>> >>>> Greetings all, >>>> >>>> I've pushed some changes to my local branch which allow this to work >>>> with any newly created data stores, but the problem is I've changed the >>>> internal DataStore itself, which means old data stores won't function >>>> properly. Are there any guidelines for migration strategies when making >>>> changes to a DataStore? i.e. How can old versions migrate existing data >>>> stores without needing to recreate them? >>>> >>>> Specifically, I've changed the attribute's date format from a String to >>>> a List of valid date formats: >>>> https://github.com/travisb-fe/geotools/commit/c1e02e0992413453186ab1a649e99791eb6c27d9#diff-c85157669720c9cf0ac769fd6c8b09a1R56 >>>> >>>> Cheers, >>>> Travis >>>> >>>> On Wed, May 20, 2020 at 10:09 AM Travis Brundage < >>>> travislbrund...@gmail.com> wrote: >>>> >>>>> Hey Jody, >>>>> >>>>> Thanks for the suggestion here - I think you're right, and it turns >>>>> out the plugin is already using this, but it just isn't splitting on >>>>> multiple date formats (it's just ingesting it all as a string). So, I >>>>> think >>>>> that will work - I will just split the incoming string on the logical or, >>>>> and add valid date formats to this property descriptor's user mapping (as >>>>> it already was doing), but now with multiple valid date formats instead of >>>>> just the one. So, same idea, but using the architecture already available, >>>>> sounds great. :) >>>>> >>>>> Cheers, >>>>> Travis >>>>> >>>>> On Fri, May 8, 2020 at 5:20 PM Jody Garnett <jody.garn...@gmail.com> >>>>> wrote: >>>>> >>>>>> Thanks for keeping communication up on this Travis, I do not have any >>>>>> reason to use Elasticgeo at present but I recognize the effort you are >>>>>> putting in and thank you. >>>>>> >>>>>> A quick question - doe each column have a specific date format in >>>>>> mind? You could always use the attribute descriptor user map to store the >>>>>> date format to use. The design recognizes that the "basic" information >>>>>> stored in attribute descriptor and attribute type (name/descritor/java >>>>>> binding/etc...) may not be enough to get the job done and provides a user >>>>>> map for you as the developer to track your own extra information such as >>>>>> this. >>>>>> >>>>>> If enough datastore's run into the same need that is when we start >>>>>> pulling out additional methods to address a common need. >>>>>> >>>>>> Reference: >>>>>> - >>>>>> https://docs.geotools.org/latest/javadocs/org/opengis/feature/type/PropertyDescriptor.html#getUserData-- >>>>>> -- >>>>>> Jody Garnett >>>>>> >>>>>> >>>>>> On Fri, 8 May 2020 at 17:02, Travis Brundage < >>>>>> travislbrund...@gmail.com> wrote: >>>>>> >>>>>>> Greetings, >>>>>>> >>>>>>> I wanted to discuss here some proposed changes to the elasticgeo >>>>>>> plugin related to handling multiple valid date formats, as reported in >>>>>>> [GEOT-6577] <https://osgeo-org.atlassian.net/browse/GEOT-6577>. >>>>>>> >>>>>>> As I've mentioned in the ticket, the core reason this issue is >>>>>>> happening is that the DataStore expects there to be just one valid date >>>>>>> format, and that is what it will use for the attribute. Elasticsearch is >>>>>>> not as strict, and permits mappings of multiple valid date formats for >>>>>>> an >>>>>>> index, meaning we can get data with different date formats for the same >>>>>>> attribute. >>>>>>> >>>>>>> To allow this functionality, I plan to change the dateFormat to a >>>>>>> List of String objects, and rename it to validDateFormats. When reading >>>>>>> the >>>>>>> feature, just iterate through the List looking for a date format which >>>>>>> matches the data value. When the data store is parsing the date format >>>>>>> from >>>>>>> elastic, the List will be assigned to the format received, split on >>>>>>> each ||. >>>>>>> >>>>>>> I welcome input on the design here, if there's a more reasonable way >>>>>>> to accomplish this. >>>>>>> >>>>>>> Cheers, >>>>>>> Travis >>>>>>> _______________________________________________ >>>>>>> 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