From 1290a40dff502909a38c7c2b6b8df4540fd94c92 Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Wed, 2 Dec 2020 14:30:09 -0700 Subject: [PATCH 1/7] Add needsSharedDatabase to validate if DatabaseLocation is shared --- src/main/java/org/jabref/gui/actions/ActionHelper.java | 8 ++++++++ .../jabref/gui/shared/PullChangesFromSharedAction.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jabref/gui/actions/ActionHelper.java b/src/main/java/org/jabref/gui/actions/ActionHelper.java index acda7c7c1df..08d09f270f2 100644 --- a/src/main/java/org/jabref/gui/actions/ActionHelper.java +++ b/src/main/java/org/jabref/gui/actions/ActionHelper.java @@ -12,6 +12,7 @@ import javafx.scene.control.TabPane; import org.jabref.gui.StateManager; +import org.jabref.logic.shared.DatabaseLocation; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.LinkedFile; import org.jabref.model.entry.field.Field; @@ -26,6 +27,13 @@ public static BooleanExpression needsDatabase(StateManager stateManager) { return stateManager.activeDatabaseProperty().isPresent(); } + public static BooleanExpression needsSharedDatabase(StateManager stateManager){ + var binding = Bindings.createBooleanBinding(() -> + stateManager.activeDatabaseProperty().getValue().filter(context -> context.getLocation() == DatabaseLocation.SHARED).isPresent(), + stateManager.activeDatabaseProperty()); + return BooleanExpression.booleanExpression(binding); + } + public static BooleanExpression needsEntriesSelected(StateManager stateManager) { return Bindings.isNotEmpty(stateManager.getSelectedEntries()); } diff --git a/src/main/java/org/jabref/gui/shared/PullChangesFromSharedAction.java b/src/main/java/org/jabref/gui/shared/PullChangesFromSharedAction.java index c3c75e18e2a..d19090cf367 100644 --- a/src/main/java/org/jabref/gui/shared/PullChangesFromSharedAction.java +++ b/src/main/java/org/jabref/gui/shared/PullChangesFromSharedAction.java @@ -12,7 +12,7 @@ public class PullChangesFromSharedAction extends SimpleCommand { public PullChangesFromSharedAction(StateManager stateManager) { this.stateManager = stateManager; - this.executable.bind(ActionHelper.needsDatabase(stateManager)); + this.executable.bind(ActionHelper.needsDatabase(stateManager).and(ActionHelper.needsSharedDatabase(stateManager))); } public void execute() { From 139115ba788eddf36a36fed1064be8b4337dc166 Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Wed, 2 Dec 2020 17:05:31 -0700 Subject: [PATCH 2/7] Update CHANGELOG.md with fix for pullingChangesFromSharedDb exception --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfcd7cb3ce1..81d5e29e509 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve ## [Unreleased] ### Added - +- We added a Boolean Expression to validate if the current database location is shared, preventing an exception when Pulling Changes From Shared Database. [#6959](https://github.com/JabRef/jabref/issues/6959) - We added a query parser and mapping layer to enable conversion of queries formulated in simplified lucene syntax by the user into api queries. [#6799](https://github.com/JabRef/jabref/pull/6799) - We added some basic functionality to customise the look of JabRef by importing a css theme file. [#5790](https://github.com/JabRef/jabref/issues/5790) - We added connection check function in network preference setting [#6560](https://github.com/JabRef/jabref/issues/6560) From b6f88e045b533bcb81159656f0afa4bf952d3851 Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Thu, 3 Dec 2020 12:10:12 -0700 Subject: [PATCH 3/7] Refactor needsSharedDatabase to use EasyBind.map --- src/main/java/org/jabref/gui/actions/ActionHelper.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jabref/gui/actions/ActionHelper.java b/src/main/java/org/jabref/gui/actions/ActionHelper.java index 08d09f270f2..7bbccc731b9 100644 --- a/src/main/java/org/jabref/gui/actions/ActionHelper.java +++ b/src/main/java/org/jabref/gui/actions/ActionHelper.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Optional; +import com.tobiasdiez.easybind.EasyBinding; import javafx.beans.binding.Binding; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanExpression; @@ -27,10 +28,9 @@ public static BooleanExpression needsDatabase(StateManager stateManager) { return stateManager.activeDatabaseProperty().isPresent(); } - public static BooleanExpression needsSharedDatabase(StateManager stateManager){ - var binding = Bindings.createBooleanBinding(() -> - stateManager.activeDatabaseProperty().getValue().filter(context -> context.getLocation() == DatabaseLocation.SHARED).isPresent(), - stateManager.activeDatabaseProperty()); + public static BooleanExpression needsSharedDatabase(StateManager stateManager) { + EasyBinding<Boolean> binding = EasyBind.map(stateManager.activeDatabaseProperty(), context -> + context.filter( c -> c.getLocation() == DatabaseLocation.SHARED).isPresent()); return BooleanExpression.booleanExpression(binding); } From 394762ee1c7cb47d026d5db6dde8b966ce31bd6c Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Thu, 3 Dec 2020 12:13:04 -0700 Subject: [PATCH 4/7] Change Boolean Expression for validation to simplify --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81d5e29e509..8eda1305e96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve ## [Unreleased] ### Added -- We added a Boolean Expression to validate if the current database location is shared, preventing an exception when Pulling Changes From Shared Database. [#6959](https://github.com/JabRef/jabref/issues/6959) +- We added a validation to check if the current database location is shared, preventing an exception when Pulling Changes From Shared Database. [#6959](https://github.com/JabRef/jabref/issues/6959) - We added a query parser and mapping layer to enable conversion of queries formulated in simplified lucene syntax by the user into api queries. [#6799](https://github.com/JabRef/jabref/pull/6799) - We added some basic functionality to customise the look of JabRef by importing a css theme file. [#5790](https://github.com/JabRef/jabref/issues/5790) - We added connection check function in network preference setting [#6560](https://github.com/JabRef/jabref/issues/6560) From 452ce01df1dfc05b3f597c14297a1dcbc3f1b8ab Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Thu, 3 Dec 2020 13:01:04 -0700 Subject: [PATCH 5/7] Remove whitespace to meet checkstyle criteria --- src/main/java/org/jabref/gui/actions/ActionHelper.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/jabref/gui/actions/ActionHelper.java b/src/main/java/org/jabref/gui/actions/ActionHelper.java index 7bbccc731b9..156db0a8990 100644 --- a/src/main/java/org/jabref/gui/actions/ActionHelper.java +++ b/src/main/java/org/jabref/gui/actions/ActionHelper.java @@ -19,7 +19,6 @@ import org.jabref.model.entry.field.Field; import org.jabref.model.util.FileHelper; import org.jabref.preferences.PreferencesService; - import com.tobiasdiez.easybind.EasyBind; public class ActionHelper { @@ -29,8 +28,7 @@ public static BooleanExpression needsDatabase(StateManager stateManager) { } public static BooleanExpression needsSharedDatabase(StateManager stateManager) { - EasyBinding<Boolean> binding = EasyBind.map(stateManager.activeDatabaseProperty(), context -> - context.filter( c -> c.getLocation() == DatabaseLocation.SHARED).isPresent()); + EasyBinding<Boolean> binding = EasyBind.map(stateManager.activeDatabaseProperty(), context -> context.filter(c -> c.getLocation() == DatabaseLocation.SHARED).isPresent()); return BooleanExpression.booleanExpression(binding); } From 5dfa820e29ed62e949beeada7532b23f0508f43b Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Thu, 3 Dec 2020 14:07:30 -0700 Subject: [PATCH 6/7] Refactor import order to meet checkstyle criteria --- src/main/java/org/jabref/gui/actions/ActionHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jabref/gui/actions/ActionHelper.java b/src/main/java/org/jabref/gui/actions/ActionHelper.java index 156db0a8990..4225ca8f2bf 100644 --- a/src/main/java/org/jabref/gui/actions/ActionHelper.java +++ b/src/main/java/org/jabref/gui/actions/ActionHelper.java @@ -5,7 +5,6 @@ import java.util.List; import java.util.Optional; -import com.tobiasdiez.easybind.EasyBinding; import javafx.beans.binding.Binding; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanExpression; @@ -19,7 +18,9 @@ import org.jabref.model.entry.field.Field; import org.jabref.model.util.FileHelper; import org.jabref.preferences.PreferencesService; + import com.tobiasdiez.easybind.EasyBind; +import com.tobiasdiez.easybind.EasyBinding; public class ActionHelper { From bde9d557c75ecb85bc2df739a36b1edf02792bc4 Mon Sep 17 00:00:00 2001 From: luis-valdez <lvaldez@nearsoft.com> Date: Thu, 3 Dec 2020 14:14:54 -0700 Subject: [PATCH 7/7] Add blankline after heading to meet checkstyle criteria --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eda1305e96..08cfc225f5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve ## [Unreleased] ### Added + - We added a validation to check if the current database location is shared, preventing an exception when Pulling Changes From Shared Database. [#6959](https://github.com/JabRef/jabref/issues/6959) - We added a query parser and mapping layer to enable conversion of queries formulated in simplified lucene syntax by the user into api queries. [#6799](https://github.com/JabRef/jabref/pull/6799) - We added some basic functionality to customise the look of JabRef by importing a css theme file. [#5790](https://github.com/JabRef/jabref/issues/5790)