From 0430dedfbc2965c3f3c86bade15a6e4450ce6dc2 Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Mon, 31 Jul 2017 18:06:04 +0200 Subject: [PATCH 1/3] Fix some findbugs issues --- src/main/java/org/jabref/Globals.java | 2 +- src/main/java/org/jabref/gui/BasePanel.java | 4 +++- .../org/jabref/gui/importer/actions/OpenDatabaseAction.java | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jabref/Globals.java b/src/main/java/org/jabref/Globals.java index 7e404d1d31c..5e719a57184 100644 --- a/src/main/java/org/jabref/Globals.java +++ b/src/main/java/org/jabref/Globals.java @@ -58,7 +58,7 @@ private Globals() { } // Key binding preferences - public static KeyBindingRepository getKeyPrefs() { + public static synchronized KeyBindingRepository getKeyPrefs() { if (keyBindingRepository == null) { keyBindingRepository = prefs.getKeyBindingRepository(); } diff --git a/src/main/java/org/jabref/gui/BasePanel.java b/src/main/java/org/jabref/gui/BasePanel.java index d221e3e7d17..585900208a6 100644 --- a/src/main/java/org/jabref/gui/BasePanel.java +++ b/src/main/java/org/jabref/gui/BasePanel.java @@ -2144,7 +2144,9 @@ public void action() { if ((focused != null) && (focused instanceof FieldEditor) && focused.hasFocus()) { // User is currently editing a field: // Check if it is the preamble: - if ((preambleEditor != null) && (focused == preambleEditor.getFieldEditor())) { + + FieldEditor f = (FieldEditor) focused; + if ((preambleEditor != null) && (f.equals(preambleEditor.getFieldEditor()))) { preambleEditor.storeCurrentEdit(); } } diff --git a/src/main/java/org/jabref/gui/importer/actions/OpenDatabaseAction.java b/src/main/java/org/jabref/gui/importer/actions/OpenDatabaseAction.java index 631cb059e39..a31abf7db04 100644 --- a/src/main/java/org/jabref/gui/importer/actions/OpenDatabaseAction.java +++ b/src/main/java/org/jabref/gui/importer/actions/OpenDatabaseAction.java @@ -150,8 +150,8 @@ public void openFiles(List filesToOpen, boolean raisePanel) { Path file = iterator.next(); for (int i = 0; i < frame.getTabbedPane().getTabCount(); i++) { BasePanel basePanel = frame.getBasePanelAt(i); - if ((basePanel.getBibDatabaseContext().getDatabaseFile().isPresent()) - && basePanel.getBibDatabaseContext().getDatabaseFile().get().equals(file)) { + if ((basePanel.getBibDatabaseContext().getDatabasePath().isPresent()) + && basePanel.getBibDatabaseContext().getDatabasePath().get().equals(file)) { iterator.remove(); removed++; // See if we removed the final one. If so, we must perhaps From cddc12789796a5edb14d799a71182389389bcfcd Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Mon, 31 Jul 2017 18:26:57 +0200 Subject: [PATCH 2/3] Fix some more equals bugs and possible npe --- .../logic/citationstyle/CitationStyle.java | 16 +++++++++++----- .../logic/importer/fetcher/MrDLibFetcher.java | 4 ++-- .../jabref/model/groups/WordKeywordGroup.java | 18 +++++++++--------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java b/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java index e5ce5494dc0..64c5df9c0d5 100644 --- a/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java +++ b/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java @@ -163,16 +163,22 @@ public String toString() { } @Override - public boolean equals(Object other) { - if (this == other) { + public boolean equals(Object o) { + if (this == o) { return true; } - if (other == null || getClass() != other.getClass()) { + if ((o == null) || (getClass() != o.getClass())) { return false; } - CitationStyle that = (CitationStyle) other; - return source != null ? source.equals(that.source) : that.source == null; + CitationStyle other = (CitationStyle) o; + return Objects.equals(source, other.source); + } + + @Override + public int hashCode() + { + return Objects.hash(source); } } 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 bfe46bae381..bb31de44baa 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/MrDLibFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/MrDLibFetcher.java @@ -118,10 +118,10 @@ private String constructQuery(String queryWithTitle) { URI uri = null; try { uri = builder.build(); + return uri.toString(); } catch (URISyntaxException e) { LOGGER.error(e.getMessage(), e); } - System.out.println("Query: " + uri.toString()); - return uri.toString(); + return ""; } } diff --git a/src/main/java/org/jabref/model/groups/WordKeywordGroup.java b/src/main/java/org/jabref/model/groups/WordKeywordGroup.java index 5f872a765dc..7f13729b15a 100644 --- a/src/main/java/org/jabref/model/groups/WordKeywordGroup.java +++ b/src/main/java/org/jabref/model/groups/WordKeywordGroup.java @@ -23,8 +23,8 @@ public class WordKeywordGroup extends KeywordGroup implements GroupEntryChanger private final boolean onlySplitWordsAtSeparator; public WordKeywordGroup(String name, GroupHierarchyType context, String searchField, - String searchExpression, boolean caseSensitive, Character keywordSeparator, - boolean onlySplitWordsAtSeparator) { + String searchExpression, boolean caseSensitive, Character keywordSeparator, + boolean onlySplitWordsAtSeparator) { super(name, context, searchField, searchExpression, caseSensitive); this.keywordSeparator = keywordSeparator; @@ -92,13 +92,13 @@ public boolean equals(Object o) { return false; } WordKeywordGroup other = (WordKeywordGroup) o; - return getName().equals(other.getName()) - && (getHierarchicalContext() == other.getHierarchicalContext()) - && searchField.equals(other.searchField) - && searchExpression.equals(other.searchExpression) - && (caseSensitive == other.caseSensitive) - && keywordSeparator == other.keywordSeparator - && onlySplitWordsAtSeparator == other.onlySplitWordsAtSeparator; + return Objects.equals(getName(), other.getName()) + && Objects.equals(getHierarchicalContext(), other.getHierarchicalContext()) + && Objects.equals(searchField, other.searchField) + && Objects.equals(searchExpression, other.searchExpression) + && Objects.equals(caseSensitive, other.caseSensitive) + && Objects.equals(keywordSeparator, other.keywordSeparator) + && Objects.equals(onlySplitWordsAtSeparator, other.onlySplitWordsAtSeparator); } @Override From c7f840d8490215edfccee6f920908e7c5cd71d64 Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Tue, 1 Aug 2017 13:22:42 +0200 Subject: [PATCH 3/3] better variable name --- src/main/java/org/jabref/gui/BasePanel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/gui/BasePanel.java b/src/main/java/org/jabref/gui/BasePanel.java index 585900208a6..493c6abec6b 100644 --- a/src/main/java/org/jabref/gui/BasePanel.java +++ b/src/main/java/org/jabref/gui/BasePanel.java @@ -2145,8 +2145,8 @@ public void action() { // User is currently editing a field: // Check if it is the preamble: - FieldEditor f = (FieldEditor) focused; - if ((preambleEditor != null) && (f.equals(preambleEditor.getFieldEditor()))) { + FieldEditor fieldEditor = (FieldEditor) focused; + if ((preambleEditor != null) && (fieldEditor.equals(preambleEditor.getFieldEditor()))) { preambleEditor.storeCurrentEdit(); } }