diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 14b27ec5e16..24eaeb44965 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -1,7 +1,7 @@ + "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" + "https://checkstyle.org/dtds/configuration_1_3.dtd"> - - - - + + + + + value="fall through|Fall through|fallthru|Fallthru|falls through|Falls through|fallthrough|Fallthrough|No break|NO break|no break|continue on"/> diff --git a/src/main/java/igrad/logic/LogicManager.java b/src/main/java/igrad/logic/LogicManager.java index 02e1021ed84..eb0a8790ce3 100644 --- a/src/main/java/igrad/logic/LogicManager.java +++ b/src/main/java/igrad/logic/LogicManager.java @@ -83,7 +83,7 @@ public CommandResult execute(String commandText) throws CommandException, CommandResult commandResult; Command command = courseBookParser.parseCommand(commandText); - if (command.getClass() != UndoCommand.class) { + if (!(command instanceof UndoCommand)) { try { // First, load current state into backup storage.saveBackupCourseBook(model.getCourseBook()); diff --git a/src/main/java/igrad/logic/commands/UndoCommand.java b/src/main/java/igrad/logic/commands/UndoCommand.java index 5df1eec7b77..e84e0049fa9 100644 --- a/src/main/java/igrad/logic/commands/UndoCommand.java +++ b/src/main/java/igrad/logic/commands/UndoCommand.java @@ -18,8 +18,8 @@ public class UndoCommand extends Command { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Undoes latest action.\n" + "Example: " + COMMAND_WORD; - public static final String SHOWING_UNDO_MESSAGE = "Undid last command."; - public static final String UNDO_ERROR_MESSAGE = "Unable to undo the last comamand."; + public static final String MESSAGE_SUCCESS = "Undid last command."; + public static final String MESSAGE_ERROR = "Unable to undo the last comamand."; @Override public CommandResult execute(Model model) throws CommandException { @@ -35,13 +35,13 @@ public CommandResult execute(Model model) throws CommandException { if (backupCourseBook.isPresent()) { model.setCourseBook(backupCourseBook.get()); } else { - throw new CommandException(UNDO_ERROR_MESSAGE); + throw new CommandException(MESSAGE_ERROR); } } catch (DataConversionException e) { - throw new CommandException(UNDO_ERROR_MESSAGE); + throw new CommandException(MESSAGE_ERROR); } - return new CommandResult(SHOWING_UNDO_MESSAGE, false, false, false); + return new CommandResult(MESSAGE_SUCCESS, false, false, false); } } diff --git a/src/main/java/igrad/model/UserPrefs.java b/src/main/java/igrad/model/UserPrefs.java index af5f0b75e2d..f1ed934401f 100644 --- a/src/main/java/igrad/model/UserPrefs.java +++ b/src/main/java/igrad/model/UserPrefs.java @@ -40,6 +40,7 @@ public void resetData(ReadOnlyUserPrefs newUserPrefs) { requireNonNull(newUserPrefs); setGuiSettings(newUserPrefs.getGuiSettings()); setCourseBookFilePath(newUserPrefs.getCourseBookFilePath()); + setBackupCourseBookFilePath(newUserPrefs.getBackupCourseBookFilePath()); setAvatar(newUserPrefs.getAvatar()); } @@ -66,6 +67,11 @@ public void setCourseBookFilePath(Path courseBookFilePath) { this.courseBookFilePath = courseBookFilePath; } + public void setBackupCourseBookFilePath(Path backupCourseBookFilePath) { + requireNonNull(backupCourseBookFilePath); + this.backupCourseBookFilePath = backupCourseBookFilePath; + } + public Avatar getAvatar() { return avatar; } @@ -88,6 +94,7 @@ public boolean equals(Object other) { return guiSettings.equals(o.guiSettings) && courseBookFilePath.equals(o.courseBookFilePath) + && backupCourseBookFilePath.equals(o.backupCourseBookFilePath) && avatar.equals(o.avatar); } @@ -101,6 +108,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Gui Settings : " + guiSettings); sb.append("\nLocal data file location : " + courseBookFilePath); + sb.append("\nBackup Local data file location : " + backupCourseBookFilePath); sb.append("\nAvatar : " + avatar); return sb.toString(); } diff --git a/src/main/java/igrad/model/util/SampleDataUtil.java b/src/main/java/igrad/model/util/SampleDataUtil.java index 945dff55213..e60c9649f4c 100644 --- a/src/main/java/igrad/model/util/SampleDataUtil.java +++ b/src/main/java/igrad/model/util/SampleDataUtil.java @@ -53,6 +53,10 @@ public static Path getSampleCourseBookFilePath() { return Paths.get("data", "coursebook.json"); } + public static Path getSampleBackupCourseBookFilePath() { + return Paths.get("data", "backup_coursebook.json"); + } + public static ReadOnlyCourseBook getSampleCourseBook() { CourseBook sampleCourseBook = new CourseBook(); for (Module sampleModule : getSamplePersons()) { @@ -71,6 +75,7 @@ public static UserPrefs getSampleUserPrefs() { sampleUserPrefs.setGuiSettings(new GuiSettings()); sampleUserPrefs.setCourseBookFilePath(getSampleCourseBookFilePath()); + sampleUserPrefs.setBackupCourseBookFilePath(getSampleBackupCourseBookFilePath()); sampleUserPrefs.setAvatar(getSampleAvatar()); return sampleUserPrefs; diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 3298cc6f36a..127db97cb7d 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -13,7 +13,7 @@ - +