Skip to content

Align GeoFence to GeoServer3 #284

@etj

Description

@etj

GeoServer is having a big lib upgrade, so GeoFence should be compatible with it.

Main changes:

  • JDK main libraries have been moved to jakarta packages
  • Spring have been upgraded to 7.0.x
  • Hibernate has been upgraded to 7.1.x
  • Removed H2 compatibility. Tests are performed on PG via TestContainers.
  • Spring remoting is no longer available, so the standalone GeoFence configuration has to rely on REST only
  • Replace CXF with Jersey
  • Simplified packages hierarchy

GeoFence core packages (the ones used inside GeoServer in the embedded configuration), have been moved into the package `org.geofence.core' for more clarity.

Some classes of the core model were expected to be used in the DTO (services + REST) objects. Now everything external should only rely on the geofence-rest-api module.
Also, services (declared in geofence-services-api) are no longer used remotely (they where used by GeoServer via Spring-remoting), so their DTO do not need to be serializable anymore. Furthermore, some DTOs were using core model classes.
The core model does not need anymore xml-bind annotations, since the only streamable classes are the REST DTO.

Since most of the files will be changed (making diffs with previous release difficult), we're using this refactor also for some "cosmetic" changes, using the same sortpom and spotless plugins used by GeoServer.

The aligned version will be 3.9.

We will not to increment it further (at least in the second digit) until GeoServer will reach its 3.9. Once GeoServer will reach 3.9, we may keep versions aligned.

Metadata

Metadata

Assignees

Labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions