(This is a follow-up to #13584)
We have a library consistency check for checking whether fields in a set of entries are set/unset consistently. Currently, this is aware of the difference of BibTeX and BibLaTeX, but not Custom Entry Types
⚠ This is a good excercise to learn test-driven development and using a data model. This issue cannot be solved with an AI. You really have to think though BibTeX and BibLaTeX for yourself! Take this issue only if you are willing to invest significant time. ⚠
Example entry - from https://dblp.org/rec/journals/sqj/IftikharBAK25.html
@article{DBLP:journals/sqj/IftikharBAK25,
author = {Umar Iftikhar and
J{\"{u}}rgen B{\"{o}}rstler and
Nauman Bin Ali and
Oliver Kopp},
title = {Supporting the identification of prevalent quality issues in code
changes by analyzing reviewers' feedback},
journal = {Softw. Qual. J.},
volume = {33},
number = {2},
pages = {22},
year = {2025},
url = {https://doi.org/10.1007/s11219-025-09720-9},
doi = {10.1007/S11219-025-09720-9},
timestamp = {Mon, 12 May 2025 21:02:32 +0200},
biburl = {https://dblp.org/rec/journals/sqj/IftikharBAK25.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
It contains bibourl and bibsource
One could make these two fields required.
@article{withBibSource,
journal = {Softw. Qual. J.},
bibsource = {2025}
}
@article{withoutBibSource,
journal = {Softw. Qual. J.},
}
With the existing consistency check, bibsource is reported as unknown. If the entry type article is modified to have this as optional field, it is reported as optional.
Task
- Modify
org.jabref.logic.quality.consistency.BibliographyConsistencyCheck to use org.jabref.model.entry.BibEntryTypesManager instead of org.jabref.model.entry.types.BiblatexEntryTypeDefinitions#ALL
Hints
- Do test-driven development. Start at
org.jabref.logic.quality.consistency.BibliographyConsistencyCheckTest. Do not modify existing tests; add new ones.
- Look into
org.jabref.model.entry.BibEntryTypesManagerTest for how to mock BibEntryTypesManager.
- Do not get confused with "library" and "database". User-facing we talk about "library", inside the code, we use "database", but mean "library".
(This is a follow-up to #13584)
We have a library consistency check for checking whether fields in a set of entries are set/unset consistently. Currently, this is aware of the difference of BibTeX and BibLaTeX, but not Custom Entry Types
⚠ This is a good excercise to learn test-driven development and using a data model. This issue cannot be solved with an AI. You really have to think though BibTeX and BibLaTeX for yourself! Take this issue only if you are willing to invest significant time. ⚠
Example entry - from https://dblp.org/rec/journals/sqj/IftikharBAK25.html
It contains
bibourlandbibsourceOne could make these two fields required.
With the existing consistency check,
bibsourceis reported asunknown. If the entry typearticleis modified to have this as optional field, it is reported as optional.Task
org.jabref.logic.quality.consistency.BibliographyConsistencyCheckto useorg.jabref.model.entry.BibEntryTypesManagerinstead of org.jabref.model.entry.types.BiblatexEntryTypeDefinitions#ALLHints
org.jabref.logic.quality.consistency.BibliographyConsistencyCheckTest. Do not modify existing tests; add new ones.org.jabref.model.entry.BibEntryTypesManagerTestfor how to mockBibEntryTypesManager.