From 60ab1f52a3824cbc9a3f1d614dfff24266144adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Clermont=C3=A9?= Date: Wed, 25 May 2016 18:10:34 +0200 Subject: [PATCH] updated SibaManager --- .settings/org.eclipse.jdt.ui.prefs | 2 +- lib/Siba.jar | Bin 3507606 -> 3521605 bytes src/org/dclermonte/siba/Cat-Box-256.png | Bin 0 -> 13817 bytes src/org/dclermonte/siba/SibaException.java | 39 +++++++++++---- src/org/dclermonte/siba/cli/SibaCLI.java | 7 ++- .../dclermonte/siba/cli/messages.properties | 3 +- .../siba/cli/messages_fr_FR.properties | 3 +- src/org/dclermonte/siba/gui/BackupPanel.java | 14 ++++-- src/org/dclermonte/siba/gui/CheckPanel.java | 4 -- src/org/dclermonte/siba/gui/SibaGUI.java | 3 ++ .../dclermonte/siba/model/SibaManager.java | 46 ++++++++++-------- 11 files changed, 77 insertions(+), 44 deletions(-) create mode 100644 src/org/dclermonte/siba/Cat-Box-256.png diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs index 2f18184..0fa52e8 100644 --- a/.settings/org.eclipse.jdt.ui.prefs +++ b/.settings/org.eclipse.jdt.ui.prefs @@ -66,7 +66,7 @@ org.eclipse.jdt.ui.gettersetter.use.is=true org.eclipse.jdt.ui.javadoc=false org.eclipse.jdt.ui.keywordthis=true org.eclipse.jdt.ui.overrideannotation=true -org.eclipse.jdt.ui.text.custom_code_templates= +org.eclipse.jdt.ui.text.custom_code_templates= sp_cleanup.add_default_serial_version_id=true sp_cleanup.add_generated_serial_version_id=false sp_cleanup.add_missing_annotations=true diff --git a/lib/Siba.jar b/lib/Siba.jar index f9ca61f00c2ebebb20d61b8fae47cd64f923ce56..0e478c67a2ee5dbd186364d78d6f723e1b15f899 100644 GIT binary patch delta 35248 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 bLOImNf_!xVKZ_PZ3o*=&K$Q6a(1ia0vPS0c diff --git a/src/org/dclermonte/siba/Cat-Box-256.png b/src/org/dclermonte/siba/Cat-Box-256.png new file mode 100644 index 0000000000000000000000000000000000000000..1a19ef5c81e50f1c84dff5cc393371295dfb825a GIT binary patch literal 13817 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 OT1nF|PHq8CuKx= + * Copyright (C) 2016 Christian Pierre Momon * + * This file is part of Siba. * + * Siba is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. * + * This program 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . */ package org.dclermonte.siba; @@ -15,7 +27,9 @@ package org.dclermonte.siba; */ public class SibaException extends Exception { - + /** + * + */ private static final long serialVersionUID = 2909630770291570845L; public SibaException() @@ -23,22 +37,29 @@ public class SibaException extends Exception super(); } + /** + * + * @param message + */ public SibaException(final String message) { super(message); } + /** + * + * @param message + * @param cause + */ public SibaException(final String message, final Throwable cause) { super(message, cause); } - protected SibaException(final String message, final Throwable cause, final boolean enableSuppression, - final boolean writableStackTrace) - { - super(message, cause, enableSuppression, writableStackTrace); - } - + /** + * + * @param cause + */ public SibaException(final Throwable cause) { super(cause); diff --git a/src/org/dclermonte/siba/cli/SibaCLI.java b/src/org/dclermonte/siba/cli/SibaCLI.java index 9117a1d..edc1197 100644 --- a/src/org/dclermonte/siba/cli/SibaCLI.java +++ b/src/org/dclermonte/siba/cli/SibaCLI.java @@ -131,8 +131,7 @@ public class SibaCLI } else { - System.out.println(BUNDLE.getString("badUsage.text")); - help(); + throw new SibaException(BUNDLE.getString("ToManyParameter.text")); //$NON-NLS-1$ } } else if (StringUtils.equals(args[0], "check")) @@ -161,8 +160,7 @@ public class SibaCLI } else { - System.out.println(BUNDLE.getString("badUsage.text")); - help(); + throw new SibaException(BUNDLE.getString("ToManyParameter.text")); //$NON-NLS-1$ } } else @@ -180,6 +178,7 @@ public class SibaCLI { System.err.println("SibaException chainée = " + sibaException.getCause().getMessage()); } + help(); } } diff --git a/src/org/dclermonte/siba/cli/messages.properties b/src/org/dclermonte/siba/cli/messages.properties index 68af576..c48d7fe 100644 --- a/src/org/dclermonte/siba/cli/messages.properties +++ b/src/org/dclermonte/siba/cli/messages.properties @@ -9,4 +9,5 @@ directoryNotExist.text = one of the directories does not exist missingFileToCheck.text = Missing the file to check missingTargetFile.text=missing target file NotDirectorySource.text=Source is not a directory -SibaManageralgorithm.text=Algorithm error in sibaManagerexception \ No newline at end of file +SibaManageralgorithm.text=Algorithm error in sibaManagerexception +ToManyParameter.text= Bad number of parameters \ No newline at end of file diff --git a/src/org/dclermonte/siba/cli/messages_fr_FR.properties b/src/org/dclermonte/siba/cli/messages_fr_FR.properties index 82f68d6..49bcd04 100644 --- a/src/org/dclermonte/siba/cli/messages_fr_FR.properties +++ b/src/org/dclermonte/siba/cli/messages_fr_FR.properties @@ -9,4 +9,5 @@ directoryNotExist.text = L'un des r missingFileToCheck.text = Il manque le fichier à vérifier missingTargetFile.text=Le répertoire destination n'existe pas NotDirectorySource.text=La source n'est pas un répertoire -SibaManageralgorithm.text=Erreur d'algorithme dans sibaManager \ No newline at end of file +SibaManageralgorithm.text=Erreur d'algorithme dans sibaManager +ToManyParameter.text= Trop de paramètres \ No newline at end of file diff --git a/src/org/dclermonte/siba/gui/BackupPanel.java b/src/org/dclermonte/siba/gui/BackupPanel.java index 3cee7ef..f41d6ec 100644 --- a/src/org/dclermonte/siba/gui/BackupPanel.java +++ b/src/org/dclermonte/siba/gui/BackupPanel.java @@ -171,8 +171,6 @@ public class BackupPanel extends JPanel panel_2.add(verticalStrut); btnNewButton_2.addActionListener(new ActionListener() { - private Object e1; - @Override public void actionPerformed(final ActionEvent e) { @@ -196,10 +194,16 @@ public class BackupPanel extends JPanel } } - catch (SibaException e1) + catch (SibaException sibaException) { - // TODO Auto-generated catch block - ((Throwable) this.e1).printStackTrace(); + String dataMissing = sibaException.getMessage(); + if (!(sibaException.getCause() == null)) + { + dataMissing.concat(sibaException.getCause().getMessage()); + } + + String titleWarning = BUNDLE.getString("BackupPanel.TitleWarning.text"); + JOptionPane.showMessageDialog(null, dataMissing, titleWarning, JOptionPane.INFORMATION_MESSAGE); } } diff --git a/src/org/dclermonte/siba/gui/CheckPanel.java b/src/org/dclermonte/siba/gui/CheckPanel.java index 9357cb6..8b9d3fe 100644 --- a/src/org/dclermonte/siba/gui/CheckPanel.java +++ b/src/org/dclermonte/siba/gui/CheckPanel.java @@ -134,18 +134,14 @@ public class CheckPanel extends JPanel + BUNDLE.getString("CheckPanel.confirmDialogBad.text"); JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE); } - } else { String dataMissing = BUNDLE.getString("BackupPanel.dataMissing.text"); String titleWarning = BUNDLE.getString("BackupPanel.TitleWarning.text"); JOptionPane.showMessageDialog(null, dataMissing, titleWarning, JOptionPane.INFORMATION_MESSAGE); - } - } - catch (SibaException exception) { // TODO Auto-generated catch block diff --git a/src/org/dclermonte/siba/gui/SibaGUI.java b/src/org/dclermonte/siba/gui/SibaGUI.java index d23d67d..c7cea2b 100644 --- a/src/org/dclermonte/siba/gui/SibaGUI.java +++ b/src/org/dclermonte/siba/gui/SibaGUI.java @@ -27,6 +27,7 @@ import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Font; import java.awt.Point; +import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Locale; @@ -151,6 +152,8 @@ public class SibaGUI private void initialize() throws SibaException { this.frmSimpleBackup = new JFrame(); + this.frmSimpleBackup.setIconImage(Toolkit.getDefaultToolkit() + .getImage(SibaGUI.class.getResource("/org/dclermonte/siba/Cat-Box-256.png"))); this.frmSimpleBackup.getContentPane().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); this.frmSimpleBackup.setMinimumSize(new Dimension(600, 400)); this.frmSimpleBackup.getContentPane().setBackground(new Color(173, 255, 47)); diff --git a/src/org/dclermonte/siba/model/SibaManager.java b/src/org/dclermonte/siba/model/SibaManager.java index c53f155..594e021 100644 --- a/src/org/dclermonte/siba/model/SibaManager.java +++ b/src/org/dclermonte/siba/model/SibaManager.java @@ -20,6 +20,7 @@ package org.dclermonte.siba.model; import java.io.BufferedOutputStream; +import java.io.Closeable; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -60,18 +61,30 @@ public class SibaManager */ public static File backup(final File fileToSave, File target) throws SibaException { - File result = null; + File result; try { - if (!(fileToSave == null) && fileToSave.exists()) + if ((fileToSave == null) || !(fileToSave.exists())) { - if (fileToSave.isDirectory()) + throw new SibaException(BUNDLE.getString("sourceNotExist.text")); + } + else + { + if (!(fileToSave.isDirectory())) + { + throw new SibaException(BUNDLE.getString("NotDirectorySource.text")); + } + else { if ((target == null)) { target = new File(System.getProperty("user.dir")); } - if (target.isDirectory()) + if (!(target.isDirectory())) + { + throw new SibaException(BUNDLE.getString("NotDirectoryTarget.text")); + } + else { int pathLength = fileToSave.getParentFile().getAbsolutePath().length(); LocalDateTime date = LocalDateTime.now(); @@ -87,27 +100,20 @@ public class SibaManager out.close(); fileCheckMD5(result, target + "/" + outputFileNameWithoutExtension + ".tgz.md5"); } - else - { - throw new SibaException(BUNDLE.getString("NotDirectoryTarget.text")); - } } - else - { - throw new SibaException(BUNDLE.getString("NotDirectorySource.text")); - } - } - else - { - throw new SibaException(BUNDLE.getString("sourceNotExist.text")); } } catch (IOException ioExceptionBackup) { throw new SibaException(BUNDLE.getString("ioExceptionBackup.text"), ioExceptionBackup); //$NON-NLS-1$ } + finally + { + Closeable out = null; + IOUtils.closeQuietly(out); + } + // return result; - } /** @@ -119,7 +125,7 @@ public class SibaManager */ public static boolean check(final File choosenFile) throws SibaException { - boolean result = false; + boolean result; try { if (choosenFile.exists() && (choosenFile.length() > 32)) @@ -173,6 +179,7 @@ public class SibaManager { throw new SibaException(BUNDLE.getString("ioExceptionCheck.text"), ioExceptionCheck); //$NON-NLS-1$ } + // return result; } @@ -252,7 +259,7 @@ public class SibaManager { throw new SibaException(BUNDLE.getString("ioExceptionFileMD5.text"), ioExceptionFileMD5); //$NON-NLS-1$ } - + // return result; } @@ -303,6 +310,7 @@ public class SibaManager throw new SibaException(BUNDLE.getString("ioExceptionMD5.text"), ioException); //$NON-NLS-1$ } result = hashString.toString(); + // return result; }