-
Notifications
You must be signed in to change notification settings - Fork 88
Add optional Inspire extension support to GeoServer Cloud #617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2382adc
to
f90a835
Compare
Seems a test is failing now. I will try to address this soon |
9d44d88
to
f9d025d
Compare
I could fix the code to not break any existing unit tests (so |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, this is good thanks.
I'm gonna ask you just a couple things:
- rebase on top of main and use
@ImportFilteredResource
instead of@ImportResource
as introduced in #621 - extract the fix to
LiteralDeserializer
to a separate pull request with tests for it
The other thing is I'd rather have a single module for the Inspire extension instead of the autoconfigurations being spread out over the different apps. But I won't make it a blocker cause I'm planning on making it more clear both in code and documentation, so we'll probably move them to their own extensions/inspire
module later on a single refactoring.
if (null == contentType) { | ||
value = parser.readValueAs(ArrayList.class); | ||
// store the values to parse the collection later |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please create a separate pull request for LiteralDeserializer with test cases.
You can extend ExpressionSerializationTest
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 rebase is done and push-forced. I also switched to the @ImportFilteredResource
will start a separate branch for the LiteralDeserializer
now
f9d025d
to
ca330fa
Compare
I created a separate PR for the This also contains some more improvements compared to the previous changes. In case it can be merged, I would rebase and adjust this one here again. |
ca330fa
to
2128f19
Compare
@groldan I am planning to add more extensions. Would be great to know how you want to have such extensions included. Is there any existing integration that I could learn from or are you planning a new approach here? |
Hi @buehner, I've been organizing extensions in the src/extensions project, with some basic docs on how to add extensions Basically all apps will depend on Please update this PR to follow that pattern instead of having to touch the applications themselves. I hope this helps in creating self-contained and self-explanatory extensions. Let me know if you have any question. |
FYI I am currently rebasing and refactoring this against the latest changes. I will push force here when ready |
2128f19
to
1dbfe20
Compare
@groldan I made an update to your latest refactoring. Thank you for the explanations. But for the time being, this is still WIP as I'd like to clarify two things:
|
I see. |
btw I think it's great to have extension's integration tests in the apps, but make them standalone, not extending other tests (e.g. |
The reason is that the INSPIRE extension just adds some elements to Capabilities XMLs (WMS, WFS, WCS, WMTS), so I just wanted to re-use the existing test setups in that context. |
1dbfe20
to
4e8968b
Compare
FYI I am still refactoring/creating in the test context. Will push force soon |
0557b4f
to
819029f
Compare
36b4133
to
568f8f5
Compare
@groldan I think this is ready for another review. I rebased, resolved the conflicts and refactored tests to the So this is a clean PR now, making changes to |
568f8f5
to
bca815c
Compare
Co-authored-by: Daniel Koch <koch@terrestris.de> Co-authored-by: Andreas Schmitz <schmitz@terrestris.de> Co-authored-by: Michael Holthausen <holthausen@terrestris.de>
bca815c
to
283d93f
Compare
Hi @buehner, I had already release 2.27.0.0 when I saw your updates, so I reverted the release and merged this pr to be included in 2.27.0.0. |
Description: This PR introduces the optional activation of the Inspire extension in GeoServer Cloud. The Inspire extension enhances GetCapabilities documents for WMS, WFS, WCS, and WMTS to comply with metadata requirements from the European Union.
Key Changes:
geoserver.extension.inspire.enabled=false
(activate the integration withtrue
) add config for inspire extension geoserver-cloud-config#21Fix for Deserialization Issues with pgconfig:
When using pgconfig, deserialization issues arose due to JSONB column handling. Specifically, the
LiteralDeserializer
expected attributes to be parsed in a specific order (1.contentType
, 2.value
), which was not guaranteed with JSONB storage. This caused issues (especially in case of WCS and WMTS as they persist aspatialDatasetIdentifier
property, see below). The PR implements a fallback to handle cases where thevalue
attribute is parsed beforecontentType
.Example JSONB Snippet from the
info
column of theserviceinfo
table:Looking forward to your feedback @groldan 😄