geomesa / geomesa-geoserver

A GeoMesa community project for GeoServer-GeoMesa modules.
GNU General Public License v2.0
20 stars 17 forks source link

GeoServer 2.15 & GeoTools 21.0 Support #26

Closed joshfix closed 5 years ago

joshfix commented 5 years ago

Hello,

Just curious if there were any way to get these plugins updated for the latest versions of GeoServer and GeoTools.

Thanks!

elahrvivaz commented 5 years ago

Did you try using it in geoserver 2.15? Generally, you can use this project with multiple versions of geoserver. If there was a breaking API change, then we'd need to update the code. We generally keep this project in sync with the main GeoMesa project, so we may update it for the next release in the upcoming months. If the code doesn't work as-is, and you don't want to wait, you could try updating the versions in pom and building it. If you get something working please open a pull request! Thanks,

joshfix commented 5 years ago

Thanks for the quick response!

I'm not 100% certain how to test, but I can definitely fork it and fix an potential API discrepancies and submit a PR.

elahrvivaz commented 5 years ago

Thanks! I'd suggest trying out whatever it is you were planning to do and see if it works with geoserver 2.15 using the latest released artifacts on maven central. If that works, then you shouldn't need to fork/update.

joshfix commented 5 years ago

Looks like there are definitely breaking changes in GeoTools. The gt-data and gt-api modules seem to have gone away in 21.x and certain classes have been refactored to new packages (eg org.geotools.factory.Hints was moved to org.geotools.util.factory.Hints. GeoMesa itself seems to have dependencies on the older version of GT: https://github.com/locationtech/geomesa/blob/master/pom.xml#L73-L74

So the transitive dependencies are causing issues. I suppose I could try updating GeoMesa as well?

elahrvivaz commented 5 years ago

Ah, looks like this will take some effort then. @jnh5y thoughts on how we should proceed?

jnh5y commented 5 years ago

@joshfix @elahrvivaz so good news and bad news... The good news is that I have a rough idea on how the upgrade for GeoMesa to GeoTools 21+. I was at the GT/GWC/GS code sprint where the breaking changes were made.

The bad news is that the changes are non-trivial. As you noted, gt-api and gt-main have gone away. I'm starting a break to support GT 22-SNAPSHOT as a background task. I might work on it more next week at the OSGeo Code Sprint.

@joshfix what's your timeline / level of effort you are willing to contribute?

joshfix commented 5 years ago

This is a pretty major item that is next-up on the TODO list for my customer, so I'll probably be able to put a significant amount of time towards it. The only problem is, I'm not really that familiar with the project, so even if I can get to the place where I can build it with the newer versions, I won't really be able to fully verify functionality outside of any existing tests.

joshfix commented 5 years ago

@elahrvivaz @jnh5y I have a version of geomesa building successfully with geotools 21.1 and geoserver 2.15.1. I realize this issue is on the geoserver plugin repo, but wasn't 100% sure how to proceed and was hoping to get some eyes on my changes before I submit a PR.

You can take a look here: https://github.com/joshfix/geomesa/commit/bbda024d8591a4fb236e3f9bbbb17f2d067a1f23

I'll be out of the office tomorrow and next Monday but will be back Tuesday.

joshfix commented 5 years ago

PR submitted for the plugin: https://github.com/geomesa/geomesa-geoserver/pull/27

elahrvivaz commented 5 years ago

Fixed by https://github.com/geomesa/geomesa-geoserver/pull/27