-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
GUI for consistency check #12433
GUI for consistency check #12433
Conversation
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.
JUnit tests are failing. In the area "Some checks were not successful", locate "Tests / Unit tests (pull_request)" and click on "Details". This brings you to the test output.
You can then run these tests in IntelliJ to reproduce the failing tests locally. We offer a quick test running howto in the section Final build system checks in our setup guide.
Recording.2025-01-31.mp4Added a table, but figuring out how to proceed with inserting data into the table as shown in the UI. Please review. |
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.
JUnit tests are failing. In the area "Some checks were not successful", locate "Tests / Unit tests (pull_request)" and click on "Details". This brings you to the test output.
You can then run these tests in IntelliJ to reproduce the failing tests locally. We offer a quick test running howto in the section Final build system checks in our setup guide.
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.
Just by a quick look two remarks
Also about the picture in the issue: The user needs some hints what o and ? and so on mean. It must be understandable somehow right away.
src/main/java/org/jabref/logic/quality/consistency/ConsistencyMessage.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialogViewModel.java
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialogViewModel.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialogViewModel.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialogViewModel.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckDialog.java
Outdated
Show resolved
Hide resolved
src/main/java/org/jabref/gui/consistency/ConsistencyCheckAction.java
Outdated
Show resolved
Hide resolved
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.
Your code currently does not meet JabRef's code guidelines.
We use Checkstyle to identify issues.
Please carefully follow the setup guide for the codestyle.
Afterwards, please run checkstyle locally and fix the issues.
In case of issues with the import order, double check that you activated Auto Import.
You can trigger fixing imports by pressing Ctrl+Alt+O to trigger Optimize Imports.
5b9e279
to
09251a8
Compare
Co-authored-by: Houssem Nasri <housi.housi2015@gmail.com>
…95/jabref into consistencyGuiCheck
I have taken a lot of code as it is from the |
Recording.2025-02-03.mp4The table is displaying data correctly. What remains to be done:
|
The icon description is wrong, it should be:
This is also modeled in Lines 43 to 46 in 13870d8
|
Oh! totally overlooked it. I have checked other places, and it is correct. |
Either i dont understand one comment or its an artifact from another pr? |
Everything else looks good to go. Thanks for your great addition! |
Head branch was pushed to by a user without write access
@Override | ||
public String toString() { | ||
return "[" + message() + "]"; | ||
} |
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.
This is redundant here, as records provide a built-in toString method.
The purpose of this method elsewhere in the codebase is when multiple fields are required, like "[ " + bibEntry.getCitationKey() + ", " + message.toString() + " ]". However, the message field itself already includes the citationKey.
jabref/src/main/java/org/jabref/logic/integrity/IntegrityMessage.java
Lines 11 to 14 in 39d7971
@Override | |
public String toString() { | |
return "[" + entry().getCitationKey().orElse(entry().getAuthorTitleYear(50)) + "] in " + field.getDisplayName() + ": " + message(); | |
} |
In the follow up PR, should I also remove this.
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.
Yes
@priyanshu16095 Thank you for the work on this - would you feel comfortable to write a blog entry for this? (JabRef/blog.jabref.org#108) - I think, you have enough domain knowledge to explain? In your screenshot, I saw that there is the column "Pages" filled with "O". That should not happen - if everything is the same (presence), then there should be no output - or is the logic different. Finally, the logic of the consistency check maybe should ignore JabRef's fields (ranking in your example). That can be a follow-up. Maybe even configurable during the check itself? |
Sure! I'd be happy to write a blog entry for this. I'll check why the "Pages" column is showing "o" and adjust the logic if needed. Ignoring JabRef-specific fields in the consistency check sounds like a good idea. I'll definitely try it in a follow-up. |
Nice! In parallel, I would ask for a text for https://github.com/JabRef/user-documentation. I think, there is an overlap of 80% 😅 (Which is OK!). The blog won't evolve later, but the user documention 😅 |
Understood! I’ll ensure the core content fits both needs. |
Fixes #11950
This PR introduces a GUI for a bibliography consistency check to ensure consistency among BibTeX entries.
Mandatory checks
CHANGELOG.md
described in a way that is understandable for the average user (if change is visible to the user)