From 29838ee5961ac6bd955d43f29fc5e530f381af0b Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Tue, 9 Oct 2018 13:11:53 +0200 Subject: [PATCH] fix IndexOutOfBoundsException when saving preferences --- .../java/org/jabref/gui/SaveOrderConfigDisplay.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/jabref/gui/SaveOrderConfigDisplay.java b/src/main/java/org/jabref/gui/SaveOrderConfigDisplay.java index 72bd104f5c8..5103fba8d29 100644 --- a/src/main/java/org/jabref/gui/SaveOrderConfigDisplay.java +++ b/src/main/java/org/jabref/gui/SaveOrderConfigDisplay.java @@ -17,6 +17,7 @@ import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.InternalBibtexFields; import org.jabref.model.metadata.SaveOrderConfig; +import org.jabref.model.metadata.SaveOrderConfig.SortCriterion; public class SaveOrderConfigDisplay { @@ -85,12 +86,12 @@ public void setEnabled(boolean enabled) { public SaveOrderConfig getSaveOrderConfig() { SaveOrderConfig saveOrderConfig = new SaveOrderConfig(); - saveOrderConfig.getSortCriteria().get(0).field = getSelectedItemAsLowerCaseTrim(savePriSort); - saveOrderConfig.getSortCriteria().get(0).descending = savePriDesc.isSelected(); - saveOrderConfig.getSortCriteria().get(1).field = getSelectedItemAsLowerCaseTrim(saveSecSort); - saveOrderConfig.getSortCriteria().get(1).descending = saveSecDesc.isSelected(); - saveOrderConfig.getSortCriteria().get(2).field = getSelectedItemAsLowerCaseTrim(saveTerSort); - saveOrderConfig.getSortCriteria().get(2).descending = saveTerDesc.isSelected(); + SortCriterion primary = new SortCriterion(getSelectedItemAsLowerCaseTrim(savePriSort), savePriDesc.isSelected()); + saveOrderConfig.getSortCriteria().add(primary); + SortCriterion secondary = new SortCriterion(getSelectedItemAsLowerCaseTrim(saveSecSort), saveSecDesc.isSelected()); + saveOrderConfig.getSortCriteria().add(secondary); + SortCriterion tertiary = new SortCriterion(getSelectedItemAsLowerCaseTrim(saveTerSort), saveTerDesc.isSelected()); + saveOrderConfig.getSortCriteria().add(tertiary); return saveOrderConfig; }