Skip to content

Remove object redundancy, miscellaneous refactoring#15332

Merged
calixtus merged 5 commits intoJabRef:mainfrom
subhramit:refactor-oo
Mar 13, 2026
Merged

Remove object redundancy, miscellaneous refactoring#15332
calixtus merged 5 commits intoJabRef:mainfrom
subhramit:refactor-oo

Conversation

@subhramit
Copy link
Copy Markdown
Member

@subhramit subhramit commented Mar 12, 2026

LO panel and GroupTree classes had redundant objects that could be derived from the root preferences parameter.
Also some tiny miscellaneous cleanups.

Edit - on more thought, Injector was being used for JournalAbbreviationRepository at too many places. Lets inject in LibraryTab and pass it via parameter to other places (until too much divergence).

Checklist

  • I own the copyright of the code submitted and I license it under the MIT license
  • I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • [/] I added screenshots in the PR description (if change is visible to the user)
  • [/] I added a screenshot in the PR description showing a library with a single entry with me as author and as title the issue number
  • [/] I described the change in CHANGELOG.md in a way that can be understood by the average user (if change is visible to the user)
  • [/] I checked the user documentation for up to dateness and submitted a pull request to our user documentation repository

Signed-off-by: subhramit <subhramit.bb@live.in>
@qodo-free-for-open-source-projects
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Remove object redundancy and refactor preference handling

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Remove redundant constructor parameters from GroupTreeViewModel and OpenOfficePanel
• Derive FieldPreferences and other preferences from parent GuiPreferences object
• Replace Unicode escape sequences with direct em-dash characters
• Clean up unused imports and fix comment formatting
Diagram
flowchart LR
  GP["GuiPreferences"]
  GP -- "getFieldPreferences()" --> FP["FieldPreferences"]
  GP -- "getOpenOfficePreferences()" --> OOP["OpenOfficePreferences"]
  GP -- "getCitationKeyPatternPreferences()" --> CKPP["CitationKeyPatternPreferences"]
  GP -- "getLayoutFormatterPreferences()" --> LFP["LayoutFormatterPreferences"]
  GP -- "getExternalApplicationsPreferences()" --> EAP["ExternalApplicationsPreferences"]
  GTVM["GroupTreeViewModel"]
  GP --> GTVM
  OOP["OpenOfficePanel"]
  GP --> OOP
Loading

Grey Divider

File Changes

1. jabgui/src/main/java/org/jabref/gui/LibraryTab.java Formatting +2/-2

Replace Unicode escape with em-dash character

• Replace Unicode escape sequence \u2013 with direct em-dash character 
• Applied to two locations in tab title formatting

jabgui/src/main/java/org/jabref/gui/LibraryTab.java


2. jabgui/src/main/java/org/jabref/gui/groups/GroupTreeView.java ✨ Enhancement +1/-1

Remove redundant field preferences parameter

• Remove preferences.getFieldPreferences() parameter from GroupTreeViewModel constructor call
• Simplify constructor invocation by eliminating redundant preference object

jabgui/src/main/java/org/jabref/gui/groups/GroupTreeView.java


3. jabgui/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java ✨ Enhancement +2/-3

Derive field preferences from parent preferences

• Remove FieldPreferences parameter from constructor signature
• Derive fieldPreferences from preferences.getFieldPreferences() instead of accepting as
 parameter
• Fix comment formatting from /// to // for TODO comment

jabgui/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java


View more (3)
4. jabgui/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java ✨ Enhancement +10/-14

Derive OpenOffice preferences from GuiPreferences

• Remove four redundant constructor parameters: openOfficePreferences,
 externalApplicationsPreferences, layoutFormatterPreferences, citationKeyPatternPreferences
• Derive all four preferences from GuiPreferences using getter methods
• Add Injector import for instantiating JournalAbbreviationRepository
• Reorder field assignments for better organization

jabgui/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java


5. jabgui/src/main/java/org/jabref/gui/sidepane/SidePaneContentFactory.java ✨ Enhancement +0/-6

Remove redundant preference parameters from factory

• Remove Injector import that is no longer needed
• Remove four preference parameters from OpenOfficePanel constructor call
• Simplify constructor invocation by letting OpenOfficePanel derive preferences internally

jabgui/src/main/java/org/jabref/gui/sidepane/SidePaneContentFactory.java


6. jabgui/src/test/java/org/jabref/gui/groups/GroupTreeViewModelTest.java 🧪 Tests +10/-11

