updated check

This commit is contained in:
Didier Clermonté 2016-04-09 11:33:15 +02:00
parent 3472d2d032
commit 3a1d366474
7 changed files with 193 additions and 84 deletions

View File

@ -59,7 +59,7 @@ org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
org.eclipse.jdt.core.formatter.comment.format_block_comments=true org.eclipse.jdt.core.formatter.comment.format_block_comments=false
org.eclipse.jdt.core.formatter.comment.format_header=false org.eclipse.jdt.core.formatter.comment.format_header=false
org.eclipse.jdt.core.formatter.comment.format_html=true org.eclipse.jdt.core.formatter.comment.format_html=true
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
@ -89,7 +89,7 @@ org.eclipse.jdt.core.formatter.indent_empty_lines=false
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
org.eclipse.jdt.core.formatter.indentation.size=4 org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert

View File

@ -58,5 +58,64 @@ cleanup.use_type_arguments=false
cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile
cleanup_settings_version=2 cleanup_settings_version=2
eclipse.preferences.version=1 eclipse.preferences.version=1
formatter_profile=_Didier editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=_Siba
formatter_settings_version=12 formatter_settings_version=12
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=true
sp_cleanup.add_missing_deprecated_annotations=true
sp_cleanup.add_missing_methods=false
sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=true
sp_cleanup.always_use_this_for_non_static_field_access=true
sp_cleanup.always_use_this_for_non_static_method_access=false
sp_cleanup.convert_functional_interfaces=false
sp_cleanup.convert_to_enhanced_for_loop=false
sp_cleanup.correct_indentation=true
sp_cleanup.format_source_code=true
sp_cleanup.format_source_code_changes_only=false
sp_cleanup.insert_inferred_type_arguments=false
sp_cleanup.make_local_variable_final=false
sp_cleanup.make_parameters_final=true
sp_cleanup.make_private_fields_final=false
sp_cleanup.make_type_abstract_if_missing_method=false
sp_cleanup.make_variable_declarations_final=true
sp_cleanup.never_use_blocks=false
sp_cleanup.never_use_parentheses_in_expressions=false
sp_cleanup.on_save_use_additional_actions=true
sp_cleanup.organize_imports=true
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
sp_cleanup.remove_private_constructors=true
sp_cleanup.remove_redundant_type_arguments=true
sp_cleanup.remove_trailing_whitespaces=true
sp_cleanup.remove_trailing_whitespaces_all=true
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=true
sp_cleanup.remove_unused_imports=true
sp_cleanup.remove_unused_local_variables=false
sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
sp_cleanup.sort_members=true
sp_cleanup.sort_members_all=false
sp_cleanup.use_anonymous_class_creation=false
sp_cleanup.use_blocks=true
sp_cleanup.use_blocks_only_for_return_and_throw=false
sp_cleanup.use_lambda=true
sp_cleanup.use_parentheses_in_expressions=true
sp_cleanup.use_this_for_non_static_field_access=true
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
sp_cleanup.use_this_for_non_static_method_access=false
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
sp_cleanup.use_type_arguments=false

View File

