From c5885712e802f6cb62a0571a52a92027f7e7b41f Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Wed, 25 Oct 2023 20:58:07 +0200 Subject: [PATCH 01/10] Relativize filepath if "General file directory" property present --- .../fileformat/PdfMergeMetadataImporter.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index 48207887061..f03964c3231 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -24,6 +24,7 @@ import org.jabref.model.entry.LinkedFile; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.StandardField; +import org.jabref.model.metadata.MetaData; import org.jabref.preferences.FilePreferences; import org.slf4j.Logger; @@ -72,6 +73,10 @@ public ParserResult importDatabase(String data) throws IOException { @Override public ParserResult importDatabase(Path filePath) throws IOException { + return importDatabase(filePath, new MetaData()); + } + + public ParserResult importDatabase(Path filePath, MetaData metaData) throws IOException { List candidates = new ArrayList<>(); for (Importer metadataImporter : metadataImporters) { @@ -124,8 +129,13 @@ public ParserResult importDatabase(Path filePath) throws IOException { } } } - - entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); + Optional defaultFileDirectoryOptional = metaData.getDefaultFileDirectory(); + if(defaultFileDirectoryOptional.isPresent()) { + Path relativizedFilePath = Path.of(defaultFileDirectoryOptional.get()).relativize(filePath); + entry.addFile(new LinkedFile("", relativizedFilePath, StandardFileType.PDF.getName())); + } else { + entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); + } return new ParserResult(List.of(entry)); } From 27bd000c21c3acdc17b9f6fb33885f1b24147caa Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Wed, 25 Oct 2023 21:03:35 +0200 Subject: [PATCH 02/10] Extend method with MetaData object --- .../java/org/jabref/gui/externalfiles/ImportHandler.java | 2 +- .../logic/externalfiles/ExternalFilesContentImporter.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java index a9fbbe28eb8..d2cf0aa5aa2 100644 --- a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java +++ b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java @@ -116,7 +116,7 @@ protected List call() { try { if (FileUtil.isPDFFile(file)) { - var pdfImporterResult = contentImporter.importPDFContent(file); + var pdfImporterResult = contentImporter.importPDFContent(file, bibDatabaseContext.getMetaData()); List pdfEntriesInFile = pdfImporterResult.getDatabase().getEntries(); if (pdfImporterResult.hasWarnings()) { diff --git a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java index e75b1df2683..fd912c6ad50 100644 --- a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java +++ b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java @@ -7,6 +7,7 @@ import org.jabref.logic.importer.OpenDatabase; import org.jabref.logic.importer.ParserResult; import org.jabref.logic.importer.fileformat.PdfMergeMetadataImporter; +import org.jabref.model.metadata.MetaData; import org.jabref.model.util.FileUpdateMonitor; public class ExternalFilesContentImporter { @@ -17,9 +18,9 @@ public ExternalFilesContentImporter(ImportFormatPreferences importFormatPreferen this.importFormatPreferences = importFormatPreferences; } - public ParserResult importPDFContent(Path file) { + public ParserResult importPDFContent(Path file, MetaData metaData) { try { - return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file); + return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file, metaData); } catch (IOException e) { return ParserResult.fromError(e); } From 65b3ef7847e52cb3f7afb48aeabc0570d5514535 Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Thu, 26 Oct 2023 12:40:51 +0200 Subject: [PATCH 03/10] Fix failing checkstyle task (add space) --- .../logic/importer/fileformat/PdfMergeMetadataImporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index f03964c3231..f2da5bb8aa7 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -130,7 +130,7 @@ public ParserResult importDatabase(Path filePath, MetaData metaData) throws IOEx } } Optional defaultFileDirectoryOptional = metaData.getDefaultFileDirectory(); - if(defaultFileDirectoryOptional.isPresent()) { + if (defaultFileDirectoryOptional.isPresent()) { Path relativizedFilePath = Path.of(defaultFileDirectoryOptional.get()).relativize(filePath); entry.addFile(new LinkedFile("", relativizedFilePath, StandardFileType.PDF.getName())); } else { From 18c901452be308569b761ab3a6ba98206b3a9cff Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Thu, 26 Oct 2023 12:44:44 +0200 Subject: [PATCH 04/10] Use "first existing file directory" preference to relativize file path" --- .../org/jabref/gui/externalfiles/ImportHandler.java | 3 ++- .../externalfiles/ExternalFilesContentImporter.java | 6 +++--- .../importer/fileformat/PdfMergeMetadataImporter.java | 10 ++++------ 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java index d2cf0aa5aa2..14c9a005ddc 100644 --- a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java +++ b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java @@ -116,7 +116,8 @@ protected List call() { try { if (FileUtil.isPDFFile(file)) { - var pdfImporterResult = contentImporter.importPDFContent(file, bibDatabaseContext.getMetaData()); + Optional globalFileDir = bibDatabaseContext.getFirstExistingFileDir(preferencesService.getFilePreferences()); + var pdfImporterResult = contentImporter.importPDFContent(file, globalFileDir); List pdfEntriesInFile = pdfImporterResult.getDatabase().getEntries(); if (pdfImporterResult.hasWarnings()) { diff --git a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java index fd912c6ad50..4406938050a 100644 --- a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java +++ b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java @@ -2,12 +2,12 @@ import java.io.IOException; import java.nio.file.Path; +import java.util.Optional; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.OpenDatabase; import org.jabref.logic.importer.ParserResult; import org.jabref.logic.importer.fileformat.PdfMergeMetadataImporter; -import org.jabref.model.metadata.MetaData; import org.jabref.model.util.FileUpdateMonitor; public class ExternalFilesContentImporter { @@ -18,9 +18,9 @@ public ExternalFilesContentImporter(ImportFormatPreferences importFormatPreferen this.importFormatPreferences = importFormatPreferences; } - public ParserResult importPDFContent(Path file, MetaData metaData) { + public ParserResult importPDFContent(Path file, Optional globalFileDir) { try { - return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file, metaData); + return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file, globalFileDir); } catch (IOException e) { return ParserResult.fromError(e); } diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index f2da5bb8aa7..b6daa4b8e3a 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -24,7 +24,6 @@ import org.jabref.model.entry.LinkedFile; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.StandardField; -import org.jabref.model.metadata.MetaData; import org.jabref.preferences.FilePreferences; import org.slf4j.Logger; @@ -73,10 +72,10 @@ public ParserResult importDatabase(String data) throws IOException { @Override public ParserResult importDatabase(Path filePath) throws IOException { - return importDatabase(filePath, new MetaData()); + return importDatabase(filePath, Optional.empty()); } - public ParserResult importDatabase(Path filePath, MetaData metaData) throws IOException { + public ParserResult importDatabase(Path filePath, Optional globalFileDir) throws IOException { List candidates = new ArrayList<>(); for (Importer metadataImporter : metadataImporters) { @@ -129,9 +128,8 @@ public ParserResult importDatabase(Path filePath, MetaData metaData) throws IOEx } } } - Optional defaultFileDirectoryOptional = metaData.getDefaultFileDirectory(); - if (defaultFileDirectoryOptional.isPresent()) { - Path relativizedFilePath = Path.of(defaultFileDirectoryOptional.get()).relativize(filePath); + if (globalFileDir.isPresent()) { + Path relativizedFilePath = globalFileDir.get().relativize(filePath); entry.addFile(new LinkedFile("", relativizedFilePath, StandardFileType.PDF.getName())); } else { entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); From 59a2343000a10a032b94c8a360f30bf8dbd68681 Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Fri, 27 Oct 2023 12:01:03 +0200 Subject: [PATCH 05/10] Remove Optional wrapper from the Path parameter --- .../java/org/jabref/gui/externalfiles/ImportHandler.java | 4 +++- .../logic/externalfiles/ExternalFilesContentImporter.java | 3 +-- .../importer/fileformat/PdfMergeMetadataImporter.java | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java index 14c9a005ddc..692ac7d05dc 100644 --- a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java +++ b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java @@ -116,7 +116,9 @@ protected List call() { try { if (FileUtil.isPDFFile(file)) { - Optional globalFileDir = bibDatabaseContext.getFirstExistingFileDir(preferencesService.getFilePreferences()); + var filePreferences = preferencesService.getFilePreferences(); + Path globalFileDir = bibDatabaseContext.getFirstExistingFileDir(filePreferences) + .orElse(filePreferences.getWorkingDirectory()); var pdfImporterResult = contentImporter.importPDFContent(file, globalFileDir); List pdfEntriesInFile = pdfImporterResult.getDatabase().getEntries(); diff --git a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java index 4406938050a..adb7d49a7c3 100644 --- a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java +++ b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.nio.file.Path; -import java.util.Optional; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.OpenDatabase; @@ -18,7 +17,7 @@ public ExternalFilesContentImporter(ImportFormatPreferences importFormatPreferen this.importFormatPreferences = importFormatPreferences; } - public ParserResult importPDFContent(Path file, Optional globalFileDir) { + public ParserResult importPDFContent(Path file, Path globalFileDir) { try { return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file, globalFileDir); } catch (IOException e) { diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index b6daa4b8e3a..3b9530edfac 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -72,10 +72,10 @@ public ParserResult importDatabase(String data) throws IOException { @Override public ParserResult importDatabase(Path filePath) throws IOException { - return importDatabase(filePath, Optional.empty()); + return importDatabase(filePath, null); } - public ParserResult importDatabase(Path filePath, Optional globalFileDir) throws IOException { + public ParserResult importDatabase(Path filePath, Path globalFileDir) throws IOException { List candidates = new ArrayList<>(); for (Importer metadataImporter : metadataImporters) { @@ -128,8 +128,8 @@ public ParserResult importDatabase(Path filePath, Optional globalFileDir) } } } - if (globalFileDir.isPresent()) { - Path relativizedFilePath = globalFileDir.get().relativize(filePath); + if (globalFileDir != null) { + Path relativizedFilePath = globalFileDir.relativize(filePath); entry.addFile(new LinkedFile("", relativizedFilePath, StandardFileType.PDF.getName())); } else { entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); From 6cb13fc8e9d91b05feee1de27be4982e9bb41497 Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Fri, 27 Oct 2023 12:02:31 +0200 Subject: [PATCH 06/10] Rename a variable --- .../java/org/jabref/gui/externalfiles/ImportHandler.java | 4 ++-- .../logic/externalfiles/ExternalFilesContentImporter.java | 4 ++-- .../logic/importer/fileformat/PdfMergeMetadataImporter.java | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java index 692ac7d05dc..5d332d38a8a 100644 --- a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java +++ b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java @@ -117,9 +117,9 @@ protected List call() { try { if (FileUtil.isPDFFile(file)) { var filePreferences = preferencesService.getFilePreferences(); - Path globalFileDir = bibDatabaseContext.getFirstExistingFileDir(filePreferences) + Path workingDir = bibDatabaseContext.getFirstExistingFileDir(filePreferences) .orElse(filePreferences.getWorkingDirectory()); - var pdfImporterResult = contentImporter.importPDFContent(file, globalFileDir); + var pdfImporterResult = contentImporter.importPDFContent(file, workingDir); List pdfEntriesInFile = pdfImporterResult.getDatabase().getEntries(); if (pdfImporterResult.hasWarnings()) { diff --git a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java index adb7d49a7c3..57099125275 100644 --- a/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java +++ b/src/main/java/org/jabref/logic/externalfiles/ExternalFilesContentImporter.java @@ -17,9 +17,9 @@ public ExternalFilesContentImporter(ImportFormatPreferences importFormatPreferen this.importFormatPreferences = importFormatPreferences; } - public ParserResult importPDFContent(Path file, Path globalFileDir) { + public ParserResult importPDFContent(Path file, Path workingDir) { try { - return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file, globalFileDir); + return new PdfMergeMetadataImporter(importFormatPreferences).importDatabase(file, workingDir); } catch (IOException e) { return ParserResult.fromError(e); } diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index 3b9530edfac..946ec0469f0 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -75,7 +75,7 @@ public ParserResult importDatabase(Path filePath) throws IOException { return importDatabase(filePath, null); } - public ParserResult importDatabase(Path filePath, Path globalFileDir) throws IOException { + public ParserResult importDatabase(Path filePath, Path workingDir) throws IOException { List candidates = new ArrayList<>(); for (Importer metadataImporter : metadataImporters) { @@ -128,8 +128,8 @@ public ParserResult importDatabase(Path filePath, Path globalFileDir) throws IOE } } } - if (globalFileDir != null) { - Path relativizedFilePath = globalFileDir.relativize(filePath); + if (workingDir != null) { + Path relativizedFilePath = workingDir.relativize(filePath); entry.addFile(new LinkedFile("", relativizedFilePath, StandardFileType.PDF.getName())); } else { entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); From f09dbbe0e26d4bfe5adc32a7d0b77d18cf67da19 Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Mon, 30 Oct 2023 10:49:55 +0100 Subject: [PATCH 07/10] Add test which checks for PDF filepath relativization when working directory present --- .../fileformat/PdfMergeMetadataImporterTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java index c66f2b01a9d..3e5df9ff026 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java @@ -95,4 +95,20 @@ void importWorksAsExpected() throws Exception { assertEquals(Collections.singletonList(expected), result); } + + @Test + void pathShouldBeRelativized() throws Exception { + Path file = Path.of(PdfMergeMetadataImporter.class.getResource("/pdfs/minimal.pdf").toURI()); + Path workingDir = Path.of(PdfMergeMetadataImporter.class.getResource("/pdfs/").toURI()); + List result = importer.importDatabase(file, workingDir).getDatabase().getEntries(); + + BibEntry expected = new BibEntry(StandardEntryType.InProceedings); + expected.setField(StandardField.AUTHOR, "1 "); + expected.setField(StandardField.TITLE, "Hello World"); + + // Expecting relative path + expected.setField(StandardField.FILE, ":minimal.pdf:PDF"); + + assertEquals(Collections.singletonList(expected), result); + } } From 6a424cd8227e40b8fbe4a887595eca946af2a372 Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Fri, 3 Nov 2023 12:28:42 +0100 Subject: [PATCH 08/10] Use Builder pattern and change the way a collection is created --- .../fileformat/PdfMergeMetadataImporterTest.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java index 3e5df9ff026..9ef52ec6fbc 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporterTest.java @@ -102,13 +102,12 @@ void pathShouldBeRelativized() throws Exception { Path workingDir = Path.of(PdfMergeMetadataImporter.class.getResource("/pdfs/").toURI()); List result = importer.importDatabase(file, workingDir).getDatabase().getEntries(); - BibEntry expected = new BibEntry(StandardEntryType.InProceedings); - expected.setField(StandardField.AUTHOR, "1 "); - expected.setField(StandardField.TITLE, "Hello World"); + BibEntry expected = new BibEntry(StandardEntryType.InProceedings) + .withField(StandardField.AUTHOR, "1 ") + .withField(StandardField.TITLE, "Hello World") + // Expecting relative path + .withField(StandardField.FILE, ":minimal.pdf:PDF"); - // Expecting relative path - expected.setField(StandardField.FILE, ":minimal.pdf:PDF"); - - assertEquals(Collections.singletonList(expected), result); + assertEquals(List.of(expected), result); } } From b73faaf94cf9bf099f65b0eb4423e190b787bbdb Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Fri, 3 Nov 2023 12:33:06 +0100 Subject: [PATCH 09/10] Remove else branch --- .../logic/importer/fileformat/PdfMergeMetadataImporter.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index 946ec0469f0..8d8f199c24f 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -129,11 +129,9 @@ public ParserResult importDatabase(Path filePath, Path workingDir) throws IOExce } } if (workingDir != null) { - Path relativizedFilePath = workingDir.relativize(filePath); - entry.addFile(new LinkedFile("", relativizedFilePath, StandardFileType.PDF.getName())); - } else { - entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); + filePath = workingDir.relativize(filePath); } + entry.addFile(new LinkedFile("", filePath, StandardFileType.PDF.getName())); return new ParserResult(List.of(entry)); } From e6f87d0ed5bd332b4e55b6939926d4561ff2bff7 Mon Sep 17 00:00:00 2001 From: IceMajor2 <127668492+IceMajor2@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:20:48 +0100 Subject: [PATCH 10/10] Add JavaDoc for the importDatabase(Path, Path) explaining the working directory parameter --- .../importer/fileformat/PdfMergeMetadataImporter.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java index 8d8f199c24f..5d132e5ad79 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfMergeMetadataImporter.java @@ -75,6 +75,16 @@ public ParserResult importDatabase(Path filePath) throws IOException { return importDatabase(filePath, null); } + /** + * Same as {@link PdfMergeMetadataImporter#importDatabase(Path)}, but this + * relativizes the {@code filePath}, if {@code workingDir} is not null + * (otherwise no path modification happens). + * + * @param filePath the path to the file which should be imported + * @param workingDir one of the directories + * {@link BibDatabaseContext#getFileDirectories(FilePreferences) mentioned here} + * set up for this database + */ public ParserResult importDatabase(Path filePath, Path workingDir) throws IOException { List candidates = new ArrayList<>();