-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Readability for citation key patterns #6706
Readability for citation key patterns #6706
Conversation
Inlining the deprecated method.
Any references in the `String` should already have been resolved by `getResolvedFieldOrAlias`.
On Mac OS X this test case generates an error. The changes should reflect the intent of the test (i.e., are the lists referring to the same files).
src/main/java/org/jabref/logic/citationkeypattern/BracketedPattern.java
Outdated
Show resolved
Hide resolved
String[] changed to List<String> and some refactoring
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for working on it! To ease reviewing could you add @Test
cases for the issue you fixed? By quickly looking at it, I see many lines changed, but no test cases re-activated or added.
For your discussion of the consequences, maybe an ADR could be the proper format.
A test case for this particular issue (where starting brackets can cause a problem) will be added! It is just taking a bit of time since I haven't been able to spend as much time on this as I would have wanted 🙁
I should have written most of the pull request in ADR format? |
The tests check if authors with names containing Unicode returns the correct number of characters in the citation key.
src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java
Outdated
Show resolved
Hide resolved
Co-authored-by: Oliver Kopp <kopp.dev@gmail.com>
The result of expanding a bracket must be cleaned before applying modifiers that depends on the number of characters in the result. (truncate)
This fix extends a previous workaround in BracketedPattern.authN. It does not solve the underlying issue.
…dSMPHz27/jabref into fix-for-issue-3920
# Conflicts: # src/test/java/org/jabref/logic/citationkeypattern/BracketedPatternTest.java # src/test/java/org/jabref/logic/citationkeypattern/CitationKeyGeneratorTest.java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seeing the long list of changes, I would suggest to merge this in - and then work on the two remaining open points. - Otherwise, it will get harder and harder to review.
Nevertheless, a short nitpick on the logger.
(Sorry for review delay)
src/main/java/org/jabref/logic/citationkeypattern/BracketedPattern.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/logic/citationkeypattern/BracketedPattern.java
Outdated
Show resolved
Hide resolved
Is it possible to fix checkstyle? This does not look good:
|
Co-authored-by: Oliver Kopp <kopp.dev@gmail.com>
Co-authored-by: Oliver Kopp <kopp.dev@gmail.com>
Sorry about that. I didn't really expect to go down this route. After the merge I'll open up a PR for issue #6892 dealing with parsing. |
No need to be sorry. I have to thank you that you keep working on the PR even if much time is spend on the code quality.
Year, thank you for that!
Sure, step by step. |
…-issue-6707 * upstream/master: (35 commits) Fix a fetcher test for the ShortDOIService (#6945) Fixes Shared Database: Changes filtering in CoarseChangeFilter to attribute property (#6868) Changed default value of "search and store files relative to bibtex file" to true (#6928) Replace comment by just a failure (#6943) Fix: in entry types editor selected field is not removed after first click (#6941) Fix remove actions for entry types in the editor (#6933) Always use Java 15 (#6929) Update DevDocs: workaround for issues with local openjfx maven libraries (#6931) Fixes bugs in the `regex` cite key pattern modifier (#6893) Add missing author Readability for citation key patterns (#6706) Add new author Reset to master and add default case to switch (#6847) Bump mockito-core from 3.5.10 to 3.5.11 (#6924) Bump byte-buddy-parent from 1.10.14 to 1.10.15 (#6923) Bump org.beryx.jlink from 2.21.4 to 2.22.0 (#6925) Bump xmpbox from 2.0.20 to 2.0.21 (#6926) Bump pascalgn/automerge-action from v0.9.0 to v0.10.0 (#6927) Improve parsing of short DOIs (#6920) Bump junit-vintage-engine from 5.6.2 to 5.7.0 (#6910) ...
* upstream/master: (55 commits) Rename menus citation style in preview style (#6899) Fix for some Unicode characters in citation keys (#6938) Add missing authors Fix a fetcher test for the ShortDOIService (#6945) Fixes Shared Database: Changes filtering in CoarseChangeFilter to attribute property (#6868) Changed default value of "search and store files relative to bibtex file" to true (#6928) Replace comment by just a failure (#6943) Fix: in entry types editor selected field is not removed after first click (#6941) Fix remove actions for entry types in the editor (#6933) Always use Java 15 (#6929) Update DevDocs: workaround for issues with local openjfx maven libraries (#6931) Fixes bugs in the `regex` cite key pattern modifier (#6893) Add missing author Readability for citation key patterns (#6706) Add new author Reset to master and add default case to switch (#6847) Bump mockito-core from 3.5.10 to 3.5.11 (#6924) Bump byte-buddy-parent from 1.10.14 to 1.10.15 (#6923) Bump org.beryx.jlink from 2.21.4 to 2.22.0 (#6925) Bump xmpbox from 2.0.20 to 2.0.21 (#6926) ... # Conflicts: # src/main/java/org/jabref/logic/util/DelayTaskThrottler.java
Fixes #3920.
The issue is that
AuthorList#fixAuthorForAlphabetization
is used to create aString
representation of authors' names. This can leave unbalanced brackets if a name piece starts with a latex command, as it is not the intended use of the method.The suggested fix is to resolve latex in the name of an author and then remove any illegal characters in the post-processing (which is dependent on if it is going to be used as a file path or citation key). As Unicode characters are already allowed in the name of an author, this change should not affect users too much. It will, however,
As always, these are only suggestions. Any comments and criticism are encouraged!
The "intuition" behind the suggestion is that latex in Strings will always be hard to deal with, and I think most users expect a pattern to resolve to something as similar as possible to what is shown in the main table.
What remains
CitationKeyGenerator
does not output Unicode keysremove thelatex_to_unicode
modifier as it should not be usedBracketedPattern
, I'd suggest that most should be private or protectedchange how arguments are parsed forauth.../ed...
patterns (readability)CitationKeyGenerator