Skip to content

Issue #574, #575: Upgrade to Weaver 2.3.0-SNAPSHOT, Java 25, Spring Boot 3.5.6#576

Open
tamu-sad-iii wants to merge 13 commits intomainfrom
internal-sprint7-574-575-upgrade
Open

Issue #574, #575: Upgrade to Weaver 2.3.0-SNAPSHOT, Java 25, Spring Boot 3.5.6#576
tamu-sad-iii wants to merge 13 commits intomainfrom
internal-sprint7-574-575-upgrade

Conversation

@tamu-sad-iii
Copy link
Contributor

@tamu-sad-iii tamu-sad-iii commented Oct 21, 2025

This is blocked by TAMULib/Weaver-Webservice-Core#166. Please review the changes there first.

Description

  • Upgrade to Weaver 2.3.0-SNAPSHOT.
  • Upgrade Dockerfile.
    • Switch to Alpine base images of Java 25.
    • Add Fixed Node base image for node-sass compatibility.
  • Removed no longer supported AppH2ConsoleConfig.
  • Update H2 conflicting JPA Column with explicit value quoting the label.
  • Update User role column definition for support with H2.
  • Add meta.stacktrace to expected responses in controller tests.
  • Update implicit @RequestParam as single parameter to be explicit.
  • Update implicit @PathVariable to be explicit.

Resolves #574
Resolves #575

How Has This Been Tested?

  • Locally with mvn clean spring-boot:run
  • Locally with java -jar target\ROOT.war
  • Locally with mvn clean test
  • Locally with docker-compose build --no-cache
  • Labs deployment

Test Configuration:

  • Toolchain: Windows, Java, Maven, Docker
  • SDK:
openjdk version "25" 2025-09-16 LTS
IBM Semeru Runtime Open Edition 25.0.0.0 (build 25+36-LTS)
Eclipse OpenJ9 VM 25.0.0.0 (build 25+36-openj9-0.55.0, JRE 25 Windows 11 amd64-64-Bit Compressed References 20250916_44 (JIT enabled, AOT enabled)
OpenJ9   - 6fb31293be
OMR      - b62e20077
JCL      - 56cc1351c53 based on jdk-25+36)
Apache Maven 3.9.3 (21122926829f1ead511c958d89bd2f672198ae9f)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@tamu-sad-iii tamu-sad-iii marked this pull request as ready for review October 21, 2025 18:50
@tamu-sad-iii tamu-sad-iii requested a review from a team October 21, 2025 18:50
@tamu-sad-iii tamu-sad-iii requested a review from a team October 21, 2025 21:38
I recommend each instance of the intended all parameters be consistent.

I have seen `params`, `parameters`, and `reqFilterMap`.
@tamu-sad-iii tamu-sad-iii changed the base branch from internal-sprint7-staging to main October 24, 2025 13:25
@devangm devangm requested a review from kaladay January 15, 2026 20:48
public abstract class BasicValueOp extends BasicOp {

@Column(nullable = true)
@Column(nullable = true, name = "\"value\"")
Copy link
Contributor

Choose a reason for hiding this comment

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

Its not clear to me why this is done.

The defaults should be fine because it maps to the value name.
There is, however, concerns with the particular database making it uppercase or otherwise transofmring it.

This:

hibernate.globally_quoted_identifiers=true

Seems to be a cleaner, easier to maintain, solution so as to not write all of these name ="\"...\"" everywhere.

Also note that this might need to be configured to:

spring.jpa.properties.hibernate.globally_quoted_identifiers_skip_column_definitions=true

These might be an even better choice so as to avoid having to set the quoting:

spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

I agree with this comment from the end of the last link below:

Although you could automatically quote all identifiers, in reality, it’s much better if you escape only those database objects that include a reserved keyword. This will provide better control than the automatic quoting strategies.

see: https://stackoverflow.com/questions/25283198/spring-boot-jpa-column-name-annotation-ignored
see: https://stackoverflow.com/questions/35697121/jpa-hibernate-camelcase-field/35708531#35708531
see: https://docs.spring.io/spring-boot/docs/1.1.7.RELEASE/reference/htmlsingle/#boot-features-creating-and-dropping-jpa-databases
see: https://vladmihalcea.com/escape-sql-reserved-keywords-jpa-hibernate/

Comment on lines +40 to +43
COPY --from=node /usr/local/bin/ /usr/local/bin/
COPY --from=node /usr/local/lib/ /usr/local/lib/
COPY --from=node /usr/local/share/ /usr/local/share/
COPY --from=node /usr/local/include/ /usr/local/include/
Copy link
Contributor

Choose a reason for hiding this comment

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

This block concerns me.

Co-authored-by: Kevin Day <35114839+kaladay@users.noreply.github.com>
Copy link
Contributor

@kaladay kaladay left a comment

Choose a reason for hiding this comment

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

Approved with the stipulation that there are parts that are unclear to me as to why something is done.
These already have comments on them.

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.

[SAGE] Upgrade Spring Boot to 3.5.x (Latest Stable) [SAGE] Upgrade to Latest LTS Java (Java 25)

4 participants