Refactor: CitaviXMLImporter to use StAX parser exclusively
Closes #9539
Refactor: CitaviXMLImporter now uses StAX exclusively, deprecating reliance on JAXB and also improving performance.
All tests from CitaviXmlImporterFilesTest pass successfully.
Steps to test
Run CitaviXmlImporterFilesTest or import a citavi file from jablib/src/test/resources/org/jabref/logic/importer/fileformat
- [x] I own the copyright of the code submitted and I license it under the MIT license
- [/] Change in
CHANGELOG.mddescribed in a way that is understandable for the average user (if change is visible to the user) - [/] Tests created for changes (if applicable)
- [x] Manually tested changed features in running JabRef (always required)
- [x] Screenshots added in PR description (if change is visible to the user)
- [x] Checked developer's documentation: Is the information available and up to date? If not, I outlined it in this pull request.
- [x] Checked documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request to the documentation repository.
You have removed the "Mandatory Checks" section from your pull request description. Please adhere to our pull request template.
Note that your PR will not be reviewed/accepted until you have gone through the mandatory checks in the description and marked each of them them exactly in the format of [x] (done), [ ] (not done yet) or [/] (not applicable).
Also please restore the "How to test" section in the PR description
I'm fine with the change and all tests pass. the citativ tasks Needs to be removed from the gradle scripts now as well
Your code currently does not meet JabRef's code guidelines. We use OpenRewrite to ensure "modern" Java coding practices. You can see which checks are failing by locating the box "Some checks were not successful" on the pull request page. To see the test output, locate "Tests / OpenRewrite (pull_request)" and click on it.
The issues found can be automatically fixed. Please execute the gradle task rewriteRun from the rewrite group of the Gradle Tool window in IntelliJ, then check the results, commit, and push.
I am not sure if this code is more readable and maintainable than the old one.
imho it is. it reduces complexity a lot by easing the build tasks and reducing magic mappings.
please introduce string constants to replace the magic strings, then we can merge.
@trag-bot didn't find any issues in the code! ✅✨