From 2294ac45a28014a5d5bb4c905e8fd67ed9e3073c Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Sun, 24 Mar 2019 21:37:37 +0100 Subject: [PATCH] copy loaded file as-is to backup folder --- .../src/org/diylc/common/IPlugInPort.java | 5 +- .../src/org/diylc/presenter/Presenter.java | 8 +- diylc/diylc-library/lib/diylc-core.jar | Bin 276404 -> 276424 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 276404 -> 276424 bytes .../src/org/diylc/swing/gui/MainFrame.java | 2 +- .../org/diylc/swing/gui/TemplateDialog.java | 2 +- .../ActionBarPlugin.java | 2 +- .../{actionBar => actionbar}/MiniToolbar.java | 2 +- .../plugins/autosave/AutoSavePlugin.java | 181 ++++++++++-------- .../swing/plugins/edit/EditMenuPlugin.java | 2 +- .../swing/plugins/file/ProjectPreview.java | 2 +- 11 files changed, 118 insertions(+), 88 deletions(-) rename diylc/diylc-swing/src/org/diylc/swing/gui/{actionBar => actionbar}/ActionBarPlugin.java (98%) rename diylc/diylc-swing/src/org/diylc/swing/gui/{actionBar => actionbar}/MiniToolbar.java (94%) diff --git a/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java b/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java index c1871f81..ad15a64a 100644 --- a/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java +++ b/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java @@ -121,9 +121,10 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP * Loads specified {@link Project}. * * @param project - * @param freshStart + * @param freshStart + * @param optional file name when loading from a file */ - void loadProject(Project project, boolean freshStart); + void loadProject(Project project, boolean freshStart, String filename); /** * Creates a new project. diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 2cccb1e2..b297b6ee 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -273,13 +273,13 @@ public class Presenter implements IPlugInPort { } @Override - public void loadProject(Project project, boolean freshStart) { + public void loadProject(Project project, boolean freshStart, String filename) { LOG.info(String.format("loadProject(%s, %s)", project.getTitle(), freshStart)); this.currentProject = project; drawingManager.clearComponentAreaMap(); drawingManager.clearContinuityArea(); updateSelection(EMPTY_SELECTION); - messageDispatcher.dispatchMessage(EventType.PROJECT_LOADED, project, freshStart); + messageDispatcher.dispatchMessage(EventType.PROJECT_LOADED, project, freshStart, filename); messageDispatcher.dispatchMessage(EventType.REPAINT); messageDispatcher.dispatchMessage(EventType.LAYER_STATE_CHANGED, currentProject.getLockedLayers()); messageDispatcher.dispatchMessage(EventType.LAYER_VISIBILITY_CHANGED, currentProject.getHiddenLayers()); @@ -291,7 +291,7 @@ public class Presenter implements IPlugInPort { try { Project project = new Project(); instantiationManager.fillWithDefaultProperties(project, null); - loadProject(project, true); + loadProject(project, true, null); projectFileManager.startNewFile(); } catch (Exception e) { LOG.error("Could not create new file", e); @@ -306,7 +306,7 @@ public class Presenter implements IPlugInPort { try { warnings = new ArrayList(); Project project = (Project) projectFileManager.deserializeProjectFromFile(fileName, warnings); - loadProject(project, true); + loadProject(project, true, fileName); projectFileManager.fireFileStatusChanged(); if (!warnings.isEmpty()) { StringBuilder builder = new StringBuilder("File was opened, but there were some issues with it:

"); diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 01e2ed7f09f0f42e9749681bc26f919cf2f094f0..0799783cb5a2600e4d80c47b663c5de7f0436f55 100644 GIT binary patch delta 32757 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 diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 01e2ed7f09f0f42e9749681bc26f919cf2f094f0..0799783cb5a2600e4d80c47b663c5de7f0436f55 100644 GIT binary patch delta 32757 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 diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java index 1fa6ecaa..d07955cd 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java @@ -69,7 +69,7 @@ import org.diylc.images.IconLoader; import org.diylc.presenter.Presenter; import org.diylc.swing.IDynamicSubmenuHandler; import org.diylc.swing.ISwingUI; -import org.diylc.swing.gui.actionBar.ActionBarPlugin; +import org.diylc.swing.gui.actionbar.ActionBarPlugin; import org.diylc.swing.gui.editor.PropertyEditorDialog; import org.diylc.swing.plugins.autosave.AutoSavePlugin; import org.diylc.swing.plugins.canvas.CanvasPlugin; diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/TemplateDialog.java b/diylc/diylc-swing/src/org/diylc/swing/gui/TemplateDialog.java index 8385bd84..2286372d 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/TemplateDialog.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/TemplateDialog.java @@ -185,7 +185,7 @@ public class TemplateDialog extends JDialog { @Override public void actionPerformed(ActionEvent e) { - plugInPort.loadProject(presenter.getCurrentProject(), true); + plugInPort.loadProject(presenter.getCurrentProject(), true, null); dispose(); } }); diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/actionBar/ActionBarPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java similarity index 98% rename from diylc/diylc-swing/src/org/diylc/swing/gui/actionBar/ActionBarPlugin.java rename to diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java index 0daab3e0..4cf795df 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/actionBar/ActionBarPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License along with DIYLC. If not, see * . */ -package org.diylc.swing.gui.actionBar; +package org.diylc.swing.gui.actionbar; import java.awt.BorderLayout; import java.util.EnumSet; diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/actionBar/MiniToolbar.java b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/MiniToolbar.java similarity index 94% rename from diylc/diylc-swing/src/org/diylc/swing/gui/actionBar/MiniToolbar.java rename to diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/MiniToolbar.java index b3b02b8b..40aaeeb2 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/actionBar/MiniToolbar.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/MiniToolbar.java @@ -19,7 +19,7 @@ along with DIYLC. If not, see . */ -package org.diylc.swing.gui.actionBar; +package org.diylc.swing.gui.actionbar; import java.awt.Component; import java.awt.Cursor; 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 1fb21043..f47d7ba4 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 @@ -1,27 +1,28 @@ /* + * + * DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors. + * + * This file is part of DIYLC. + * + * DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. + * + * You should have received a copy of the GNU General Public License along with DIYLC. If not, see + * . + */ +package org.diylc.swing.plugins.autosave; - DIY Layout Creator (DIYLC). - Copyright (c) 2009-2018 held jointly by the individual authors. - - This file is part of DIYLC. - - DIYLC is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - DIYLC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DIYLC. If not, see . - -*/ -package org.diylc.swing.plugins.autosave; - import java.io.File; +import java.io.FileInputStream; +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.util.Arrays; @@ -37,71 +38,99 @@ import org.diylc.common.EventType; import org.diylc.common.IPlugIn; import org.diylc.common.IPlugInPort; import org.diylc.core.IView; - -public class AutoSavePlugin implements IPlugIn { - + +public class AutoSavePlugin implements IPlugIn { + private static final String AUTO_SAVE_PATH = Utils.getUserDataDirectory("diylc") + "autoSave"; - - private static final Logger LOG = Logger.getLogger(AutoSavePlugin.class); - + + private static final Logger LOG = Logger.getLogger(AutoSavePlugin.class); + public static long BACKUP_FREQ_MS = 60 * 1000; - public static int MAX_TOTAL_SIZE_MB = 64; - - private ExecutorService executor; - - private IPlugInPort plugInPort; - private long lastSave = 0; - - public AutoSavePlugin(IView view) { - executor = Executors.newSingleThreadExecutor(); - } - - @Override - public void connect(IPlugInPort plugInPort) { + public static int MAX_TOTAL_SIZE_MB = 64; + + private ExecutorService executor; + + private IPlugInPort plugInPort; + private long lastSave = 0; + + public AutoSavePlugin(IView view) { + executor = Executors.newSingleThreadExecutor(); + } + + @Override + public void connect(IPlugInPort plugInPort) { this.plugInPort = plugInPort; // create the directory if needed File dir = new File(AUTO_SAVE_PATH); if (!dir.exists()) - dir.mkdirs(); - } - - @Override - public EnumSet getSubscribedEventTypes() { - return EnumSet.of(EventType.PROJECT_MODIFIED); - } - - @Override - public void processMessage(EventType eventType, Object... params) { - if (eventType == EventType.PROJECT_MODIFIED) { - if (System.currentTimeMillis() - lastSave > BACKUP_FREQ_MS) { - executor.execute(new Runnable() { - - @Override - public void run() { - Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - - lastSave = System.currentTimeMillis(); - String fileName = generateBackupFileName(plugInPort.getCurrentFileName()); - plugInPort.saveProjectToFile(fileName, true); - cleanupExtra(); - } - }); - } - } + dir.mkdirs(); } - + + @Override + public EnumSet getSubscribedEventTypes() { + return EnumSet.of(EventType.PROJECT_MODIFIED, EventType.PROJECT_LOADED); + } + + @Override + public void processMessage(EventType eventType, Object... params) { + if (eventType == EventType.PROJECT_MODIFIED) { + if (System.currentTimeMillis() - lastSave > BACKUP_FREQ_MS) { + executor.execute(new Runnable() { + + @Override + public void run() { + Thread.currentThread().setPriority(Thread.MIN_PRIORITY); + + lastSave = System.currentTimeMillis(); + String fileName = generateBackupFileName(plugInPort.getCurrentFileName()); + plugInPort.saveProjectToFile(fileName, true); + cleanupExtra(); + } + }); + } + } else if (eventType == EventType.PROJECT_LOADED) { + String fileName = (String) params[2]; + if (fileName != null) { + String backupName = generateBackupFileName(fileName); + try { + copyFileUsingStream(new File(fileName), new File(backupName)); + LOG.info("Copied loaded file to " + backupName); + } catch (IOException e) { + LOG.error("Could not copy the loaded file to backup", e); + } + } + } + } + + private static void copyFileUsingStream(File source, File dest) throws IOException { + InputStream is = null; + OutputStream os = null; + try { + is = new FileInputStream(source); + os = new FileOutputStream(dest); + byte[] buffer = new byte[1024]; + int length; + while ((length = is.read(buffer)) > 0) { + os.write(buffer, 0, length); + } + } finally { + is.close(); + os.close(); + } + } + private String generateBackupFileName(String baseFileName) { if (baseFileName == null) baseFileName = "Untitled"; File file = new File(baseFileName); String name = file.getName(); - + // remove extension if (name.toLowerCase().endsWith(".diy")) - name = name.substring(name.length() - 4); - + name = name.substring(0, name.length() - 4); + // append date and time - Date date = new Date(); + 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 @@ -112,16 +141,16 @@ public class AutoSavePlugin implements IPlugIn { } return file.getAbsolutePath(); } - + private void cleanupExtra() { File[] files = new File(AUTO_SAVE_PATH).listFiles(); // sort files by date Arrays.sort(files, new Comparator() { @Override - public int compare(File o1, File o2) { + public int compare(File o1, File o2) { return new Long(o1.lastModified()).compareTo(o2.lastModified()); - } + } }); long totalSize = 0; long maxTotalSize = MAX_TOTAL_SIZE_MB * 1024 * 1024; @@ -134,5 +163,5 @@ public class AutoSavePlugin implements IPlugIn { files[i].delete(); i++; } - } -} + } +} diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java index 7e051a74..303fd462 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java @@ -93,7 +93,7 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { @Override public void actionPerformed(Project currentState) { - plugInPort.loadProject(currentState, false); + plugInPort.loadProject(currentState, false, null); } }); clipboard.addFlavorListener(new FlavorListener() { diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/file/ProjectPreview.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/file/ProjectPreview.java index 59bcce40..7d497365 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/file/ProjectPreview.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/file/ProjectPreview.java @@ -104,7 +104,7 @@ public class ProjectPreview extends JPanel implements PropertyChangeListener, IF } nameLabel.setText(selectedProject.getTitle()); - presenter.loadProject(selectedProject, true); + presenter.loadProject(selectedProject, true, null); if (update) { if (renderComponent.isShowing()) {