dotCMS / dotCMS/core

Task 3.3: Migrate JAXB Dependencies

Open
#32,685 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dotCMS : Technical Debt Team : Platform Type : Task
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Task Description

Replace dot.jaxb-* with standard Jakarta XML Bind dependencies

Status: 🔄 PENDING
Scope
  • Remove dot.jaxb-api, dot.jaxb-core, dot.jaxb-impl from POM files
  • Ensure standard Jakarta XML Bind dependencies from BOM
  • Update XML binding functionality to use standard APIs
  • Test XML serialization/deserialization across application
Implementation Plan
  1. Analysis Phase:

    • Review current JAXB usage patterns
    • Identify XML binding functionality in codebase
    • Document XML schemas and binding configurations
  2. Dependency Update:

    • Remove com.dotcms.lib:dot.jaxb-api from BOM and dotCMS POM
    • Remove com.dotcms.lib:dot.jaxb-core from BOM and dotCMS POM
    • Remove com.dotcms.lib:dot.jaxb-impl from BOM and dotCMS POM
    • Confirm standard Jakarta XML Bind dependencies in BOM
  3. Code Migration:

    • Find any repackaged JAXB imports (if any)
    • Replace with standard Jakarta XML Bind imports
    • Update XML binding configurations
    • Verify annotation processing works correctly
  4. Testing:

    • Test XML serialization functionality
    • Test XML deserialization functionality
    • Verify XML schema validation works
    • Run XML-related unit and integration tests
Acceptance Criteria
  • [ ] All repackaged JAXB dependencies removed from POM files
  • [ ] Standard Jakarta XML Bind dependencies confirmed in BOM
  • [ ] All XML processing tests pass
  • [ ] No XML binding functionality lost
  • [ ] XML serialization/deserialization works correctly
  • [ ] Schema validation functions properly
Claude Assistance Benefits
  • Import Updates: Claude can identify and update any JAXB imports
  • XML Analysis: Help analyze XML binding usage patterns
  • Testing Support: Identify XML-related test cases
  • Configuration Review: Help review XML binding configurations
Related
  • Epic: #32675 - Remove Repackaged Dependencies
  • Phase: 3 - Medium-Risk Migrations
  • Priority: Medium
  • Estimated Effort: 2-3 days (with Claude assistance)
Technical Notes
  • JAXB is used for XML binding and marshalling
  • Migration from Java EE to Jakarta EE APIs
  • Verify annotation processing works correctly
  • Check for any custom XML binding configurations
  • Important for XML-based integrations
Risk Mitigation
  • Comprehensive testing of XML functionality
  • Verify all XML schemas work correctly
  • Performance testing for XML operations
  • Rollback plan for JAXB changes

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the BOM and dotCMS POM files mentioned in the scope, then locate XML binding usage, configurations, and related unit and integration tests. Done means the repackaged dependencies are removed, standard Jakarta XML Bind dependencies are confirmed, and serialization, deserialization, schema validation, and XML processing tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.