Update tests to remove field preferences parameter

• Remove FieldPreferences import statement
• Remove mock(FieldPreferences.class) parameter from all GroupTreeViewModel constructor calls
 across eight test methods
• Update test instantiations to match new constructor signature

jabgui/src/test/java/org/jabref/gui/groups/GroupTreeViewModelTest.java


Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects

This comment was marked as resolved.

Signed-off-by: subhramit <subhramit.bb@live.in>
@testlens-app

This comment has been minimized.

Signed-off-by: subhramit <subhramit.bb@live.in>
@testlens-app

This comment has been minimized.

Signed-off-by: subhramit <subhramit.bb@live.in>
@testlens-app

This comment has been minimized.

@subhramit subhramit added the status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers label Mar 12, 2026
Comment on lines +411 to +418
uniquePathPart.ifPresent(part -> tabTitle.append(" \u2013 ").append(part));
uniquePathPart.ifPresent(part -> tabTitle.append(" ").append(part));
toolTipText.append(databasePath.toAbsolutePath());

if (databaseLocation == DatabaseLocation.SHARED) {
tabTitle.append(" \u2013 ");
tabTitle.append(" ");
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was chosen deliberately, just to show that this is not a simple dash. We had a comment there before, don't know why it was removed.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't u+2013 just an en-dash? (–)
It is not replaced with a hyphen (-), I just took intellij's sugesstion

Copy link
Copy Markdown
Member Author

@subhramit subhramit Mar 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh nevertheless I see your point, it can be confusing.
I can either revert and add the comment that it's deliberately chosen
Or keep this and just add the comment that this is an en-dash and not a hyphen

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

already edited and added comment

@testlens-app
Copy link
Copy Markdown

testlens-app Bot commented Mar 13, 2026

✅ All tests passed ✅

🏷️ Commit: c7e6c70
▶️ Tests: 10129 executed
⚪️ Checks: 54/54 completed


Learn more about TestLens at testlens.app.

@calixtus calixtus enabled auto-merge March 13, 2026 06:41
@calixtus calixtus added this pull request to the merge queue Mar 13, 2026
@github-actions github-actions Bot added the status: to-be-merged PRs which are accepted and should go into the merge-queue. label Mar 13, 2026
Merged via the queue into JabRef:main with commit 3bccd05 Mar 13, 2026
54 checks passed
@calixtus calixtus deleted the refactor-oo branch March 13, 2026 07:17
Syimyk43 pushed a commit to Syimyk43/jabref that referenced this pull request Mar 15, 2026
* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
github-merge-queue Bot pushed a commit that referenced this pull request Mar 15, 2026
* Close entry editor when last library is closed

When no library tab is active, the entry editor remained visible.
Added close() call in the activeTabProperty listener's else branch
to handle the zero-libraries-open case.

Fixes #13125

* Update CHANGELOG for #13125

* Fix case-insensitive DOI comparison in duplicate detection (#12967)

* Chore(deps): Bump org.gradlex:java-module-dependencies in /build-logic (#15328)

Bumps [org.gradlex:java-module-dependencies](https://github.com/gradlex-org/java-module-dependencies) from 1.12 to 1.12.1.
- [Release notes](https://github.com/gradlex-org/java-module-dependencies/releases)
- [Changelog](https://github.com/gradlex-org/java-module-dependencies/blob/main/CHANGELOG.md)
- [Commits](gradlex-org/java-module-dependencies@v1.12...v1.12.1)

---
updated-dependencies:
- dependency-name: org.gradlex:java-module-dependencies
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.openrewrite.rewrite from 7.26.0 to 7.28.1 (#15326)

Bumps org.openrewrite.rewrite from 7.26.0 to 7.28.1.

---
updated-dependencies:
- dependency-name: org.openrewrite.rewrite
  dependency-version: 7.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.mockito:mockito-core in /versions (#15330)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.cyclonedx.bom from 3.2.0 to 3.2.1 (#15327)

Bumps org.cyclonedx.bom from 3.2.0 to 3.2.1.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump com.squareup.okio:okio-jvm in /versions (#15329)

Bumps [com.squareup.okio:okio-jvm](https://github.com/square/okio) from 3.16.4 to 3.17.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.16.4...parent-3.17.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio-jvm
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* New translations jabref_en.properties (Italian) (#15334)

* RIS export SP/EP fields when pages contain Unicode en-dash or em-dash (#15315)

* Extend the split regex to match en-dash and em-dash

* Added tests

---------

Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Remove object redundancy, miscellaneous refactoring (#15332)

* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Add drag-and-drop support for Citation Relations tab (#15181)

* Add drag-and-drop support for Citation Relations tab

- Implement drag detection in CitationRelationsTab to allow dragging entries
- Add drag support to ViewModelListCellFactory
- Fix NullPointerException in FrameDndHandler when dropping onto tabs without IDs
- Fixes #15135

* Fix: correctly set drop completion status for entries

* Fix: Add Unreleased section and moved changelog entries

* Fix CHANGELOG formatting and upstream linter errors; removed empty groups

* Fix code consistency for cr

* Add explicit type

* Consistency in CHANGELOG.md

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.6.0.202603022253-r (#15335)

* Chore(deps): Bump org.cyclonedx.bom from 3.2.1 to 3.2.2 (#15337)

Bumps org.cyclonedx.bom from 3.2.1 to 3.2.2.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.eclipse.jgit:org.eclipse.jgit in /versions (#15338)

Bumps [org.eclipse.jgit:org.eclipse.jgit](https://github.com/eclipse-jgit/jgit) from 7.5.0.202512021534-r to 7.6.0.202603022253-r.
- [Commits](eclipse-jgit/jgit@v7.5.0.202512021534-r...v7.6.0.202603022253-r)

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-version: 7.6.0.202603022253-r
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add 'All' citation fetcher that aggregates results from all providers (#15292)

* Add 'All' citation fetcher that aggregates and deduplicates results from all providers

- Implements CitationFetcher as AllCitationFetcher aggregating CrossRef,
  OpenAlex, OpenCitations, and SemanticScholar
- Deduplicates results using DuplicateCheck with BibDatabaseMode.BIBTEX
- Returns maximum citation count across all providers
- Tolerates individual provider failures gracefully
- Adds ALL entry to CitationFetcherType enum and factory method
- Covers behaviour with unit tests (failure tolerance, deduplication, max count)

Closes #15029

* Add 'All' citation fetcher that aggregates results from all providers

- Add ALL as first entry in CitationFetcherType enum
- Implement AllCitationFetcher aggregating CrossRef, OpenAlex,
  OpenCitations, and SemanticScholar
- Union results using DatabaseMerger with keyword separator from
  ImportFormatPreferences, as specified in the task
- Return maximum citation count across all providers
- Tolerate individual provider failures gracefully
- Fix race condition in SearchCitationsRelationsService by marking
  citationFetcher and citationCountFetcher fields as volatile
- Set ALL as the default citation fetcher in preferences
- Add unit tests covering failure tolerance, deduplication, and
  max citation count

Closes #15029

* Update CHANGELOG for issue #15029

* Address bot review: fix AllCitationFetcher and improve tests

- Build provider list from CitationFetcherType enum (excluding ALL)
  to avoid duplicate list that can drift when new providers are added
- Track anySuccess in fetch() and getCitationCount(); throw
  FetcherException when all providers fail instead of silently
  returning empty results
- Emit WARN log when some providers fail but others succeed
- Rename test variables to intent-revealing names
- Fix citation count assertion to use assertEquals(Optional.of(20))
- Add tests for all-providers-fail and partial-failure scenarios

* Trigger CI

* Reformat AllCitationFetcher

* Fix checkstyle: remove blank line at start of constructor block

* Reverted back to semantic scholar ui preference

* Revert default citation fetcher to SEMANTIC_SCHOLAR in EntryEditorPreferences

* Re-trigger CI

* Adapt tests to use real constructor with mocks, remove test constructor

* fix unchecked excpetion

---------

Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Avoid error logs when search queries are incomplete (#15333)

* Avoid error logs when search queries are incomplete

Log the parsing error at debug level instead of error level. This prevents having
unnecessary output when user is still entering input like "title =".

* Update changelog for fixing incomplete search logging issue

* Update changelog entry for incomplete search logging issue

* Refine changelog entry for incomplete search logging issue

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.24.0 to 3.25.0 (#15217)

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom

Bumps [org.openrewrite.recipe:rewrite-recipe-bom](https://github.com/openrewrite/rewrite-recipe-bom) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/openrewrite/rewrite-recipe-bom/releases)
- [Commits](openrewrite/rewrite-recipe-bom@v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: org.openrewrite.recipe:rewrite-recipe-bom
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* udpate plugin

* update rewrite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Select better value in MultiMergeEntries dialog component (#15027) (#15255)

* Select better value in MultiMergeEntries dialog component (#15027)

* Use PlausibilityComparatorFactory in MultiMergeEntriesViewModel
to select the more plausible value when merging fields from
multiple sources, instead of always keeping the first-seen value.

* Add DateFieldPlausibilityComparator to prefer more specific dates.

* Add unit tests for DateFieldPlausibilityComparator

* implement review comments

* Fix trailing whitespace in MultiMergeEntriesViewModelTest

* Trigger CI

* CI: re-trigger

* CI: re-trigger

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>

* Fix reset and import for PreviewPreferences (#15306)

* Cleanups

* Refactor PreviewPreferences for resetting and import

* Some null checks and migrations

* Fix wrong notnull

* Fix import

* Avoid addAll crash on immutable List

* Add forgotten customPreviewLayout

* Fix artifact from code iteration

* Refactor for consistency

* Fix artifact from code iteration

* Enhance dummy fallback layout

* Try to fix jbang

* Apply IDE suggestions

* Fix weird checkstyle behaviour

* Add default styles

* Fix migration tests

* Add tests

* Small cleanups

---------

Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Fix javadoc markdown artifacts (#15309)

* Closes #14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging #14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting

* Update CHANGELOG for JabRef#12967

* Apply case-insensitive comparison only to DOI identifiers

* Apply IntelliJ code formatting to DuplicateCheck and DuplicateCheckTest

* Add tests for case-insensitive DOI duplicate detection

* Fix case-insensitive DOI comparison in duplicate detection

* fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Faneesh Juneja <willowstration@gmail.com>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Paul <thecoder777.github@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Nishant Dasgupta <nishant.24bcs10451@sst.scaler.com>
Co-authored-by: Mike Zhang <97817030+mikezhanghaozhe@users.noreply.github.com>
Co-authored-by: JunWang222 <70090336+JunWang222@users.noreply.github.com>
Co-authored-by: AbhijitBhowmick <94289124+AbhijitBhowmick@users.noreply.github.com>
AnvitaPrasad pushed a commit to AnvitaPrasad/jabref that referenced this pull request Mar 18, 2026
* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
AnvitaPrasad pushed a commit to AnvitaPrasad/jabref that referenced this pull request Mar 18, 2026
* Close entry editor when last library is closed

When no library tab is active, the entry editor remained visible.
Added close() call in the activeTabProperty listener's else branch
to handle the zero-libraries-open case.

Fixes JabRef#13125

* Update CHANGELOG for JabRef#13125

* Fix case-insensitive DOI comparison in duplicate detection (JabRef#12967)

* Chore(deps): Bump org.gradlex:java-module-dependencies in /build-logic (JabRef#15328)

Bumps [org.gradlex:java-module-dependencies](https://github.com/gradlex-org/java-module-dependencies) from 1.12 to 1.12.1.
- [Release notes](https://github.com/gradlex-org/java-module-dependencies/releases)
- [Changelog](https://github.com/gradlex-org/java-module-dependencies/blob/main/CHANGELOG.md)
- [Commits](gradlex-org/java-module-dependencies@v1.12...v1.12.1)

---
updated-dependencies:
- dependency-name: org.gradlex:java-module-dependencies
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.openrewrite.rewrite from 7.26.0 to 7.28.1 (JabRef#15326)

Bumps org.openrewrite.rewrite from 7.26.0 to 7.28.1.

---
updated-dependencies:
- dependency-name: org.openrewrite.rewrite
  dependency-version: 7.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.mockito:mockito-core in /versions (JabRef#15330)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.cyclonedx.bom from 3.2.0 to 3.2.1 (JabRef#15327)

Bumps org.cyclonedx.bom from 3.2.0 to 3.2.1.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump com.squareup.okio:okio-jvm in /versions (JabRef#15329)

Bumps [com.squareup.okio:okio-jvm](https://github.com/square/okio) from 3.16.4 to 3.17.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.16.4...parent-3.17.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio-jvm
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* New translations jabref_en.properties (Italian) (JabRef#15334)

* RIS export SP/EP fields when pages contain Unicode en-dash or em-dash (JabRef#15315)

* Extend the split regex to match en-dash and em-dash

* Added tests

---------

Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Remove object redundancy, miscellaneous refactoring (JabRef#15332)

* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Add drag-and-drop support for Citation Relations tab (JabRef#15181)

* Add drag-and-drop support for Citation Relations tab

- Implement drag detection in CitationRelationsTab to allow dragging entries
- Add drag support to ViewModelListCellFactory
- Fix NullPointerException in FrameDndHandler when dropping onto tabs without IDs
- Fixes JabRef#15135

* Fix: correctly set drop completion status for entries

* Fix: Add Unreleased section and moved changelog entries

* Fix CHANGELOG formatting and upstream linter errors; removed empty groups

* Fix code consistency for cr

* Add explicit type

* Consistency in CHANGELOG.md

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.6.0.202603022253-r (JabRef#15335)

* Chore(deps): Bump org.cyclonedx.bom from 3.2.1 to 3.2.2 (JabRef#15337)

Bumps org.cyclonedx.bom from 3.2.1 to 3.2.2.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.eclipse.jgit:org.eclipse.jgit in /versions (JabRef#15338)

Bumps [org.eclipse.jgit:org.eclipse.jgit](https://github.com/eclipse-jgit/jgit) from 7.5.0.202512021534-r to 7.6.0.202603022253-r.
- [Commits](eclipse-jgit/jgit@v7.5.0.202512021534-r...v7.6.0.202603022253-r)

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-version: 7.6.0.202603022253-r
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add 'All' citation fetcher that aggregates results from all providers (JabRef#15292)

* Add 'All' citation fetcher that aggregates and deduplicates results from all providers

- Implements CitationFetcher as AllCitationFetcher aggregating CrossRef,
  OpenAlex, OpenCitations, and SemanticScholar
- Deduplicates results using DuplicateCheck with BibDatabaseMode.BIBTEX
- Returns maximum citation count across all providers
- Tolerates individual provider failures gracefully
- Adds ALL entry to CitationFetcherType enum and factory method
- Covers behaviour with unit tests (failure tolerance, deduplication, max count)

Closes JabRef#15029

* Add 'All' citation fetcher that aggregates results from all providers

- Add ALL as first entry in CitationFetcherType enum
- Implement AllCitationFetcher aggregating CrossRef, OpenAlex,
  OpenCitations, and SemanticScholar
- Union results using DatabaseMerger with keyword separator from
  ImportFormatPreferences, as specified in the task
- Return maximum citation count across all providers
- Tolerate individual provider failures gracefully
- Fix race condition in SearchCitationsRelationsService by marking
  citationFetcher and citationCountFetcher fields as volatile
- Set ALL as the default citation fetcher in preferences
- Add unit tests covering failure tolerance, deduplication, and
  max citation count

Closes JabRef#15029

* Update CHANGELOG for issue JabRef#15029

* Address bot review: fix AllCitationFetcher and improve tests

- Build provider list from CitationFetcherType enum (excluding ALL)
  to avoid duplicate list that can drift when new providers are added
- Track anySuccess in fetch() and getCitationCount(); throw
  FetcherException when all providers fail instead of silently
  returning empty results
- Emit WARN log when some providers fail but others succeed
- Rename test variables to intent-revealing names
- Fix citation count assertion to use assertEquals(Optional.of(20))
- Add tests for all-providers-fail and partial-failure scenarios

* Trigger CI

* Reformat AllCitationFetcher

* Fix checkstyle: remove blank line at start of constructor block

* Reverted back to semantic scholar ui preference

* Revert default citation fetcher to SEMANTIC_SCHOLAR in EntryEditorPreferences

* Re-trigger CI

* Adapt tests to use real constructor with mocks, remove test constructor

* fix unchecked excpetion

---------

Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Avoid error logs when search queries are incomplete (JabRef#15333)

* Avoid error logs when search queries are incomplete

Log the parsing error at debug level instead of error level. This prevents having
unnecessary output when user is still entering input like "title =".

* Update changelog for fixing incomplete search logging issue

* Update changelog entry for incomplete search logging issue

* Refine changelog entry for incomplete search logging issue

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.24.0 to 3.25.0 (JabRef#15217)

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom

Bumps [org.openrewrite.recipe:rewrite-recipe-bom](https://github.com/openrewrite/rewrite-recipe-bom) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/openrewrite/rewrite-recipe-bom/releases)
- [Commits](openrewrite/rewrite-recipe-bom@v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: org.openrewrite.recipe:rewrite-recipe-bom
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* udpate plugin

* update rewrite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Select better value in MultiMergeEntries dialog component (JabRef#15027) (JabRef#15255)

* Select better value in MultiMergeEntries dialog component (JabRef#15027)

* Use PlausibilityComparatorFactory in MultiMergeEntriesViewModel
to select the more plausible value when merging fields from
multiple sources, instead of always keeping the first-seen value.

* Add DateFieldPlausibilityComparator to prefer more specific dates.

* Add unit tests for DateFieldPlausibilityComparator

* implement review comments

* Fix trailing whitespace in MultiMergeEntriesViewModelTest

* Trigger CI

* CI: re-trigger

* CI: re-trigger

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>

* Fix reset and import for PreviewPreferences (JabRef#15306)

* Cleanups

* Refactor PreviewPreferences for resetting and import

* Some null checks and migrations

* Fix wrong notnull

* Fix import

* Avoid addAll crash on immutable List

* Add forgotten customPreviewLayout

* Fix artifact from code iteration

* Refactor for consistency

* Fix artifact from code iteration

* Enhance dummy fallback layout

* Try to fix jbang

* Apply IDE suggestions

* Fix weird checkstyle behaviour

* Add default styles

* Fix migration tests

* Add tests

* Small cleanups

---------

Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Fix javadoc markdown artifacts (JabRef#15309)

* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting

* Update CHANGELOG for JabRef#12967

* Apply case-insensitive comparison only to DOI identifiers

* Apply IntelliJ code formatting to DuplicateCheck and DuplicateCheckTest

* Add tests for case-insensitive DOI duplicate detection

* Fix case-insensitive DOI comparison in duplicate detection

* fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Faneesh Juneja <willowstration@gmail.com>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Paul <thecoder777.github@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Nishant Dasgupta <nishant.24bcs10451@sst.scaler.com>
Co-authored-by: Mike Zhang <97817030+mikezhanghaozhe@users.noreply.github.com>
Co-authored-by: JunWang222 <70090336+JunWang222@users.noreply.github.com>
Co-authored-by: AbhijitBhowmick <94289124+AbhijitBhowmick@users.noreply.github.com>
FynnianB pushed a commit to FynnianB/jabref that referenced this pull request Mar 19, 2026
* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
FynnianB pushed a commit to FynnianB/jabref that referenced this pull request Mar 19, 2026
* Close entry editor when last library is closed

When no library tab is active, the entry editor remained visible.
Added close() call in the activeTabProperty listener's else branch
to handle the zero-libraries-open case.

Fixes JabRef#13125

* Update CHANGELOG for JabRef#13125

* Fix case-insensitive DOI comparison in duplicate detection (JabRef#12967)

* Chore(deps): Bump org.gradlex:java-module-dependencies in /build-logic (JabRef#15328)

Bumps [org.gradlex:java-module-dependencies](https://github.com/gradlex-org/java-module-dependencies) from 1.12 to 1.12.1.
- [Release notes](https://github.com/gradlex-org/java-module-dependencies/releases)
- [Changelog](https://github.com/gradlex-org/java-module-dependencies/blob/main/CHANGELOG.md)
- [Commits](gradlex-org/java-module-dependencies@v1.12...v1.12.1)

---
updated-dependencies:
- dependency-name: org.gradlex:java-module-dependencies
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.openrewrite.rewrite from 7.26.0 to 7.28.1 (JabRef#15326)

Bumps org.openrewrite.rewrite from 7.26.0 to 7.28.1.

---
updated-dependencies:
- dependency-name: org.openrewrite.rewrite
  dependency-version: 7.28.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.mockito:mockito-core in /versions (JabRef#15330)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.cyclonedx.bom from 3.2.0 to 3.2.1 (JabRef#15327)

Bumps org.cyclonedx.bom from 3.2.0 to 3.2.1.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump com.squareup.okio:okio-jvm in /versions (JabRef#15329)

Bumps [com.squareup.okio:okio-jvm](https://github.com/square/okio) from 3.16.4 to 3.17.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.16.4...parent-3.17.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio-jvm
  dependency-version: 3.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* New translations jabref_en.properties (Italian) (JabRef#15334)

* RIS export SP/EP fields when pages contain Unicode en-dash or em-dash (JabRef#15315)

* Extend the split regex to match en-dash and em-dash

* Added tests

---------

Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Remove object redundancy, miscellaneous refactoring (JabRef#15332)

* Remove object redundancy, miscellaneous refactoring

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use abbreviationRepository parameter

Signed-off-by: subhramit <subhramit.bb@live.in>

* Use less injections for journal abbreviations repository

Signed-off-by: subhramit <subhramit.bb@live.in>

* Indent

Signed-off-by: subhramit <subhramit.bb@live.in>

* Revert to codepoint

---------

Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>

* Add drag-and-drop support for Citation Relations tab (JabRef#15181)

* Add drag-and-drop support for Citation Relations tab

- Implement drag detection in CitationRelationsTab to allow dragging entries
- Add drag support to ViewModelListCellFactory
- Fix NullPointerException in FrameDndHandler when dropping onto tabs without IDs
- Fixes JabRef#15135

* Fix: correctly set drop completion status for entries

* Fix: Add Unreleased section and moved changelog entries

* Fix CHANGELOG formatting and upstream linter errors; removed empty groups

* Fix code consistency for cr

* Add explicit type

* Consistency in CHANGELOG.md

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Update dependency org.eclipse.jgit:org.eclipse.jgit.pgm to v7.6.0.202603022253-r (JabRef#15335)

* Chore(deps): Bump org.cyclonedx.bom from 3.2.1 to 3.2.2 (JabRef#15337)

Bumps org.cyclonedx.bom from 3.2.1 to 3.2.2.

---
updated-dependencies:
- dependency-name: org.cyclonedx.bom
  dependency-version: 3.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Chore(deps): Bump org.eclipse.jgit:org.eclipse.jgit in /versions (JabRef#15338)

Bumps [org.eclipse.jgit:org.eclipse.jgit](https://github.com/eclipse-jgit/jgit) from 7.5.0.202512021534-r to 7.6.0.202603022253-r.
- [Commits](eclipse-jgit/jgit@v7.5.0.202512021534-r...v7.6.0.202603022253-r)

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-version: 7.6.0.202603022253-r
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add 'All' citation fetcher that aggregates results from all providers (JabRef#15292)

* Add 'All' citation fetcher that aggregates and deduplicates results from all providers

- Implements CitationFetcher as AllCitationFetcher aggregating CrossRef,
  OpenAlex, OpenCitations, and SemanticScholar
- Deduplicates results using DuplicateCheck with BibDatabaseMode.BIBTEX
- Returns maximum citation count across all providers
- Tolerates individual provider failures gracefully
- Adds ALL entry to CitationFetcherType enum and factory method
- Covers behaviour with unit tests (failure tolerance, deduplication, max count)

Closes JabRef#15029

* Add 'All' citation fetcher that aggregates results from all providers

- Add ALL as first entry in CitationFetcherType enum
- Implement AllCitationFetcher aggregating CrossRef, OpenAlex,
  OpenCitations, and SemanticScholar
- Union results using DatabaseMerger with keyword separator from
  ImportFormatPreferences, as specified in the task
- Return maximum citation count across all providers
- Tolerate individual provider failures gracefully
- Fix race condition in SearchCitationsRelationsService by marking
  citationFetcher and citationCountFetcher fields as volatile
- Set ALL as the default citation fetcher in preferences
- Add unit tests covering failure tolerance, deduplication, and
  max citation count

Closes JabRef#15029

* Update CHANGELOG for issue JabRef#15029

* Address bot review: fix AllCitationFetcher and improve tests

- Build provider list from CitationFetcherType enum (excluding ALL)
  to avoid duplicate list that can drift when new providers are added
- Track anySuccess in fetch() and getCitationCount(); throw
  FetcherException when all providers fail instead of silently
  returning empty results
- Emit WARN log when some providers fail but others succeed
- Rename test variables to intent-revealing names
- Fix citation count assertion to use assertEquals(Optional.of(20))
- Add tests for all-providers-fail and partial-failure scenarios

* Trigger CI

* Reformat AllCitationFetcher

* Fix checkstyle: remove blank line at start of constructor block

* Reverted back to semantic scholar ui preference

* Revert default citation fetcher to SEMANTIC_SCHOLAR in EntryEditorPreferences

* Re-trigger CI

* Adapt tests to use real constructor with mocks, remove test constructor

* fix unchecked excpetion

---------

Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Avoid error logs when search queries are incomplete (JabRef#15333)

* Avoid error logs when search queries are incomplete

Log the parsing error at debug level instead of error level. This prevents having
unnecessary output when user is still entering input like "title =".

* Update changelog for fixing incomplete search logging issue

* Update changelog entry for incomplete search logging issue

* Refine changelog entry for incomplete search logging issue

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.24.0 to 3.25.0 (JabRef#15217)

* Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom

Bumps [org.openrewrite.recipe:rewrite-recipe-bom](https://github.com/openrewrite/rewrite-recipe-bom) from 3.24.0 to 3.25.0.
- [Release notes](https://github.com/openrewrite/rewrite-recipe-bom/releases)
- [Commits](openrewrite/rewrite-recipe-bom@v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: org.openrewrite.recipe:rewrite-recipe-bom
  dependency-version: 3.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* udpate plugin

* update rewrite

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Siedlerchr <siedlerkiller@gmail.com>

* Select better value in MultiMergeEntries dialog component (JabRef#15027) (JabRef#15255)

* Select better value in MultiMergeEntries dialog component (JabRef#15027)

* Use PlausibilityComparatorFactory in MultiMergeEntriesViewModel
to select the more plausible value when merging fields from
multiple sources, instead of always keeping the first-seen value.

* Add DateFieldPlausibilityComparator to prefer more specific dates.

* Add unit tests for DateFieldPlausibilityComparator

* implement review comments

* Fix trailing whitespace in MultiMergeEntriesViewModelTest

* Trigger CI

* CI: re-trigger

* CI: re-trigger

---------

Co-authored-by: Christoph <siedlerkiller@gmail.com>

* Fix reset and import for PreviewPreferences (JabRef#15306)

* Cleanups

* Refactor PreviewPreferences for resetting and import

* Some null checks and migrations

* Fix wrong notnull

* Fix import

* Avoid addAll crash on immutable List

* Add forgotten customPreviewLayout

* Fix artifact from code iteration

* Refactor for consistency

* Fix artifact from code iteration

* Enhance dummy fallback layout

* Try to fix jbang

* Apply IDE suggestions

* Fix weird checkstyle behaviour

* Add default styles

* Fix migration tests

* Add tests

* Small cleanups

---------

Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>

* Fix javadoc markdown artifacts (JabRef#15309)

* Closes JabRef#14897
This incorporates all the pending old Javadoc to  Markdown changes required after merging JabRef#14891.The following files are changed:
1.AutoCompletionTextInputBinding.java
2.JabRefCliPreferences.java
3.SearchBasedParserFetcher.java
4.StartNewStudyAction.java
                                             1.

* 1.

* Rsolved mix up of endregion and endRegion.Final one is endregion.
1.File changed-JabRefCliPreferences.java

* Rsolved format issue related to line space.Files changed.
1.JabRefCliPreferences.java
2.SearchBasedParserFetcher.java

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Added // endregion to maintain sync with region:AI
  And // region Push to application preferences and //region to Git
2.Changed region: to region
3.Changed region: Cleanup to previous ToDo: Cleanup
4.changed endRegion to end region
5.Adjusted  dangling // endregion by merging Imported Preference tag(new one) with Other Preferences(old one)

* Files changed.
1.JabRefCliPreferences.java.
The following changes are done:-
1.Apply IntelliJ formatting

* Update CHANGELOG for JabRef#12967

* Apply case-insensitive comparison only to DOI identifiers

* Apply IntelliJ code formatting to DuplicateCheck and DuplicateCheckTest

* Add tests for case-insensitive DOI duplicate detection

* Fix case-insensitive DOI comparison in duplicate detection

* fix formatting

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: subhramit <subhramit.bb@live.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Co-authored-by: Christoph <siedlerkiller@gmail.com>
Co-authored-by: Faneesh Juneja <willowstration@gmail.com>
Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
Co-authored-by: Paul <thecoder777.github@gmail.com>
Co-authored-by: Carl Christian Snethlage <calixtus@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Nishant Dasgupta <nishant.24bcs10451@sst.scaler.com>
Co-authored-by: Mike Zhang <97817030+mikezhanghaozhe@users.noreply.github.com>
Co-authored-by: JunWang222 <70090336+JunWang222@users.noreply.github.com>
Co-authored-by: AbhijitBhowmick <94289124+AbhijitBhowmick@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: journal abbreviations component: libre-office component: preferences dev: code-quality Issues related to code or architecture decisions status: no-bot-comments status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers status: to-be-merged PRs which are accepted and should go into the merge-queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants