Skip to content

MODWRKFLOW-60: Use and support Java 25.#149

Merged
kaladay merged 11 commits into
masterfrom
MODWRKFLOW-60
May 19, 2026
Merged

MODWRKFLOW-60: Use and support Java 25.#149
kaladay merged 11 commits into
masterfrom
MODWRKFLOW-60

Conversation

@kaladay
Copy link
Copy Markdown
Contributor

@kaladay kaladay commented May 18, 2026

Resolves MODWRKFLOW-60 .

Update minimum Java version to 25.
Tested under Java 25, but minimum Java remains at Java 21.

  • This is done because some of the FOLIO services are not all Java 25 ready yet.

Lombok no longer works and it is easier to just completely remove Lombok rather than to deal with its problems.

  • Add all of the getters and setters.
  • Use the Apache logger instead of Slf4j because Spring-Boot already brings in the Apache logger.

Rename the isIterable() to getIterable() for consistency.

Add missing Has* and other such classes such that the components models all have an annotation enforced getter and setter via interface inheritance.

Fix problems with newer Postgresql (17+) where the schema must be specified.

  • Expose the schema name via DB_SCHEMA.
  • The name includes the tenant name followed by the module name.
  • The old behavior used a schema name more like diku_workflow_service (tenant name plus workflow_service).
  • Ensure that the public is still in the schema search path.

kaladay added 2 commits May 18, 2026 16:20
Update minimum Java version to 25.

**Lombok** no longer works and it is easier to just completely remove **Lombok** rather than to deal with its problems.
  - Add all of the getters and setters.
  - Use the **Apache** logger instead of **Slf4j** because **Spring-Boot** already brings in the **Apache** logger.

Rename the `isIterable()` to `getIterable()` for consistency.

Add missing `Has*` and other such classes such that the components models all have an annotation enforced getter and setter via interface inheritance.

Fix problems with newer Postgresql (17+) where the schema must be specified.
  - Expose the schema name via `DB_SCHEMA`.
  - The name includes the tenant name followed by the module name.
  - The old behavior used a schema name more like `diku_workflow_service` (tenant name plus `workflow_service`).
  - Ensure that the `public` is still in the schema search path.
@kaladay kaladay requested a review from a team May 18, 2026 21:34
kaladay added 9 commits May 18, 2026 16:39
The **FOLIO** services are not all ready for **Java** 25.
Switch the minimum version to 21.

This should still work under both 21 and 25.
The `{}` is not valid for `String.format()`.
Use `%s` instead.
Implement custom function to sanitize input of controller parameters being passed to `String.format()` for logging purposes.

Remove unnecessary throwing of `IOException`.

Remove unnecessary `String.format()` usage.
@sonarqubecloud
Copy link
Copy Markdown

@kaladay kaladay merged commit 0dd186f into master May 19, 2026
17 checks passed
@kaladay kaladay deleted the MODWRKFLOW-60 branch May 19, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants