Skip to content

Conversation

marcusportmann
Copy link

Hello,

I have made changes to the project to enable it to work on both JDK 11 and 17.

I have migrated the JAXB implementation to Jakarta XML Binding 3.0.

I have removed support for both Cglib and the "cobertura-maven-plugin" Maven plugin, which is not supported on JDK11 and JDK17.

trumpyla
trumpyla previously approved these changes Aug 8, 2025
@trumpyla trumpyla requested a review from Copilot August 9, 2025 23:20
Copy link

@Copilot Copilot AI left a comment

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 modernizes the project to support JDK 11 and 17 by migrating from javax XML binding to Jakarta XML Binding 3.0, removing deprecated CGLib dependencies, and upgrading various Maven plugins and dependencies.

  • Migrated from javax.xml.bind to jakarta.xml.bind packages across all JAXB-related code
  • Removed CGLib dependency and replaced it with DefaultInvocationFactory for method invocations
  • Updated EasyMock test code to use modern Capture.newInstance() constructor pattern

Reviewed Changes

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

Show a summary per file
File Description
xacml-test/src/main/java/org/xacml4j/v20/Xacml20TestUtility.java Updated JAXB imports from javax to jakarta
xacml-core/src/test/java/org/xacml4j/v30/spi/repository/DefaultPolicyReferenceResolverTest.java Modernized EasyMock Capture instantiation
xacml-core/src/test/java/org/xacml4j/v30/spi/pip/DefaultPolicyInformationPointTest.java Modernized EasyMock Capture instantiation
xacml-core/src/test/java/org/xacml4j/v30/pdp/profiles/* Modernized EasyMock Capture instantiation across multiple test files
xacml-core/src/test/java/org/xacml4j/v30/pdp/*.java Modernized EasyMock Capture instantiation and cast fixes
xacml-core/src/test/java/org/xacml4j/v30/marshal/jaxb/*.java Updated JAXB imports from javax to jakarta
xacml-core/src/test/java/org/xacml4j/util/InvocationBenchmark.java Removed CGLib benchmark tests
xacml-core/src/test/java/org/xacml4j/util/CglibInvocationFactoryTest.java Deleted entire CGLib test file
xacml-core/src/main/xsd/xacml.xjb Updated JAXB binding configuration for Jakarta
xacml-core/src/main/java/org/xacml4j/v30/spi/function/*.java Replaced CGLib with DefaultInvocationFactory
xacml-core/src/main/java/org/xacml4j/v30/marshal/jaxb/*.java Updated JAXB imports from javax to jakarta
xacml-core/src/main/java/org/xacml4j/util/CglibInvocationFactory.java Deleted entire CGLib implementation file
xacml-core/pom.xml Updated Maven plugin and removed CGLib dependency
xacml-conformance-tests/src/test/java/org/xacml4j/v20/Xacml20ConformanceTest.java Updated JAXB imports from javax to jakarta
pom.xml Updated dependency versions and removed CGLib, commented out cobertura plugin
.java-version Added Java version specification

@trumpyla
Copy link
Contributor

trumpyla commented Aug 9, 2025

@marcusportmann Good stuff!

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@trumpyla
Copy link
Contributor

trumpyla commented Aug 9, 2025

I think for better performance I will add JDK 17 MethodHandle based invocation factory, but in different PR @marcusportmann

@trumpyla trumpyla dismissed their stale review August 9, 2025 23:24

Need to make sure PR builder and code scan is good :)

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