Add and implement JSpecify ADR#13957
Merged
Merged
Conversation
# Conflicts: # jabls/src/main/java/module-info.java
subhramit
reviewed
Sep 22, 2025
subhramit
left a comment
Member
There was a problem hiding this comment.
Very minor refinements on ADR
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
tsantalis
added a commit
to tsantalis/RefactoringMiner
that referenced
this pull request
Sep 23, 2025
JabRef/jabref#13957 jabls/src/main/java/module-info.java
5743070 to
09bb5a5
Compare
|
@trag-bot didn't find any issues in the code! ✅✨ |
subhramit
reviewed
Sep 25, 2025
| @Override | ||
| public void setSelectedGroups(BibDatabaseContext context, List<GroupTreeNode> newSelectedGroups) { | ||
| Objects.requireNonNull(newSelectedGroups); | ||
| public void setSelectedGroups(BibDatabaseContext context, @NonNull List<GroupTreeNode> newSelectedGroups) { |
Member
Author
There was a problem hiding this comment.
Can always be changed. My method was only: monkey see, monkey do.
Change was made bc of change in interface. Can be discussed in static analysis followup pr.
Member
There was a problem hiding this comment.
In case all nullable variables are marked @Nullable, one can mark the whole class as @NullMarked and can remove all the @NonNull annotations.
subhramit
reviewed
Sep 25, 2025
Comment on lines
+28
to
+32
| PersonNameSuggestionProvider(@NonNull Field field, BibDatabase database) { | ||
| this(List.of(field), database); | ||
| } | ||
|
|
||
| public PersonNameSuggestionProvider(Collection<Field> fields, BibDatabase database) { | ||
| public PersonNameSuggestionProvider(@NonNull Collection<Field> fields, BibDatabase database) { |
Member
There was a problem hiding this comment.
similar qn, could database be null
subhramit
reviewed
Sep 25, 2025
|
|
||
| public WordSuggestionProvider(Field field, BibDatabase database) { | ||
| this.field = Objects.requireNonNull(field); | ||
| public WordSuggestionProvider(@NonNull Field field, BibDatabase database) { |
Member
There was a problem hiding this comment.
(i am asking because I see @NonNull BibDatabaseContext databaseContext in some classes below)
subhramit
approved these changes
Sep 25, 2025
alexsukhin
added a commit
to alexsukhin/jabref
that referenced
this pull request
Sep 25, 2025
Shanaya-1981
pushed a commit
to Shanaya-1981/jabref
that referenced
this pull request
Oct 13, 2025
* Add ADR * Implement ADR * Undo unwanted changes * Remove newline * Remove newline * Remove newline * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Update docs/decisions/0051-jspecify-nullable-annotations Co-authored-by: Subhramit Basu <subhramit.bb@live.in> * Fix refactoring artifacts * Checkstyle * Checkstyle * Fix and add tests * Fix unused imports * Remove null tests * Implement more annotations * Implement more annotations for consistency * Remove more null tests * Fix import and some static analysis null issues * Remove more null tests --------- Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com> Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Nov 11, 2025
* Add cleanup dialog tabs with individual tab preferences * Fixed indentation and added commenting * Fix Trag-bot review issues - Removed trivial comments - Renamed PDF-related variables - Updated methods to return Optional - Used Optional property for FieldFormatterCleanups * Fix Trag-bot review issues - Removed trivial comments - Fixed CHANGELOG.md * Fix Trag-bot review issues - Removed trivial comments - Improved Optional checks - Perform null check for other parameters * Avoid nested Optionals, returning Optional<CleanupPreferences> directly * Refactor CleanupPreferences by keeping one assertion per test * Converted tests to assertEquals * Maintain consistent naming conventions * Returns CleanupPreferences directly since value is always present * Initial review refactor draft - Create new ViewModel, pull logic from Action and SingleAction into ViewModel - Move Apply button to each tab - Remove categories from ENUM and keep enums of all jobs in each respective tab to be used for cleanup * fix import error! * Reformat codebase (more carefully) (#13885) * Fix non record comments by carl # Conflicts: # jabgui/src/main/java/org/jabref/gui/edit/automaticfiededitor/MoveFieldValueAction.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/cell/sidebuttons/ToggleMergeUnmergeButton.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/CommentMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/FieldMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/FileMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/GroupMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/KeywordMerger.java # jablib/src/main/java/org/jabref/logic/layout/format/HTMLChars.java # jablib/src/main/java/org/jabref/model/entry/identifier/ArXivIdentifier.java # jablib/src/main/java/org/jabref/model/entry/identifier/EprintIdentifier.java * Add file exceptions * Remove shebang line * Remove shebang line * Remove shebang line * Expand variables & rename class --------- Co-authored-by: Oliver Kopp <kopp.dev@gmail.com> * fix import error & merge * Apply OpenRewrite Cleanup * Refactor Cleanup Tabs - Moved cleanup panel logic into CleanupDialogViewModel for better separation of UI and logic - Changed tabSupplier and taskExecutor from Optional to nullable parameters - Moved updateWith logic into the record for cleaner preference updates. - General design improvements: more maintainable. * Fix getDisplayName method * Fix formatting * Trag-bot review and fix en properties * fix indentation plssss * format properly and change to observablelist * fix formatting entriestoprocess (please) * Updated names and changed optional dependencies back to nullable * Refactored panels to use separate ViewModels - Introduced ViewModels to encapsulate state and logic for panels. - Replaced direct UI manipulation with bidirectional bindings. - Ensures cleaner UI logic, easier maintenance * Moved ALL_JOBS to respective ViewModels, small naming changes * Replaced requireNotNull to @NotNull following #13957 * Address review feedback in CleanupDialogViewModel - Remove redundant comments following self-explanatory code - Add modifiedEntriesCount > 0 condition - Use "entry(s)" localization form for clean up message --------- Co-authored-by: Subhramit Basu <subhramit.bb@live.in> Co-authored-by: Oliver Kopp <kopp.dev@gmail.com> Co-authored-by: Christoph <siedlerkiller@gmail.com>
merlinymy
pushed a commit
to merlinymy/jabref
that referenced
this pull request
Nov 19, 2025
* Add cleanup dialog tabs with individual tab preferences * Fixed indentation and added commenting * Fix Trag-bot review issues - Removed trivial comments - Renamed PDF-related variables - Updated methods to return Optional - Used Optional property for FieldFormatterCleanups * Fix Trag-bot review issues - Removed trivial comments - Fixed CHANGELOG.md * Fix Trag-bot review issues - Removed trivial comments - Improved Optional checks - Perform null check for other parameters * Avoid nested Optionals, returning Optional<CleanupPreferences> directly * Refactor CleanupPreferences by keeping one assertion per test * Converted tests to assertEquals * Maintain consistent naming conventions * Returns CleanupPreferences directly since value is always present * Initial review refactor draft - Create new ViewModel, pull logic from Action and SingleAction into ViewModel - Move Apply button to each tab - Remove categories from ENUM and keep enums of all jobs in each respective tab to be used for cleanup * fix import error! * Reformat codebase (more carefully) (JabRef#13885) * Fix non record comments by carl # Conflicts: # jabgui/src/main/java/org/jabref/gui/edit/automaticfiededitor/MoveFieldValueAction.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/cell/sidebuttons/ToggleMergeUnmergeButton.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/CommentMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/FieldMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/FileMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/GroupMerger.java # jabgui/src/main/java/org/jabref/gui/mergeentries/threewaymerge/fieldsmerger/KeywordMerger.java # jablib/src/main/java/org/jabref/logic/layout/format/HTMLChars.java # jablib/src/main/java/org/jabref/model/entry/identifier/ArXivIdentifier.java # jablib/src/main/java/org/jabref/model/entry/identifier/EprintIdentifier.java * Add file exceptions * Remove shebang line * Remove shebang line * Remove shebang line * Expand variables & rename class --------- Co-authored-by: Oliver Kopp <kopp.dev@gmail.com> * fix import error & merge * Apply OpenRewrite Cleanup * Refactor Cleanup Tabs - Moved cleanup panel logic into CleanupDialogViewModel for better separation of UI and logic - Changed tabSupplier and taskExecutor from Optional to nullable parameters - Moved updateWith logic into the record for cleaner preference updates. - General design improvements: more maintainable. * Fix getDisplayName method * Fix formatting * Trag-bot review and fix en properties * fix indentation plssss * format properly and change to observablelist * fix formatting entriestoprocess (please) * Updated names and changed optional dependencies back to nullable * Refactored panels to use separate ViewModels - Introduced ViewModels to encapsulate state and logic for panels. - Replaced direct UI manipulation with bidirectional bindings. - Ensures cleaner UI logic, easier maintenance * Moved ALL_JOBS to respective ViewModels, small naming changes * Replaced requireNotNull to @NotNull following JabRef#13957 * Address review feedback in CleanupDialogViewModel - Remove redundant comments following self-explanatory code - Add modifiedEntriesCount > 0 condition - Use "entry(s)" localization form for clean up message --------- Co-authored-by: Subhramit Basu <subhramit.bb@live.in> Co-authored-by: Oliver Kopp <kopp.dev@gmail.com> Co-authored-by: Christoph <siedlerkiller@gmail.com>
maorethians
pushed a commit
to maorethians/RefactoringMiner
that referenced
this pull request
Jun 8, 2026
JabRef/jabref#13957 jabls/src/main/java/module-info.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Selfexplaining Title
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)