Skip to content

Commit 8a4ec4e

Browse files
committed
Merge remote-tracking branch 'upstream/main' into bibdeskImport
* upstream/main: (36 commits) chore: remove repetitive words (JabRef#11015) Fix test names (JabRef#11014) Remove obsolete "Comments" tab configuration (JabRef#11011) Fix "Other fields" tab respecting custom tabs (JabRef#11012) [WIP] Extract PDF References (JabRef#10437) Fixed jump to entry from crossref (JabRef#11009) fix suggestion provider for crossref field (JabRef#10962) Use SequencedSet for required and optional fields (JabRef#11007) Bump io.github.classgraph:classgraph from 4.8.165 to 4.8.168 (JabRef#11005) Bump org.glassfish.hk2:hk2-api from 3.0.6 to 3.1.0 (JabRef#11006) Bump org.apache.logging.log4j:log4j-to-slf4j from 2.23.0 to 2.23.1 (JabRef#11003) Bump org.javamodularity.moduleplugin from 1.8.14 to 1.8.15 (JabRef#11002) Bump jakarta.xml.bind:jakarta.xml.bind-api from 4.0.1 to 4.0.2 (JabRef#11004) Bump softprops/action-gh-release from 1 to 2 (JabRef#11000) Bump gittools/actions from 0.13.2 to 0.13.4 (JabRef#11001) Update custom-svg-icons.md (JabRef#10999) Update Texworks icon (JabRef#10998) Use tags editor for auto completion preferences (JabRef#10990) Enable auto merge of CHANGELOG.md (JabRef#10986) Enhance DOI parser to deal with special characters (JabRef#10989) ... # Conflicts: # build.gradle
2 parents 0ec28ad + 45035df commit 8a4ec4e

File tree

75 files changed

+1683
-214
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1683
-214
lines changed

.gitattributes

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@ gradlew text eol=lf
1111
*.java text eol=lf
1212
*.properties text eol=lf
1313

14-
# disable after a release (otherwise, duplicate CHANGELOG.md entries will be generated)
15-
# CHANGELOG.md merge=union
14+
CHANGELOG.md merge=union

.github/workflows/deployment-arm64.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ jobs:
6666
submodules: 'true'
6767
show-progress: 'false'
6868
- name: Install GitVersion
69-
uses: gittools/actions/gitversion/setup@v0.11.0
69+
uses: gittools/actions/gitversion/setup@v0.13.4
7070
with:
7171
versionSpec: "5.x"
7272
- name: Run GitVersion
7373
id: gitversion
74-
uses: gittools/actions/gitversion/execute@v0.11.0
74+
uses: gittools/actions/gitversion/execute@v0.13.4
7575
- name: Setup JDK
7676
uses: actions/setup-java@v4
7777
with:

.github/workflows/deployment-jdk-ea.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,17 @@ jobs:
8282
show-progress: 'false'
8383
- name: Install pigz and cache (linux)
8484
if: (matrix.os == 'ubuntu-latest') || (matrix.os == 'buildjet-4vcpu-ubuntu-2204-arm')
85-
# 1.3.1 works, 1.4.1 does not (https://github.com/awalsh128/cache-apt-pkgs-action/issues/126)
86-
uses: koppor/cache-apt-pkgs-action@add-arm64-support
85+
uses: awalsh128/cache-apt-pkgs-action@master
8786
with:
8887
packages: pigz
8988
version: 1.0
9089
- name: Install GitVersion
91-
uses: gittools/actions/gitversion/setup@v0.11.0
90+
uses: gittools/actions/gitversion/setup@v0.13.4
9291
with:
9392
versionSpec: "5.x"
9493
- name: Run GitVersion
9594
id: gitversion
96-
uses: gittools/actions/gitversion/execute@v0.11.0
95+
uses: gittools/actions/gitversion/execute@v0.13.4
9796
- name: 'Set up JDK ${{ matrix.jdk }}'
9897
uses: oracle-actions/setup-java@v1
9998
with:

.github/workflows/deployment.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ jobs:
7979
packages: pigz
8080
version: 1.0
8181
- name: Install GitVersion
82-
uses: gittools/actions/gitversion/setup@v0.11.0
82+
uses: gittools/actions/gitversion/setup@v0.13.4
8383
with:
8484
versionSpec: "5.x"
8585
- name: Run GitVersion
8686
id: gitversion
87-
uses: gittools/actions/gitversion/execute@v0.11.0
87+
uses: gittools/actions/gitversion/execute@v0.13.4
8888
- name: Setup JDK
8989
uses: actions/setup-java@v4
9090
with:

.github/workflows/upload-release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
cd build
1919
wget -q -m -r -nH --cut-dirs 2 --no-parent --accept=tar.gz,dmg,pkg,deb,rpm,zip,msi https://builds.jabref.org/tags/
2020
- name: Release
21-
uses: softprops/action-gh-release@v1
21+
uses: softprops/action-gh-release@v2
2222
with:
2323
draft: true
2424
files: build/**

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
1111

1212
### Added
1313

14+
- We converted the "Custom API key" list to a table to be more accessible. [#10926](https://github.com/JabRef/jabref/issues/10926)
1415
- We added a "refresh" button for the LaTeX citations tab in the entry editor. [#10584](https://github.com/JabRef/jabref/issues/10584)
1516
- We added the possibility to show the BibTeX source in the [web search](https://docs.jabref.org/collect/import-using-online-bibliographic-database) import screen. [#560](https://github.com/koppor/jabref/issues/560)
1617
- We added a fetcher for [ISIDORE](https://isidore.science/), simply paste in the link into the text field or the last 6 digits in the link that identify that paper. [#10423](https://github.com/JabRef/jabref/issues/10423)
@@ -25,6 +26,10 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
2526
- We added the citation key pattern `[camelN]`. Equivalent to the first N words of the `[camel]` pattern.
2627
- We added importing of static groups and linked files from BibDesk .bib files. [#10381](https://github.com/JabRef/jabref/issues/10381)
2728
- We added ability to export in CFF (Citation File Format) [#10661](https://github.com/JabRef/jabref/issues/10661).
29+
- We added ability to push entries to TeXworks. [#3197](https://github.com/JabRef/jabref/issues/3197)
30+
- We added the ability to zoom in and out in the document viewer using <kbd>Ctrl</kbd> + <kbd>Scroll</kbd>. [#10964](https://github.com/JabRef/jabref/pull/10964)
31+
- We added a Cleanup for removing non-existent files and grouped the related options [#10929](https://github.com/JabRef/jabref/issues/10929)
32+
- We added the functionality to parse the bibliography of PDFs using the GROBID online service. [#10200](https://github.com/JabRef/jabref/issues/10200)
2833

2934
### Changed
3035

@@ -39,6 +44,8 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
3944
- We made the command "Push to TexShop" more robust to allow cite commands with a character before the first slash. [forum#2699](https://discourse.jabref.org/t/push-to-texshop-mac/2699/17?u=siedlerchr)
4045
- We only show the notification "Saving library..." if the library contains more than 2000 entries. [#9803](https://github.com/JabRef/jabref/issues/9803)
4146
- We enhanced the dialog for adding new fields in the content selector with a selection box containing a list of standard fields. [#10912](https://github.com/JabRef/jabref/pull/10912)
47+
- We store the citation relations in an LRU cache to avoid bloating the memory and out-of-memory exceptions. [#10958](https://github.com/JabRef/jabref/issues/10958)
48+
- Keywords filed are now displayed as tags. [#10910](https://github.com/JabRef/jabref/pull/10910)
4249

4350
### Fixed
4451

@@ -47,6 +54,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
4754
- We fixed an issue where the preview panel showing the wrong entry (an entry that is not selected in the entry table). [#9172](https://github.com/JabRef/jabref/issues/9172)
4855
- We fixed an issue where HTML-reserved characters like '&' and '<', in addition to HTML entities like '&amp;' were not rendered correctly in entry preview. [#10677](https://github.com/JabRef/jabref/issues/10677)
4956
- The last page of a PDF is now indexed by the full text search. [#10193](https://github.com/JabRef/jabref/issues/10193)
57+
- The entry editor respects the configured custom tabs when showing "Other fields". [#11012](https://github.com/JabRef/jabref/pull/11012)
5058
- The default owner of an entry can be changed again. [#10924](https://github.com/JabRef/jabref/issues/10924)
5159
- We fixed an issue where the duplicate check did not take umlauts or other LaTeX-encoded characters into account. [#10744](https://github.com/JabRef/jabref/pull/10744)
5260
- We fixed the colors of the icon on hover for unset special fields. [#10431](https://github.com/JabRef/jabref/issues/10431)
@@ -55,6 +63,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
5563
- We fixed an issue where the `CommentsTab` was not properly formatted when the `defaultOwner` contained capital or special letters. [#10870](https://github.com/JabRef/jabref/issues/10870)
5664
- We fixed an issue where the `File -> Close library` menu item was not disabled when no library was open. [#10948](https://github.com/JabRef/jabref/issues/10948)
5765
- We fixed an issue where the Document Viewer would show the PDF in only half the window when maximized. [#10934](https://github.com/JabRef/jabref/issues/10934)
66+
- Clicking on the crossref and related tags in the entry editor jumps to the linked entry. [#5484](https://github.com/JabRef/jabref/issues/5484) [#9369](https://github.com/JabRef/jabref/issues/9369)
5867

5968
### Removed
6069

build.gradle

+10-9
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ plugins {
99

1010
id 'me.champeau.jmh' version '0.7.2'
1111

12-
id 'org.javamodularity.moduleplugin' version '1.8.13'
12+
id 'org.javamodularity.moduleplugin' version '1.8.15'
1313

1414
id 'org.openjfx.javafxplugin' version '0.1.0'
1515

@@ -27,7 +27,7 @@ plugins {
2727

2828
id 'idea'
2929

30-
id 'org.openrewrite.rewrite' version '6.8.2'
30+
id 'org.openrewrite.rewrite' version '6.8.4'
3131
}
3232

3333
// Enable following for debugging
@@ -177,7 +177,7 @@ dependencies {
177177
implementation('com.tobiasdiez:easybind:2.2.1-SNAPSHOT')
178178
implementation 'org.fxmisc.flowless:flowless:0.7.2'
179179
implementation 'org.fxmisc.richtext:richtextfx:0.11.2'
180-
implementation (group: 'com.dlsc.gemsfx', name: 'gemsfx', version: '2.0.3') {
180+
implementation (group: 'com.dlsc.gemsfx', name: 'gemsfx', version: '2.2.0') {
181181
exclude module: 'javax.inject' // Split package, use only jakarta.inject
182182
exclude group: 'org.apache.logging.log4j'
183183
}
@@ -196,14 +196,14 @@ dependencies {
196196
// route all requests to java.util.logging to SLF4J (which in turn routes to tinylog)
197197
implementation 'org.slf4j:jul-to-slf4j:2.0.9'
198198
// route all requests to log4j to SLF4J
199-
implementation 'org.apache.logging.log4j:log4j-to-slf4j:2.23.0'
199+
implementation 'org.apache.logging.log4j:log4j-to-slf4j:2.23.1'
200200

201201
implementation('de.undercouch:citeproc-java:3.0.0-beta.2') {
202202
exclude group: 'org.antlr'
203203
}
204204

205205
// jakarta.activation is already dependency of glassfish
206-
implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.1'
206+
implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '4.0.2'
207207
implementation group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '4.0.3'
208208

209209
implementation ('com.github.tomtung:latex2unicode_2.13:0.3.2') {
@@ -228,7 +228,7 @@ dependencies {
228228
implementation 'org.glassfish.jersey.core:jersey-server:3.1.5'
229229
// injection framework
230230
implementation 'org.glassfish.jersey.inject:jersey-hk2:3.1.5'
231-
implementation 'org.glassfish.hk2:hk2-api:3.0.6'
231+
implementation 'org.glassfish.hk2:hk2-api:3.1.0'
232232
// testImplementation 'org.glassfish.hk2:hk2-testing:3.0.4'
233233
// implementation 'org.glassfish.hk2:hk2-testing-jersey:3.0.4'
234234
// testImplementation 'org.glassfish.hk2:hk2-junitrunner:3.0.4'
@@ -242,13 +242,14 @@ dependencies {
242242
// Because of GraalVM quirks, we need to ship that. See https://github.com/jspecify/jspecify/issues/389#issuecomment-1661130973 for details
243243
implementation 'org.jspecify:jspecify:0.3.0'
244244

245+
// parse plist files
245246
implementation 'com.googlecode.plist:dd-plist:1.23'
246247

247-
testImplementation 'io.github.classgraph:classgraph:4.8.165'
248+
testImplementation 'io.github.classgraph:classgraph:4.8.168'
248249
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
249250
testImplementation 'org.junit.platform:junit-platform-launcher:1.10.2'
250251

251-
testImplementation 'org.mockito:mockito-core:5.10.0'
252+
testImplementation 'org.mockito:mockito-core:5.11.0'
252253
testImplementation 'org.xmlunit:xmlunit-core:2.9.1'
253254
testImplementation 'org.xmlunit:xmlunit-matchers:2.9.1'
254255
testRuntimeOnly 'com.tngtech.archunit:archunit-junit5-engine:1.2.1'
@@ -262,7 +263,7 @@ dependencies {
262263
xjc group: 'org.glassfish.jaxb', name: 'jaxb-xjc', version: '3.0.2'
263264
xjc group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '3.0.2'
264265

265-
rewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:2.6.4"))
266+
rewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:2.7.1"))
266267
rewrite("org.openrewrite.recipe:rewrite-static-analysis")
267268
rewrite("org.openrewrite.recipe:rewrite-logging-frameworks")
268269
rewrite("org.openrewrite.recipe:rewrite-testing-frameworks")

config/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Style-checks are done for each pull request and installing this code style confi
2020
# Eclipse:
2121

2222
The Eclipse code formatter style is stored in the `eclipse.gradle` file and gets imported automatically.
23-
In case the formatter style needs to be adapted, configure it and export in in eclipse.
23+
In case the formatter style needs to be adapted, configure it and export in eclipse.
2424

2525
1. Right click on the eclipse project "JabRef"
2626
2. Select "Export > General > Preferences"

docs/code-howtos/custom-svg-icons.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,14 @@ Good icon design requires years of experience and cannot be covered here. Adapti
2323

2424
## Step 2. Packing the icons into a font
2525

26-
Use the [IcoMoon](https://icomoon.io) tool for packing the icons. Create a new set and import _all_ icons. Rearrange them so that they have the same order as in `org.jabref.gui.JabRefMaterialDesignIcon`. This will avoid that you have to change the code points for the existing glyphs. In the settings for your icon set, set the _Grid_ to 24. This is important to get the correct spacing. The name of the font is `JabRefMaterialDesign`. When your icon-set is ready, select all of them and download the font-package.
26+
Use the [IcoMoon](https://icomoon.io) tool for packing the icons.
27+
28+
1. Create a new set by importing the json file
29+
2. Next to the icons, click on the hamburger menu, chose "Import to Set" to add a new icon (it will be added to the front)
30+
Rearrange them so that they have the same order as in `org.jabref.gui.JabRefMaterialDesignIcon`. This will avoid that you have to change the code points for the existing glyphs. In the settings for your icon set, set the _Grid_ to 24. This is important to get the correct spacing. The name of the font is `JabRefMaterialDesign`.
31+
3. Next to the icons, click on the hamburger menu and click "Select all".
32+
4. Proceed with the font creating, set the font property name to `JabRefMaterialDesign`
33+
When your icon-set is ready, select all of them and download the font-package.
2734

2835
## Step 3. Replace the existing `JabRefMaterialDesign.ttf`
2936

src/main/java/org/jabref/gui/JabRefFrame.java

+2
Original file line numberDiff line numberDiff line change
@@ -574,9 +574,11 @@ public void init() {
574574
EasyBind.subscribe(tabbedPane.getSelectionModel().selectedItemProperty(), selectedTab -> {
575575
if (selectedTab instanceof LibraryTab libraryTab) {
576576
stateManager.setActiveDatabase(libraryTab.getBibDatabaseContext());
577+
stateManager.activeTabProperty().set(Optional.of(libraryTab));
577578
} else if (selectedTab == null) {
578579
// All databases are closed
579580
stateManager.setActiveDatabase(null);
581+
stateManager.activeTabProperty().set(Optional.empty());
580582
}
581583
});
582584

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

+4-3
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,9 @@ private void setDatabaseContext(BibDatabaseContext bibDatabaseContext) {
282282
return;
283283
}
284284
if (tabPane.getSelectionModel().selectedItemProperty().get().equals(this)) {
285-
LOGGER.debug("This case should not happen.");
285+
LOGGER.warn("This case should not happen.");
286286
stateManager.setActiveDatabase(bibDatabaseContext);
287+
stateManager.activeTabProperty().set(Optional.of(this));
287288
}
288289

289290
// Remove existing dummy BibDatabaseContext and add correct BibDatabaseContext from ParserResult to trigger changes in the openDatabases list in the stateManager
@@ -597,8 +598,8 @@ private void setupAutoCompletion() {
597598
if (autoCompletePreferences.shouldAutoComplete()) {
598599
suggestionProviders = new SuggestionProviders(getDatabase(), Globals.journalAbbreviationRepository, autoCompletePreferences);
599600
} else {
600-
// Create suggestion providers with database for crossref if auto-completion is deactivated
601-
suggestionProviders = new SuggestionProviders(getDatabase());
601+
// Create empty suggestion providers if auto-completion is deactivated
602+
suggestionProviders = new SuggestionProviders();
602603
}
603604
searchAutoCompleter = new PersonNameSuggestionProvider(FieldFactory.getPersonNameFields(), getDatabase());
604605
}

src/main/java/org/jabref/gui/StateManager.java

+5
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public class StateManager {
5454
private final CustomLocalDragboard localDragboard = new CustomLocalDragboard();
5555
private final ObservableList<BibDatabaseContext> openDatabases = FXCollections.observableArrayList();
5656
private final OptionalObjectProperty<BibDatabaseContext> activeDatabase = OptionalObjectProperty.empty();
57+
private final OptionalObjectProperty<LibraryTab> activeTab = OptionalObjectProperty.empty();
5758
private final ReadOnlyListWrapper<GroupTreeNode> activeGroups = new ReadOnlyListWrapper<>(FXCollections.observableArrayList());
5859
private final ObservableList<BibEntry> selectedEntries = FXCollections.observableArrayList();
5960
private final ObservableMap<BibDatabaseContext, ObservableList<GroupTreeNode>> selectedGroups = FXCollections.observableHashMap();
@@ -91,6 +92,10 @@ public OptionalObjectProperty<BibDatabaseContext> activeDatabaseProperty() {
9192
return activeDatabase;
9293
}
9394

95+
public OptionalObjectProperty<LibraryTab> activeTabProperty() {
96+
return activeTab;
97+
}
98+
9499
public OptionalObjectProperty<SearchQuery> activeSearchQueryProperty() {
95100
return activeSearchQuery;
96101
}

src/main/java/org/jabref/gui/actions/StandardActions.java

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public enum StandardActions implements Action {
3232
REBUILD_FULLTEXT_SEARCH_INDEX(Localization.lang("Rebuild fulltext search index"), IconTheme.JabRefIcons.FILE),
3333
REDOWNLOAD_MISSING_FILES(Localization.lang("Redownload missing files"), IconTheme.JabRefIcons.DOWNLOAD),
3434
OPEN_EXTERNAL_FILE(Localization.lang("Open file"), IconTheme.JabRefIcons.FILE, KeyBinding.OPEN_FILE),
35+
EXTRACT_FILE_REFERENCES(Localization.lang("Extract references from file"), IconTheme.JabRefIcons.FILE_STAR),
3536
OPEN_URL(Localization.lang("Open URL or DOI"), IconTheme.JabRefIcons.WWW, KeyBinding.OPEN_URL_OR_DOI),
3637
SEARCH_SHORTSCIENCE(Localization.lang("Search ShortScience")),
3738
MERGE_WITH_FETCHED_ENTRY(Localization.lang("Get bibliographic data from %0", "DOI/ISBN/...")),

src/main/java/org/jabref/gui/autocompleter/AutoCompletePreferences.java

-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import javafx.collections.ObservableSet;
1111

1212
import org.jabref.model.entry.field.Field;
13-
import org.jabref.model.entry.field.FieldFactory;
1413

1514
public class AutoCompletePreferences {
1615

@@ -80,8 +79,4 @@ public void setNameFormat(NameFormat nameFormat) {
8079
public ObservableSet<Field> getCompleteFields() {
8180
return completeFields;
8281
}
83-
84-
public String getCompleteNamesAsString() {
85-
return FieldFactory.serializeFieldsList(completeFields);
86-
}
8782
}

src/main/java/org/jabref/gui/autocompleter/ContentSelectorSuggestionProvider.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.jabref.gui.autocompleter;
22

33
import java.util.ArrayList;
4-
import java.util.Collection;
54
import java.util.List;
65
import java.util.stream.Stream;
76

@@ -26,7 +25,7 @@ public Stream<String> getSource() {
2625
}
2726

2827
@Override
29-
public Collection<String> getPossibleSuggestions() {
28+
public List<String> getPossibleSuggestions() {
3029
List<String> suggestions = new ArrayList<>();
3130
if (suggestionProvider != null) {
3231
suggestions.addAll(suggestionProvider.getPossibleSuggestions());

src/main/java/org/jabref/gui/autocompleter/SuggestionProvider.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.util.Collection;
3030
import java.util.Collections;
3131
import java.util.Comparator;
32+
import java.util.List;
3233
import java.util.stream.Collectors;
3334
import java.util.stream.Stream;
3435

@@ -60,7 +61,7 @@ public final Collection<T> provideSuggestions(ISuggestionRequest request) {
6061

6162
protected abstract Equivalence<T> getEquivalence();
6263

63-
public Collection<T> getPossibleSuggestions() {
64+
public List<T> getPossibleSuggestions() {
6465
Comparator<T> comparator = getComparator().reversed();
6566
Equivalence<T> equivalence = getEquivalence();
6667
return getSource().map(equivalence::wrap) // Need to do a bit of acrobatic as there is no distinctBy method

src/main/java/org/jabref/gui/autocompleter/SuggestionProviders.java

-9
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,12 @@ public SuggestionProviders(BibDatabase database, JournalAbbreviationRepository a
2222
this.isEmpty = false;
2323
}
2424

25-
public SuggestionProviders(BibDatabase database) {
26-
this.database = database;
27-
this.isEmpty = true;
28-
}
29-
3025
public SuggestionProviders() {
3126
this.isEmpty = true;
3227
}
3328

3429
public SuggestionProvider<?> getForField(Field field) {
3530
if (isEmpty || !autoCompletePreferences.getCompleteFields().contains(field)) {
36-
Set<FieldProperty> fieldProperties = field.getProperties();
37-
if (fieldProperties.contains(FieldProperty.SINGLE_ENTRY_LINK)) {
38-
return new BibEntrySuggestionProvider(database);
39-
}
4031
return new EmptySuggestionProvider();
4132
}
4233

0 commit comments

Comments
 (0)