diff --git a/diylc/diylc-core/lib/app-framework.jar b/diylc/diylc-core/lib/app-framework.jar index dd8ddb35..713a1484 100644 Binary files a/diylc/diylc-core/lib/app-framework.jar and b/diylc/diylc-core/lib/app-framework.jar differ diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index 715bd201..7628475f 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -4326,6 +4326,14 @@ NEW_FEATURE Configurable max switch combination count for circuit analysis (using org.diylc.maxSwitchCombinations argument) + + IMPROVEMENT + Added resilience to the code that saves the configuration file to avoid it getting corrupted + + + IMPROVEMENT + When backing up the configuration file, append the current timestamp at the end instead of a '~' + BUG_FIX General application slowness when Inductor component is added to the drawing diff --git a/diylc/diylc-library/lib/app-framework.jar b/diylc/diylc-library/lib/app-framework.jar index dd8ddb35..713a1484 100644 Binary files a/diylc/diylc-library/lib/app-framework.jar and b/diylc/diylc-library/lib/app-framework.jar differ diff --git a/diylc/diylc-swing/lib/app-framework.jar b/diylc/diylc-swing/lib/app-framework.jar index dd8ddb35..713a1484 100644 Binary files a/diylc/diylc-swing/lib/app-framework.jar and b/diylc/diylc-swing/lib/app-framework.jar differ diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java index 68264a86..9154547f 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/autosave/AutoSavePlugin.java @@ -23,11 +23,10 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.text.DateFormat; -import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.Comparator; -import java.util.Date; import java.util.EnumSet; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -129,15 +128,11 @@ public class AutoSavePlugin implements IPlugIn { name = name.substring(0, name.length() - 4); // append date and time - Date date = new Date(); - DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd-HHmmss"); - file = new File(AUTO_SAVE_PATH + File.separator + name + "." + dateFormat.format(date) + ".diy"); - // make sure that it doesn't already exist - int i = 2; - while (file.exists()) { - file = new File(AUTO_SAVE_PATH + File.separator + name + "." + dateFormat.format(date) + "-" + i + ".diy"); - i++; - } + String timestamp = LocalDateTime.now() + .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) + .substring(0, 19) + .replace(':', '-'); + file = new File(AUTO_SAVE_PATH + File.separator + name + "." + timestamp + ".diy"); return file.getAbsolutePath(); }