Skip to content

HTM-1852 | HTM-1964: Upgrade to GeoTools 35.0 and re-instate GeoJSON extract#1806

Open
mprins wants to merge 2 commits into
mainfrom
HTM-1852_HTM-1964_geotools-35.0_geojson-extract
Open

HTM-1852 | HTM-1964: Upgrade to GeoTools 35.0 and re-instate GeoJSON extract#1806
mprins wants to merge 2 commits into
mainfrom
HTM-1852_HTM-1964_geotools-35.0_geojson-extract

Conversation

@mprins

@mprins mprins commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

HTM-1852 Powered by Pull Request Badge

HTM-1964

@mprins mprins self-assigned this Jun 23, 2026
@mprins mprins added enhancement New feature or request dependencies Pull requests that update a dependency file labels Jun 23, 2026
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 2 package(s) with unknown licenses.
See the Details below.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 76c9d0f.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

License Issues

pom.xml

PackageVersionLicenseIssue Type
org.geotools:gt-bom35.0NullUnknown License
org.geotools:gt-excel-writer35.0NullUnknown License
Allowed Licenses: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MPL-2.0, LGPL-2.1-only, EPL-2.0, EPL-1.0, LicenseRef-scancode-oracle-free-2018
Excluded from license check: pkg:maven/org.eclipse.angus/jakarta.mail@2.0.5?type=jar, pkg:maven/jakarta.ws.rs:jakarta.ws.rs-api@4.0.0?type=jar, pkg:maven/jakarta.xml.bind:jakarta.xml.bind-api@4.0.5?type=jar

OpenSSF Scorecard

PackageVersionScoreDetails
maven/org.geotools:gt-bom 35.0 UnknownUnknown
maven/org.geotools:gt-excel-writer 35.0 UnknownUnknown

Scanned Files

  • pom.xml

@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

Test Results

639 tests  +639   636 ✅ +636   2h 57m 28s ⏱️ + 2h 57m 28s
 59 suites + 59     1 💤 +  1 
 59 files   + 59     2 ❌ +  2 

For more details on these failures, see this check.

Results for commit 76c9d0f. ± Comparison against base commit 9f86afc.

♻️ This comment has been updated with latest results.

mprins added a commit that referenced this pull request Jun 26, 2026
remove automagic wms/wfs relation creation from testdata setup and cleanup unused code; this will make our test setup more explicit and reliable

related to #1806
@mprins mprins force-pushed the HTM-1852_HTM-1964_geotools-35.0_geojson-extract branch from 143c166 to 5633a2d Compare June 26, 2026 12:25
@mprins mprins force-pushed the HTM-1852_HTM-1964_geotools-35.0_geojson-extract branch from 5633a2d to 1a0afed Compare July 3, 2026 08:06
@mprins mprins marked this pull request as ready for review July 3, 2026 14:44
Copilot AI review requested due to automatic review settings July 3, 2026 14:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the project to GeoTools 35.0 and restores GeoJSON as a supported extract output format, while also hardening/adjusting GeoTools XML entity resolution to keep local-entity blocking in place but allow GeoServer-style dynamic DescribeFeatureType schema requests.

Changes:

  • Bump GeoTools dependency version to 35.0 and (re-)enable GeoJSON extract output via default configuration.
  • Add TMPreventLocalEntityResolver and initialize GeoTools on startup with this preferred resolver.
  • Re-enable the GeoJSON extract integration test that previously depended on newer GeoTools behavior.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pom.xml Updates GeoTools version property to 35.0.
src/main/resources/application.properties Adds geojson to allowed extract output formats.
src/test/resources/application.properties Mirrors allowed extract output formats update for tests.
src/main/java/org/tailormap/api/geotools/TMPreventLocalEntityResolver.java Introduces a custom entity resolver to permit specific DescribeFeatureType requests.
src/test/java/org/tailormap/api/geotools/TMPreventLocalEntityResolverTest.java Adds unit tests covering allowed/blocked resolver behaviors.
src/main/java/org/tailormap/api/geotools/featuresources/WFSFeatureSourceHelper.java Configures WFS datastore to use the custom resolver.
src/main/java/org/tailormap/api/configuration/GeoToolsConfiguration.java Initializes GeoTools with preferred hints/resolver at application startup.
src/test/java/org/tailormap/api/controller/LayerExtractControllerIntegrationTest.java Re-enables the GeoJSON export integration test by removing @DisabledUntil.

* Initialise GeoTools on application startup and set our preferred entity resolver

Use a Configuration to initialise GeoTools

* Add an entity resolver that explicity allows DescribeFeatureType (dynamic schema) requests to work around https://osgeo-org.atlassian.net/browse/GEOT-7916

Use a precompiled regex for DescribeFeatureType request checking

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@mprins mprins force-pushed the HTM-1852_HTM-1964_geotools-35.0_geojson-extract branch from 2a76d47 to 76c9d0f Compare July 3, 2026 15:08
@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
705 2 703 1
View the full list of 2 ❄️ flaky test(s)
org.tailormap.api.controller.admin.GeoServiceAdminControllerIntegrationTest::check_cors_header_is_saved

Flake rate in main: 5.56% (Passed 17 times, Failed 1 times)

Stack Traces | 5000s run time
Status expected:<201> but was:<400>
org.tailormap.api.controller.admin.GeoServiceAdminControllerIntegrationTest::refresh_capabilities

Flake rate in main: 5.56% (Passed 17 times, Failed 1 times)

Stack Traces | 5000s run time
Status expected:<201> but was:<400>

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants