dotCMS / dotCMS/core

Migrate Jersey internal Base64 to java.util.Base64

Open
#33,859 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dependencies dotCMS : Technical Debt java Priority : 2 High Team : Modernization
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Description

This is Phase 1 of the Jersey upgrade initiative (parent issue #33857). Before upgrading Jersey from 2.28 to 2.43, we must migrate away from Jersey internal Base64 classes, as well as being bad practice to use internal apis from 3rd parties, 2.43 no longer provides these classes and this will need to be done before upgrading

Current Usage: org.glassfish.jersey.internal.util.Base64 in WebResource.java, ApiTokenResource.java, and 16 integration test files.

Migration: Replace with java.util.Base64 standard API.

Why: Jersey internal classes are not public API and may break in newer versions. Must complete before Jersey 2.28 to 2.43 upgrade.

Parent Epic: #33857

Acceptance Criteria

  • [Define what needs to be accomplished]

Additional Notes

[Any additional context or notes]

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 locating the org.glassfish.jersey.internal.util.Base64 usages in WebResource.java, ApiTokenResource.java, and the 16 integration test files. Review each usage against java.util.Base64 and update all affected code; done means no listed Jersey Base64 usages remain and the integration tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, testing
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.