Skip to content

Commit c7e399c

Browse files
authored
Merge pull request JabRef#6117 from JabRef/refactor-save
Refactor SaveAction
2 parents 0628f11 + f52bd03 commit c7e399c

File tree

14 files changed

+187
-192
lines changed

14 files changed

+187
-192
lines changed

src/main/java/org/jabref/cli/ArgumentProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ private void exportFile(List<ParserResult> loaded, String[] data) {
431431
theFile = theFile.getAbsoluteFile();
432432
}
433433
BibDatabaseContext databaseContext = pr.getDatabaseContext();
434-
databaseContext.setDatabaseFile(theFile);
434+
databaseContext.setDatabasePath(theFile.toPath());
435435
Globals.prefs.fileDirForDatabase = databaseContext
436436
.getFileDirectories(Globals.prefs.getFilePreferences());
437437
System.out.println(Localization.lang("Exporting") + ": " + data[0]);

src/main/java/org/jabref/gui/JabRefFrame.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
import org.jabref.gui.copyfiles.CopyFilesAction;
5858
import org.jabref.gui.customentrytypes.CustomizeEntryAction;
5959
import org.jabref.gui.customizefields.SetupGeneralFieldsAction;
60-
import org.jabref.gui.dialogs.AutosaveUIManager;
60+
import org.jabref.gui.dialogs.AutosaveUiManager;
6161
import org.jabref.gui.documentviewer.ShowDocumentViewerAction;
6262
import org.jabref.gui.duplicationFinder.DuplicateSearch;
6363
import org.jabref.gui.edit.CopyMoreAction;
@@ -1018,7 +1018,7 @@ public void addTab(BasePanel basePanel, boolean raisePanel) {
10181018

10191019
if (readyForAutosave(context)) {
10201020
AutosaveManager autosaver = AutosaveManager.start(context);
1021-
autosaver.registerListener(new AutosaveUIManager(basePanel));
1021+
autosaver.registerListener(new AutosaveUiManager(basePanel));
10221022
}
10231023

10241024
BackupManager.start(context, Globals.entryTypesManager, prefs);
@@ -1138,7 +1138,6 @@ private boolean confirmClose(BasePanel panel) {
11381138
try {
11391139
SaveDatabaseAction saveAction = new SaveDatabaseAction(panel, Globals.prefs, Globals.entryTypesManager);
11401140
if (saveAction.save()) {
1141-
// Saved, now exit.
11421141
return true;
11431142
}
11441143
// The action was either canceled or unsuccessful.

src/main/java/org/jabref/gui/dialogs/AutosaveUIManager.java renamed to src/main/java/org/jabref/gui/dialogs/AutosaveUiManager.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@
1010
import org.slf4j.LoggerFactory;
1111

1212
/**
13-
* This class has an abstract UI role as it listens for an {@link AutosaveEvent}
14-
* and saves the bib file associated with the given {@link BasePanel}.
13+
* This class has an abstract UI role as it listens for an {@link AutosaveEvent} and saves the bib file associated with
14+
* the given {@link BasePanel}.
1515
*/
16-
public class AutosaveUIManager {
16+
public class AutosaveUiManager {
17+
private static final Logger LOGGER = LoggerFactory.getLogger(AutosaveUiManager.class);
1718

18-
private static final Logger LOGGER = LoggerFactory.getLogger(AutosaveUIManager.class);
1919
private final BasePanel panel;
2020

21-
22-
public AutosaveUIManager(BasePanel panel) {
21+
public AutosaveUiManager(BasePanel panel) {
2322
this.panel = panel;
2423
}
2524

src/main/java/org/jabref/gui/exporter/SaveAction.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*/
1212
public class SaveAction extends SimpleCommand {
1313

14-
public enum SaveMethod { SAVE, SAVE_AS, SAVE_SELECTED }
14+
public enum SaveMethod {SAVE, SAVE_AS, SAVE_SELECTED}
1515

1616
private final SaveMethod saveMethod;
1717
private final JabRefFrame frame;
@@ -20,7 +20,6 @@ public SaveAction(SaveMethod saveMethod, JabRefFrame frame, StateManager stateMa
2020
this.saveMethod = saveMethod;
2121
this.frame = frame;
2222

23-
2423
if (saveMethod == SaveMethod.SAVE_SELECTED) {
2524
this.executable.bind(ActionHelper.needsEntriesSelected(stateManager));
2625
} else {

src/main/java/org/jabref/gui/exporter/SaveAllAction.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,9 @@ public void execute() {
2323

2424
for (BasePanel panel : frame.getBasePanelList()) {
2525
SaveDatabaseAction saveDatabaseAction = new SaveDatabaseAction(panel, Globals.prefs, Globals.entryTypesManager);
26-
if (panel.getBibDatabaseContext().getDatabasePath().isEmpty()) {
27-
//It will ask a path before saving.
28-
saveDatabaseAction.saveAs();
29-
} else {
30-
saveDatabaseAction.save();
31-
// TODO: can we find out whether the save was actually done or not?
26+
boolean saveResult = saveDatabaseAction.save();
27+
if (!saveResult) {
28+
dialogService.notify(Localization.lang("Could not save file."));
3229
}
3330
}
3431

0 commit comments

Comments
 (0)