diff --git a/jablib/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java b/jablib/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java index 17cb4de7a37..9a335778552 100644 --- a/jablib/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java +++ b/jablib/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java @@ -149,7 +149,8 @@ public Optional performSearchById(String identifier) throws FetcherExc bibtexString = URLDownload.asString(openConnection).trim(); // BibTeX entry - fetchedEntry = BibtexParser.singleFromString(bibtexString, preferences); + List entries = new BibtexParser(preferences).parseEntries(bibtexString); + fetchedEntry = entries.isEmpty() ? Optional.empty() : Optional.of(entries.getFirst()); fetchedEntry.ifPresent(this::doPostCleanup); // Crossref has a dynamic API rate limit diff --git a/jablib/src/main/java/org/jabref/logic/net/URLDownload.java b/jablib/src/main/java/org/jabref/logic/net/URLDownload.java index 1339fd975ac..f545feb325b 100644 --- a/jablib/src/main/java/org/jabref/logic/net/URLDownload.java +++ b/jablib/src/main/java/org/jabref/logic/net/URLDownload.java @@ -232,7 +232,7 @@ public static String asString(URLConnection existingConnection) throws FetcherEx * @param connection an existing connection * @return the downloaded string */ - public static String asString(Charset encoding, URLConnection connection) throws FetcherException { + private static String asString(Charset encoding, URLConnection connection) throws FetcherException { try (InputStream input = new BufferedInputStream(connection.getInputStream()); Writer output = new StringWriter()) { copy(input, output, encoding);