jakartaee / jakartaee/saaj-api

Update API to not extend org.w3c.dom

Open
#96 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
19
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Currently the API is built as an extension to DOM (org.w3c.dom) API. With access restrictions to related implementation classes on JPMS (JDK 9+), this implies unnecessary requirement on the SOAP API implementation provider to also provide some implementation of the DOM API, since it is not guaranteed that DOM API implementation as such is extensible.

To remove this obstacle, the SOAP API should be changed in a way it is built on top of DOM API (instead of extending it).
In the other words this means removing `extends org.w3c.dom.Node` from `jakarta.xml.soap.Node`, `extends org.w3c.dom.Element` from `jakarta.xml.soap.SOAPElement`, `extends org.w3c.dom.Text` from `jakarta.xml.soap.Text` and changing `jakarta.xml.soap.SAAJResult`. Additional changes to existing interfaces might be required as well.

It would be also good idea to rename `jakarta.xml.soap.Node` and `jakarta.xml.soap.Text` so they don't _hide_ existing DOM interfaces.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing jakarta.xml.soap.Node, SOAPElement, Text, and SAAJResult, focusing on their current relationships with org.w3c.dom. Determine the additional interface changes and naming implications needed to build on top of DOM rather than extend it. Done means the API no longer extends the specified DOM interfaces and SAAJResult is updated consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.