diff --git a/rewrite.yml b/rewrite.yml index 0ddc0934f1a..ecaf9b7b001 100644 --- a/rewrite.yml +++ b/rewrite.yml @@ -102,6 +102,8 @@ recipeList: - org.openrewrite.java.migrate.io.ReplaceFileInOrOutputStreamFinalizeWithClose - org.openrewrite.java.migrate.net.JavaNetAPIs - org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes + - org.openrewrite.java.migrate.util.OptionalNotEmptyToIsPresent + - org.openrewrite.java.migrate.util.OptionalNotPresentToIsEmpty - org.openrewrite.java.migrate.util.SequencedCollection - org.openrewrite.java.migrate.lang.StringFormatted diff --git a/src/main/java/org/jabref/gui/entryeditor/DeprecatedFieldsTab.java b/src/main/java/org/jabref/gui/entryeditor/DeprecatedFieldsTab.java index 3c962be547b..45248e89dfe 100644 --- a/src/main/java/org/jabref/gui/entryeditor/DeprecatedFieldsTab.java +++ b/src/main/java/org/jabref/gui/entryeditor/DeprecatedFieldsTab.java @@ -68,7 +68,7 @@ protected SequencedSet determineFieldsToShow(BibEntry entry) { BibDatabaseMode mode = databaseContext.getMode(); Optional entryType = entryTypesManager.enrich(entry.getType(), mode); if (entryType.isPresent()) { - return entryType.get().getDeprecatedFields(mode).stream().filter(field -> !entry.getField(field).isEmpty()).collect(Collectors.toCollection(LinkedHashSet::new)); + return entryType.get().getDeprecatedFields(mode).stream().filter(field -> entry.getField(field).isPresent()).collect(Collectors.toCollection(LinkedHashSet::new)); } else { // Entry type unknown -> treat all fields as required (thus no optional fields) return new LinkedHashSet<>(); diff --git a/src/main/java/org/jabref/gui/entryeditor/citationrelationtab/semanticscholar/SemanticScholarFetcher.java b/src/main/java/org/jabref/gui/entryeditor/citationrelationtab/semanticscholar/SemanticScholarFetcher.java index 82ad2767f6a..557a135741e 100644 --- a/src/main/java/org/jabref/gui/entryeditor/citationrelationtab/semanticscholar/SemanticScholarFetcher.java +++ b/src/main/java/org/jabref/gui/entryeditor/citationrelationtab/semanticscholar/SemanticScholarFetcher.java @@ -33,7 +33,7 @@ public String getAPIUrl(String entry_point, BibEntry entry) { @Override public List searchCitedBy(BibEntry entry) throws FetcherException { - if (!entry.getDOI().isPresent()) { + if (entry.getDOI().isEmpty()) { return List.of(); } @@ -59,7 +59,7 @@ public List searchCitedBy(BibEntry entry) throws FetcherException { @Override public List searchCiting(BibEntry entry) throws FetcherException { - if (!entry.getDOI().isPresent()) { + if (entry.getDOI().isEmpty()) { return List.of(); } diff --git a/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java b/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java index 68c80974aa4..04eab9ccaf8 100644 --- a/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java +++ b/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java @@ -126,7 +126,7 @@ private void resolveTags(AuxParserResult result) { List entriesToInsert = new ArrayList<>(); for (String key : result.getUniqueKeys()) { - if (!result.getGeneratedBibDatabase().getEntryByCitationKey(key).isPresent()) { + if (result.getGeneratedBibDatabase().getEntryByCitationKey(key).isEmpty()) { Optional entry = masterDatabase.getEntryByCitationKey(key); if (entry.isPresent()) { entriesToInsert.add(entry.get()); @@ -155,7 +155,7 @@ private void resolveCrossReferences(List entries, AuxParserResult resu List entriesToInsert = new ArrayList<>(); for (BibEntry entry : entries) { entry.getField(StandardField.CROSSREF).ifPresent(crossref -> { - if (!result.getGeneratedBibDatabase().getEntryByCitationKey(crossref).isPresent()) { + if (result.getGeneratedBibDatabase().getEntryByCitationKey(crossref).isEmpty()) { Optional refEntry = masterDatabase.getEntryByCitationKey(crossref); if (refEntry.isPresent()) { diff --git a/src/main/java/org/jabref/logic/bibtex/comparator/BibDatabaseDiff.java b/src/main/java/org/jabref/logic/bibtex/comparator/BibDatabaseDiff.java index 9e7b5939372..c4161345061 100644 --- a/src/main/java/org/jabref/logic/bibtex/comparator/BibDatabaseDiff.java +++ b/src/main/java/org/jabref/logic/bibtex/comparator/BibDatabaseDiff.java @@ -41,7 +41,7 @@ private BibDatabaseDiff(BibDatabaseContext originalDatabase, BibDatabaseContext } private boolean isEmpty() { - return !metaDataDiff.isPresent() && !preambleDiff.isPresent() && bibStringDiffs.isEmpty() && entryDiffs.isEmpty(); + return metaDataDiff.isEmpty() && preambleDiff.isEmpty() && bibStringDiffs.isEmpty() && entryDiffs.isEmpty(); } private List getBibEntryDiffs(BibDatabaseContext originalDatabase, BibDatabaseContext newDatabase) { diff --git a/src/main/java/org/jabref/logic/cleanup/ConvertToBiblatexCleanup.java b/src/main/java/org/jabref/logic/cleanup/ConvertToBiblatexCleanup.java index 470d01f335b..19a54049cc3 100644 --- a/src/main/java/org/jabref/logic/cleanup/ConvertToBiblatexCleanup.java +++ b/src/main/java/org/jabref/logic/cleanup/ConvertToBiblatexCleanup.java @@ -25,7 +25,7 @@ public List cleanup(BibEntry entry) { Field oldField = alias.getKey(); Field newField = alias.getValue(); entry.getField(oldField).ifPresent(oldValue -> { - if (!oldValue.isEmpty() && (!entry.getField(newField).isPresent())) { + if (!oldValue.isEmpty() && (entry.getField(newField).isEmpty())) { // There is content in the old field and no value in the new, so just copy entry.setField(newField, oldValue).ifPresent(changes::add); entry.clearField(oldField).ifPresent(changes::add); diff --git a/src/main/java/org/jabref/logic/cleanup/ConvertToBibtexCleanup.java b/src/main/java/org/jabref/logic/cleanup/ConvertToBibtexCleanup.java index 1b289c091d9..a4e6a5e64d1 100644 --- a/src/main/java/org/jabref/logic/cleanup/ConvertToBibtexCleanup.java +++ b/src/main/java/org/jabref/logic/cleanup/ConvertToBibtexCleanup.java @@ -40,7 +40,7 @@ public List cleanup(BibEntry entry) { Field oldField = alias.getValue(); Field newField = alias.getKey(); entry.getField(oldField).ifPresent(oldValue -> { - if (!oldValue.isEmpty() && (!entry.getField(newField).isPresent())) { + if (!oldValue.isEmpty() && (entry.getField(newField).isEmpty())) { // There is content in the old field and no value in the new, so just copy entry.setField(newField, oldValue).ifPresent(changes::add); entry.clearField(oldField).ifPresent(changes::add); diff --git a/src/main/java/org/jabref/logic/cleanup/FileLinksCleanup.java b/src/main/java/org/jabref/logic/cleanup/FileLinksCleanup.java index fb72153186f..5e89cacbbec 100644 --- a/src/main/java/org/jabref/logic/cleanup/FileLinksCleanup.java +++ b/src/main/java/org/jabref/logic/cleanup/FileLinksCleanup.java @@ -18,7 +18,7 @@ public class FileLinksCleanup implements CleanupJob { @Override public List cleanup(BibEntry entry) { Optional oldValue = entry.getField(StandardField.FILE); - if (!oldValue.isPresent()) { + if (oldValue.isEmpty()) { return Collections.emptyList(); } diff --git a/src/main/java/org/jabref/logic/cleanup/ISSNCleanup.java b/src/main/java/org/jabref/logic/cleanup/ISSNCleanup.java index 735e408b3a5..e703c296c75 100644 --- a/src/main/java/org/jabref/logic/cleanup/ISSNCleanup.java +++ b/src/main/java/org/jabref/logic/cleanup/ISSNCleanup.java @@ -14,7 +14,7 @@ public class ISSNCleanup implements CleanupJob { @Override public List cleanup(BibEntry entry) { Optional issnString = entry.getField(StandardField.ISSN); - if (!issnString.isPresent()) { + if (issnString.isEmpty()) { return Collections.emptyList(); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/ACS.java b/src/main/java/org/jabref/logic/importer/fetcher/ACS.java index 73fc7f3ead9..11cf1fd9ca3 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/ACS.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/ACS.java @@ -26,23 +26,15 @@ public class ACS implements FulltextFetcher { private static final String SOURCE = "https://pubs.acs.org/doi/abs/%s"; /** - * Tries to find a fulltext URL for a given BibTex entry. - *

- * Currently only uses the DOI if found. - * - * @param entry The Bibtex entry - * @return The fulltext PDF URL Optional, if found, or an empty Optional if not found. - * @throws NullPointerException if no BibTex entry is given - * @throws java.io.IOException + * Tries to find a fulltext URL for a given BibTeX entry. + * Requires the entry to have a DOI field. + * In case no DOI is present, an empty Optional is returned. */ @Override public Optional findFullText(BibEntry entry) throws IOException { Objects.requireNonNull(entry); - - // DOI search Optional doi = entry.getField(StandardField.DOI).flatMap(DOI::parse); - - if (!doi.isPresent()) { + if (doi.isEmpty()) { return Optional.empty(); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/ApsFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/ApsFetcher.java index 2a5ca987964..88de237ab9b 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/ApsFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/ApsFetcher.java @@ -35,7 +35,7 @@ public Optional findFullText(BibEntry entry) throws IOException { Optional doi = entry.getField(StandardField.DOI).flatMap(DOI::parse); - if (!doi.isPresent()) { + if (doi.isEmpty()) { return Optional.empty(); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/MrDLibFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/MrDLibFetcher.java index 818f80ea105..570e9777a3f 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/MrDLibFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/MrDLibFetcher.java @@ -54,7 +54,7 @@ public String getName() { @Override public List performSearch(BibEntry entry) throws FetcherException { Optional title = entry.getFieldLatexFree(StandardField.TITLE); - if (!title.isPresent()) { + if (title.isEmpty()) { // without a title there is no reason to ask MrDLib return List.of(); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/OpenAccessDoi.java b/src/main/java/org/jabref/logic/importer/fetcher/OpenAccessDoi.java index 42a89a32f4e..9e12625e4fd 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/OpenAccessDoi.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/OpenAccessDoi.java @@ -36,7 +36,7 @@ public Optional findFullText(BibEntry entry) throws IOException { Optional doi = entry.getField(StandardField.DOI) .flatMap(DOI::parse); - if (!doi.isPresent()) { + if (doi.isEmpty()) { return Optional.empty(); } diff --git a/src/main/java/org/jabref/logic/integrity/DateChecker.java b/src/main/java/org/jabref/logic/integrity/DateChecker.java index 83f0077b8aa..a79e37994e8 100644 --- a/src/main/java/org/jabref/logic/integrity/DateChecker.java +++ b/src/main/java/org/jabref/logic/integrity/DateChecker.java @@ -15,7 +15,7 @@ public Optional checkValue(String value) { } Optional parsedDate = Date.parse(value); - if (!parsedDate.isPresent()) { + if (parsedDate.isEmpty()) { return Optional.of(Localization.lang("incorrect format")); } diff --git a/src/main/java/org/jabref/logic/integrity/FileChecker.java b/src/main/java/org/jabref/logic/integrity/FileChecker.java index dc59850c229..d59e3c5d1ea 100644 --- a/src/main/java/org/jabref/logic/integrity/FileChecker.java +++ b/src/main/java/org/jabref/logic/integrity/FileChecker.java @@ -36,7 +36,7 @@ public Optional checkValue(String value) { for (LinkedFile file : linkedFiles) { Optional linkedFile = file.findIn(context, filePreferences); - if ((!linkedFile.isPresent()) || !Files.exists(linkedFile.get())) { + if ((linkedFile.isEmpty()) || !Files.exists(linkedFile.get())) { return Optional.of(Localization.lang("link should refer to a correct file path")); } } diff --git a/src/main/java/org/jabref/logic/msbib/MSBibConverter.java b/src/main/java/org/jabref/logic/msbib/MSBibConverter.java index 1870254e933..41f030e9be9 100644 --- a/src/main/java/org/jabref/logic/msbib/MSBibConverter.java +++ b/src/main/java/org/jabref/logic/msbib/MSBibConverter.java @@ -67,7 +67,7 @@ public static MSBibEntry convert(BibEntry entry) { result.day = entry.getFieldOrAliasLatexFree(StandardField.DAY).orElse(null); result.month = entry.getMonth().map(Month::getFullName).orElse(null); - if (!entry.getFieldLatexFree(StandardField.YEAR).isPresent()) { + if (entry.getFieldLatexFree(StandardField.YEAR).isEmpty()) { result.year = entry.getFieldOrAliasLatexFree(StandardField.YEAR).orElse(null); } result.journalName = entry.getFieldOrAliasLatexFree(StandardField.JOURNAL).orElse(null); diff --git a/src/main/java/org/jabref/logic/shared/DBMSSynchronizer.java b/src/main/java/org/jabref/logic/shared/DBMSSynchronizer.java index 020b4c8de9d..d388de0b884 100644 --- a/src/main/java/org/jabref/logic/shared/DBMSSynchronizer.java +++ b/src/main/java/org/jabref/logic/shared/DBMSSynchronizer.java @@ -327,7 +327,7 @@ public void pullChanges() { * Synchronizes local BibEntries only if last entry changes still remain */ public void pullLastEntryChanges() { - if (!lastEntryChanged.isEmpty()) { + if (lastEntryChanged.isPresent()) { if (!checkCurrentConnection()) { return; } @@ -342,7 +342,7 @@ public void pullLastEntryChanges() { * Synchronizes local BibEntries and pulls remaining last entry changes */ private void pullWithLastEntry() { - if (!lastEntryChanged.isEmpty() && isPresentLocalBibEntry(lastEntryChanged.get())) { + if (lastEntryChanged.isPresent() && isPresentLocalBibEntry(lastEntryChanged.get())) { synchronizeSharedEntry(lastEntryChanged.get()); } lastEntryChanged = Optional.empty(); diff --git a/src/main/java/org/jabref/migrations/ConvertLegacyExplicitGroups.java b/src/main/java/org/jabref/migrations/ConvertLegacyExplicitGroups.java index 1b174abd162..63f1ab809c4 100644 --- a/src/main/java/org/jabref/migrations/ConvertLegacyExplicitGroups.java +++ b/src/main/java/org/jabref/migrations/ConvertLegacyExplicitGroups.java @@ -18,7 +18,7 @@ public class ConvertLegacyExplicitGroups implements PostOpenMigration { @Override public void performMigration(ParserResult parserResult) { Objects.requireNonNull(parserResult); - if (!parserResult.getMetaData().getGroups().isPresent()) { + if (parserResult.getMetaData().getGroups().isEmpty()) { return; } diff --git a/src/main/java/org/jabref/migrations/ConvertMarkingToGroups.java b/src/main/java/org/jabref/migrations/ConvertMarkingToGroups.java index 74832a8ca60..5326ae73fca 100644 --- a/src/main/java/org/jabref/migrations/ConvertMarkingToGroups.java +++ b/src/main/java/org/jabref/migrations/ConvertMarkingToGroups.java @@ -49,7 +49,7 @@ public void performMigration(ParserResult parserResult) { markingGroup.addEntriesToGroup(markingMatchedEntries); } - if (!parserResult.getMetaData().getGroups().isPresent()) { + if (parserResult.getMetaData().getGroups().isEmpty()) { parserResult.getMetaData().setGroups(GroupTreeNode.fromGroup(DefaultGroupsFactory.getAllEntriesGroup())); } GroupTreeNode root = parserResult.getMetaData().getGroups().get(); @@ -68,7 +68,7 @@ private Multimap getMarkingWithEntries(List entries) for (BibEntry entry : entries) { Optional marking = entry.getField(InternalField.MARKED_INTERNAL); - if (!marking.isPresent()) { + if (marking.isEmpty()) { continue; } diff --git a/src/main/java/org/jabref/model/util/OptionalUtil.java b/src/main/java/org/jabref/model/util/OptionalUtil.java index 98034401791..d3610010af6 100644 --- a/src/main/java/org/jabref/model/util/OptionalUtil.java +++ b/src/main/java/org/jabref/model/util/OptionalUtil.java @@ -13,8 +13,8 @@ public class OptionalUtil { public static boolean equals(Optional left, Optional right, BiPredicate equality) { - if (!left.isPresent()) { - return !right.isPresent(); + if (left.isEmpty()) { + return right.isEmpty(); } else { if (right.isPresent()) { return equality.test(left.get(), right.get());