updated SibaManager

This commit is contained in:
Didier Clermonté 2016-05-25 18:10:34 +02:00
parent 4fbf01f8a0
commit 60ab1f52a3
11 changed files with 77 additions and 44 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,9 +1,21 @@
/* /*
* Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. * Copyright (C) 2016 Didier Clermonté <dclermonte@april.org>
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * Copyright (C) 2016 Christian Pierre Momon <christian.momon@devinsy.fr>
* *
* 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 <http://www.gnu.org/licenses/>.
*/ */
package org.dclermonte.siba; package org.dclermonte.siba;
@ -15,7 +27,9 @@ package org.dclermonte.siba;
*/ */
public class SibaException extends Exception public class SibaException extends Exception
{ {
/**
*
*/
private static final long serialVersionUID = 2909630770291570845L; private static final long serialVersionUID = 2909630770291570845L;
public SibaException() public SibaException()
@ -23,22 +37,29 @@ public class SibaException extends Exception
super(); super();
} }
/**
*
* @param message
*/
public SibaException(final String message) public SibaException(final String message)
{ {
super(message); super(message);
} }
/**
*
* @param message
* @param cause
*/
public SibaException(final String message, final Throwable cause) public SibaException(final String message, final Throwable cause)
{ {
super(message, cause); super(message, cause);
} }
protected SibaException(final String message, final Throwable cause, final boolean enableSuppression, /**
final boolean writableStackTrace) *
{ * @param cause
super(message, cause, enableSuppression, writableStackTrace); */
}
public SibaException(final Throwable cause) public SibaException(final Throwable cause)
{ {
super(cause); super(cause);

View File

@ -131,8 +131,7 @@ public class SibaCLI
} }
else else
{ {
System.out.println(BUNDLE.getString("badUsage.text")); throw new SibaException(BUNDLE.getString("ToManyParameter.text")); //$NON-NLS-1$
help();
} }
} }
else if (StringUtils.equals(args[0], "check")) else if (StringUtils.equals(args[0], "check"))
@ -161,8 +160,7 @@ public class SibaCLI
} }
else else
{ {
System.out.println(BUNDLE.getString("badUsage.text")); throw new SibaException(BUNDLE.getString("ToManyParameter.text")); //$NON-NLS-1$
help();
} }
} }
else else
@ -180,6 +178,7 @@ public class SibaCLI
{ {
System.err.println("SibaException chainée = " + sibaException.getCause().getMessage()); System.err.println("SibaException chainée = " + sibaException.getCause().getMessage());
} }
help();
} }
} }

View File

@ -10,3 +10,4 @@ missingFileToCheck.text = Missing the file to check
missingTargetFile.text=missing target file missingTargetFile.text=missing target file
NotDirectorySource.text=Source is not a directory NotDirectorySource.text=Source is not a directory
SibaManageralgorithm.text=Algorithm error in sibaManagerexception SibaManageralgorithm.text=Algorithm error in sibaManagerexception
ToManyParameter.text= Bad number of parameters

View File

@ -10,3 +10,4 @@ missingFileToCheck.text = Il manque le fichier
missingTargetFile.text=Le répertoire destination n'existe pas missingTargetFile.text=Le répertoire destination n'existe pas
NotDirectorySource.text=La source n'est pas un répertoire NotDirectorySource.text=La source n'est pas un répertoire
SibaManageralgorithm.text=Erreur d'algorithme dans sibaManager SibaManageralgorithm.text=Erreur d'algorithme dans sibaManager
ToManyParameter.text= Trop de paramètres

View File

@ -171,8 +171,6 @@ public class BackupPanel extends JPanel
panel_2.add(verticalStrut); panel_2.add(verticalStrut);
btnNewButton_2.addActionListener(new ActionListener() btnNewButton_2.addActionListener(new ActionListener()
{ {
private Object e1;
@Override @Override
public void actionPerformed(final ActionEvent e) 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 String dataMissing = sibaException.getMessage();
((Throwable) this.e1).printStackTrace(); if (!(sibaException.getCause() == null))
{
dataMissing.concat(sibaException.getCause().getMessage());
}
String titleWarning = BUNDLE.getString("BackupPanel.TitleWarning.text");
JOptionPane.showMessageDialog(null, dataMissing, titleWarning, JOptionPane.INFORMATION_MESSAGE);
} }
} }

View File

