jakartaee / jakartaee/saaj-api
Update API to not extend org.w3c.dom
- 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
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