@ -64,7 +64,8 @@ public class BackupPanel extends JPanel
FormSpecs.RELATED_GAP_COLSPEC, FormSpecs.RELATED_GAP_COLSPEC,
ColumnSpec.decode("default:grow"), ColumnSpec.decode("default:grow"),
FormSpecs.RELATED_GAP_COLSPEC, FormSpecs.RELATED_GAP_COLSPEC,
FormSpecs.DEFAULT_COLSPEC,}, FormSpecs.DEFAULT_COLSPEC,
FormSpecs.RELATED_GAP_COLSPEC,},
new RowSpec[] { new RowSpec[] {
FormSpecs.RELATED_GAP_ROWSPEC, FormSpecs.RELATED_GAP_ROWSPEC,
FormSpecs.DEFAULT_ROWSPEC, FormSpecs.DEFAULT_ROWSPEC,
@ -91,7 +92,7 @@ public class BackupPanel extends JPanel
public void mouseClicked(MouseEvent e) { public void mouseClicked(MouseEvent e) {
final JFileChooser fc = new JFileChooser(); final JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fc.showDialog(BackupPanel.this,"Répertoire à sauvegarder"); int returnVal = fc.showDialog(BackupPanel.this,BUNDLE.getString("BackupPanel.targetFileChooserButton.text"));
if (returnVal == JFileChooser.APPROVE_OPTION){ if (returnVal == JFileChooser.APPROVE_OPTION){
File file = fc.getSelectedFile(); File file = fc.getSelectedFile();
textField.setText(file.getPath()); textField.setText(file.getPath());

View File

@ -1,32 +1,36 @@
package org.dclermonte.siba.gui; package org.dclermonte.siba.gui;
import javax.swing.JPanel; import java.awt.event.ActionEvent;
import javax.swing.JLabel; import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import com.jgoodies.forms.layout.FormLayout; import javax.swing.JButton;
import com.jgoodies.forms.layout.ColumnSpec; import javax.swing.JFileChooser;
import com.jgoodies.forms.layout.FormSpecs; import javax.swing.JLabel;
import com.jgoodies.forms.layout.RowSpec; import javax.swing.JPanel;
import com.jgoodies.forms.layout.Sizes;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.filechooser.FileNameExtensionFilter;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.FormSpecs;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.layout.Sizes;
/**
*
* @author papa
*/
public class CheckPanel extends JPanel public class CheckPanel extends JPanel
{ {
private static final long serialVersionUID = -1580485684838045920L;
private JTextField textField; private JTextField textField;
/** /**
@ -34,24 +38,29 @@ public class CheckPanel extends JPanel
*/ */
public CheckPanel() public CheckPanel()
{ {
setLayout(new FormLayout(new ColumnSpec[] { setLayout(new FormLayout(
ColumnSpec.decode("2dlu"), new ColumnSpec[] { ColumnSpec.decode("2dlu"),
new ColumnSpec(ColumnSpec.LEFT, Sizes.bounded(Sizes.PREFERRED, Sizes.constant("50dlu", true), Sizes.constant("60dlu", true)), 1), new ColumnSpec(ColumnSpec.LEFT,
new ColumnSpec(ColumnSpec.LEFT, Sizes.bounded(Sizes.PREFERRED, Sizes.constant("50dlu", true), Sizes.constant("100dlu", true)), 1), Sizes.bounded(Sizes.PREFERRED, Sizes.constant("50dlu", true),
Sizes.constant("60dlu", true)),
1),
new ColumnSpec(ColumnSpec.LEFT,
Sizes.bounded(Sizes.PREFERRED, Sizes.constant("50dlu", true),
Sizes.constant("100dlu", true)),
1),
ColumnSpec.decode("30dlu"), }, ColumnSpec.decode("30dlu"), },
new RowSpec[] { new RowSpec[] { FormSpecs.LINE_GAP_ROWSPEC, RowSpec.decode("25px"), FormSpecs.RELATED_GAP_ROWSPEC,
FormSpecs.LINE_GAP_ROWSPEC,
RowSpec.decode("25px"),
FormSpecs.RELATED_GAP_ROWSPEC,
FormSpecs.DEFAULT_ROWSPEC, })); FormSpecs.DEFAULT_ROWSPEC, }));
JLabel lblNewLabel = new JLabel("Sauvegarde à vérifier"); JLabel lblNewLabel = new JLabel("Sauvegarde à vérifier");
add(lblNewLabel, "2, 2, left, center"); add(lblNewLabel, "2, 2, left, center");
JButton btnNewButton = new JButton("..."); JButton btnNewButton = new JButton("...");
btnNewButton.addMouseListener(new MouseAdapter() { btnNewButton.addMouseListener(new MouseAdapter()
{
@Override @Override
public void mouseClicked(MouseEvent e) { public void mouseClicked(final MouseEvent e)
{
try try
{ {
repertoireChoisi(); repertoireChoisi();
@ -69,61 +78,97 @@ public class CheckPanel extends JPanel
} }
}); });
textField = new JTextField(); this.textField = new JTextField();
add(textField, "3, 2, fill, default"); add(this.textField, "3, 2, fill, default");
textField.setColumns(10); this.textField.setColumns(10);
add(btnNewButton, "4, 2, left, top"); add(btnNewButton, "4, 2, left, top");
JButton btnNewButton_1 = new JButton("Check"); JButton btnNewButton_1 = new JButton("Check");
btnNewButton_1.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(final ActionEvent arg0)
{
try
{
check();
}
catch (NoSuchAlgorithmException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
add(btnNewButton_1, "3, 4"); add(btnNewButton_1, "3, 4");
} }
final void repertoireChoisi() throws IOException, NoSuchAlgorithmException { final void check() throws IOException, NoSuchAlgorithmException
final JFileChooser fc = new JFileChooser(); {
FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichiers md5","md5"); File file = new File(this.textField.getText());
fc.addChoosableFileFilter(filter);
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnVal = fc.showDialog(CheckPanel.this,"Sauvegarde à vérifier");
if (returnVal == JFileChooser.APPROVE_OPTION){
File file = fc.getSelectedFile();
textField.setText(file.getPath());
FileReader fileReader = new FileReader(file); FileReader fileReader = new FileReader(file);
char[] md5 = new char[32]; char[] md5 = new char[32];
byte[] md5byte = new byte[32]; byte[] md5byte = new byte[32];
char[] fileToCheck = new char[(int) (file.length()) - 32]; char[] fileToCheck = new char[(int) (file.length()) - 32];
for (int index=0;index<32;index++){ for (int index = 0; index < 32; index++)
{
md5[index] = (char) fileReader.read(); md5[index] = (char) fileReader.read();
md5byte[index] = (byte) md5[index]; md5byte[index] = (byte) md5[index];
} }
fileReader.read(); fileReader.read();
String fileNameToString = new String(); String fileNameToString = new String();
for (int index=36;index<file.length()+3;index++){ for (int index = 36; index < (file.length() + 3); index++)
{
fileToCheck[index - 36] = (char) fileReader.read(); fileToCheck[index - 36] = (char) fileReader.read();
} }
fileNameToString = String.copyValueOf(fileToCheck); fileNameToString = String.copyValueOf(fileToCheck);
File fileToCheck1 = new File(fileNameToString);
fileReader.close(); fileReader.close();
byte[] bytedirectoryToSave = new byte[(int) fileToCheck.length] ; byte[] bytedirectoryToSave = new byte[fileToCheck.length];
FileInputStream fileInputStream = new FileInputStream(file); FileInputStream fileInputStream = new FileInputStream(file);
for (int index1 = 0; index1 < fileNameToString.length(); index1++) for (int index1 = 0; index1 < fileNameToString.length(); index1++)
{ {
bytedirectoryToSave[index1] = (byte) fileInputStream.read(); bytedirectoryToSave[index1] = (byte) fileInputStream.read();
} }
fileInputStream.close();
byte[] hash = null; byte[] hash = null;
MessageDigest messageDigest = MessageDigest.getInstance("MD5"); MessageDigest messageDigest = MessageDigest.getInstance("MD5");
hash = messageDigest.digest(bytedirectoryToSave); hash = messageDigest.digest(bytedirectoryToSave);
if (messageDigest.isEqual(hash, md5byte)){ if (MessageDigest.isEqual(hash, md5byte))
System.out.println("gagné");} {
else { System.out.println("gagné");
}
else
{
System.out.println("Perdu"); System.out.println("Perdu");
} }
} }
/**
*
* @throws IOException
* @throws NoSuchAlgorithmException
*/
final void repertoireChoisi() throws IOException, NoSuchAlgorithmException
{
final JFileChooser fc = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichiers md5", "md5");
fc.setAcceptAllFileFilterUsed(false);
fc.addChoosableFileFilter(filter);
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnVal = fc.showDialog(CheckPanel.this, "Sauvegarde à vérifier");
if (returnVal == JFileChooser.APPROVE_OPTION)
{
File file = fc.getSelectedFile();
this.textField.setText(file.getName());
} }
} }
}

View File

@ -17,6 +17,7 @@ import javax.swing.JPopupMenu;
import java.awt.Component; import java.awt.Component;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.Dimension;
public class SibaGUI public class SibaGUI
@ -60,6 +61,7 @@ public class SibaGUI
private void initialize() private void initialize()
{ {
frmSimpleBackup = new JFrame(); frmSimpleBackup = new JFrame();
frmSimpleBackup.setMinimumSize(new Dimension(600, 400));
frmSimpleBackup.getContentPane().setBackground(new Color(173, 255, 47)); frmSimpleBackup.getContentPane().setBackground(new Color(173, 255, 47));
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);

View File

@ -1,12 +1,13 @@
#Field ResourceBundle: BUNDLE #Field ResourceBundle: BUNDLE
#Mon Apr 04 22:42:06 CEST 2016 #Thu Apr 07 21:33:48 CEST 2016
BackupPanel.btnNewButton.text=\u2026 BackupPanel.btnNewButton.text=\u2026
BackupPanel.btnNewButton_1.text=\u2026 BackupPanel.btnNewButton_1.text=\u2026
BackupPanel.btnNewButton_2.text=Backup BackupPanel.btnNewButton_2.text=Backup
BackupPanel.lblLeRepertoire.text=- le repertoire \u00E0 compresser BackupPanel.lblLeRepertoire.text=- le repertoire \u00E0 compresser
BackupPanel.lblNewLabel.text=Source Directory\: BackupPanel.lblNewLabel.text=Source Directory\:
BackupPanel.lblNewLabel_1.text=Date Format BackupPanel.lblNewLabel_1.text=Date Format
BackupPanel.lblNewLabel_2.text=Choisissez \: BackupPanel.lblNewLabel_2.text=<html>Choisissez \:<br/>\nblabla<br/>\n</html>
BackupPanel.lblRpertoireDeDestination.text=Target Directory\: BackupPanel.lblRpertoireDeDestination.text=Target Directory\:
BackupPanel.rdbtnNewRadioButton.text=(iso8601) YYYY-MM-dd BackupPanel.rdbtnNewRadioButton.text=(iso8601) YYYY-MM-dd
BackupPanel.rdbtnNewRadioButton_1.text=Human BackupPanel.rdbtnNewRadioButton_1.text=Human
BackupPanel.targetFileChooserButton.text=Target Directory

View File

@ -1,5 +1,5 @@
#Field ResourceBundle: BUNDLE #Field ResourceBundle: BUNDLE
#Fri Apr 01 15:52:27 CEST 2016 #Thu Apr 07 21:33:48 CEST 2016
BackupPanel.btnNewButton.text=\u2026 BackupPanel.btnNewButton.text=\u2026
BackupPanel.btnNewButton_1.text=... BackupPanel.btnNewButton_1.text=...
BackupPanel.btnNewButton_2.text=Backup BackupPanel.btnNewButton_2.text=Backup
@ -8,3 +8,4 @@ BackupPanel.lblNewLabel_1.text=Date Format
BackupPanel.lblRpertoireDeDestination.text=Target Directory\: BackupPanel.lblRpertoireDeDestination.text=Target Directory\:
BackupPanel.rdbtnNewRadioButton.text=(iso8601) YYYY-MM-dd BackupPanel.rdbtnNewRadioButton.text=(iso8601) YYYY-MM-dd
BackupPanel.rdbtnNewRadioButton_1.text=Human BackupPanel.rdbtnNewRadioButton_1.text=Human
BackupPanel.targetFileChooserButton.text=Target Directory