@ -134,18 +134,14 @@ public class CheckPanel extends JPanel
+ BUNDLE.getString("CheckPanel.confirmDialogBad.text"); + BUNDLE.getString("CheckPanel.confirmDialogBad.text");
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
} }
} }
else else
{ {
String dataMissing = BUNDLE.getString("BackupPanel.dataMissing.text"); String dataMissing = BUNDLE.getString("BackupPanel.dataMissing.text");
String titleWarning = BUNDLE.getString("BackupPanel.TitleWarning.text"); String titleWarning = BUNDLE.getString("BackupPanel.TitleWarning.text");
JOptionPane.showMessageDialog(null, dataMissing, titleWarning, JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null, dataMissing, titleWarning, JOptionPane.INFORMATION_MESSAGE);
} }
} }
catch (SibaException exception) catch (SibaException exception)
{ {
// TODO Auto-generated catch block // TODO Auto-generated catch block

View File

@ -27,6 +27,7 @@ import java.awt.Dimension;
import java.awt.EventQueue; import java.awt.EventQueue;
import java.awt.Font; import java.awt.Font;
import java.awt.Point; import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.Locale; import java.util.Locale;
@ -151,6 +152,8 @@ public class SibaGUI
private void initialize() throws SibaException private void initialize() throws SibaException
{ {
this.frmSimpleBackup = new JFrame(); 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.getContentPane().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
this.frmSimpleBackup.setMinimumSize(new Dimension(600, 400)); this.frmSimpleBackup.setMinimumSize(new Dimension(600, 400));
this.frmSimpleBackup.getContentPane().setBackground(new Color(173, 255, 47)); this.frmSimpleBackup.getContentPane().setBackground(new Color(173, 255, 47));

View File

@ -20,6 +20,7 @@
package org.dclermonte.siba.model; package org.dclermonte.siba.model;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@ -60,18 +61,30 @@ public class SibaManager
*/ */
public static File backup(final File fileToSave, File target) throws SibaException public static File backup(final File fileToSave, File target) throws SibaException
{ {
File result = null; File result;
try 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)) if ((target == null))
{ {
target = new File(System.getProperty("user.dir")); 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(); int pathLength = fileToSave.getParentFile().getAbsolutePath().length();
LocalDateTime date = LocalDateTime.now(); LocalDateTime date = LocalDateTime.now();
@ -87,27 +100,20 @@ public class SibaManager
out.close(); out.close();
fileCheckMD5(result, target + "/" + outputFileNameWithoutExtension + ".tgz.md5"); 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) catch (IOException ioExceptionBackup)
{ {
throw new SibaException(BUNDLE.getString("ioExceptionBackup.text"), ioExceptionBackup); //$NON-NLS-1$ throw new SibaException(BUNDLE.getString("ioExceptionBackup.text"), ioExceptionBackup); //$NON-NLS-1$
} }
finally
{
Closeable out = null;
IOUtils.closeQuietly(out);
}
//
return result; return result;
} }
/** /**
@ -119,7 +125,7 @@ public class SibaManager
*/ */
public static boolean check(final File choosenFile) throws SibaException public static boolean check(final File choosenFile) throws SibaException
{ {
boolean result = false; boolean result;
try try
{ {
if (choosenFile.exists() && (choosenFile.length() > 32)) if (choosenFile.exists() && (choosenFile.length() > 32))
@ -173,6 +179,7 @@ public class SibaManager
{ {
throw new SibaException(BUNDLE.getString("ioExceptionCheck.text"), ioExceptionCheck); //$NON-NLS-1$ throw new SibaException(BUNDLE.getString("ioExceptionCheck.text"), ioExceptionCheck); //$NON-NLS-1$
} }
//
return result; return result;
} }
@ -252,7 +259,7 @@ public class SibaManager
{ {
throw new SibaException(BUNDLE.getString("ioExceptionFileMD5.text"), ioExceptionFileMD5); //$NON-NLS-1$ throw new SibaException(BUNDLE.getString("ioExceptionFileMD5.text"), ioExceptionFileMD5); //$NON-NLS-1$
} }
//
return result; return result;
} }
@ -303,6 +310,7 @@ public class SibaManager
throw new SibaException(BUNDLE.getString("ioExceptionMD5.text"), ioException); //$NON-NLS-1$ throw new SibaException(BUNDLE.getString("ioExceptionMD5.text"), ioException); //$NON-NLS-1$
} }
result = hashString.toString(); result = hashString.toString();
//
return result; return result;
} }