From 949a81959cad515dac58a33b9ae6629578b6b3fa Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Tue, 1 Aug 2017 13:09:46 +0200 Subject: [PATCH 1/2] Fix importing preferences after resetting without restarting Set default Prefs to USER_HOME instead of working dir which could not have been intialized --- .../org/jabref/gui/util/FileDialogConfiguration.java | 3 ++- .../java/org/jabref/preferences/JabRefPreferences.java | 2 +- .../org/jabref/gui/util/FileDialogConfigurationTest.java | 9 +++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java b/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java index 87ebbdb025e..219b919d28e 100644 --- a/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java +++ b/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java @@ -80,7 +80,8 @@ public Builder withInitialDirectory(Path directory) { } //The lines above work also if the dir does not exist at all! //NULL is accepted by the filechooser as no inital path - if (!Files.exists(directory)) { + //Explicit null check, if somehow the parent is null, as Files.exists throws an NPE otherwise + if ((directory != null) && !Files.exists(directory)) { directory = null; } initialDirectory = directory; diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index 469478e6ae0..98acb38c4f1 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -536,7 +536,7 @@ private JabRefPreferences() { defaults.put(EXPORT_WORKING_DIRECTORY, USER_HOME); // Remembers working directory of last import defaults.put(IMPORT_WORKING_DIRECTORY, USER_HOME); - defaults.put(PREFS_EXPORT_PATH, WORKING_DIRECTORY); + defaults.put(PREFS_EXPORT_PATH, USER_HOME); defaults.put(AUTO_OPEN_FORM, Boolean.TRUE); defaults.put(BACKUP, Boolean.TRUE); defaults.put(OPEN_LAST_EDITED, Boolean.TRUE); diff --git a/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java b/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java index d4f0df99318..df4173bff24 100644 --- a/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java +++ b/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java @@ -60,6 +60,15 @@ public void testWithNullPathDirectory() { assertEquals(Optional.ofNullable(tempFolder), fileDialogConfiguration.getInitialDirectory()); } + @Test + public void testWithNonExistingDirectoryAndParentNull() { + String tempFolder = "workingDirectory"; + FileDialogConfiguration fileDialogConfiguration = new FileDialogConfiguration.Builder() + .withInitialDirectory(tempFolder).build(); + + assertEquals(Optional.ofNullable(null), fileDialogConfiguration.getInitialDirectory()); + } + @Test public void testSingleExtension() { FileDialogConfiguration fileDialogConfiguration = new FileDialogConfiguration.Builder() From 7a5d16fb485a6f4fb239e0a308b1c051d36236ca Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Tue, 1 Aug 2017 13:14:24 +0200 Subject: [PATCH 2/2] add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f0aa530698..aae8c186cab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# ### Fixed We fixed an issue where the fetcher for the Astrophysics Data System (ADS) added some non-bibtex data to the entry returned from the search [#3035](https://github.com/JabRef/jabref/issues/3035) We fixed an issue where assigning an entry via drag and drop to a group caused JabRef to stop/freeze completely [#3036](https://github.com/JabRef/jabref/issues/3036) +We fixed an issue where the preferences could not be imported without a restart of JabRef [#3064](https://github.com/JabRef/jabref/issues/3064) ### Removed