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),
ColumnSpec.decode("30dlu"),}, Sizes.constant("60dlu", true)),
new RowSpec[] { 1),
FormSpecs.LINE_GAP_ROWSPEC, new ColumnSpec(ColumnSpec.LEFT,
RowSpec.decode("25px"), Sizes.bounded(Sizes.PREFERRED, Sizes.constant("50dlu", true),
FormSpecs.RELATED_GAP_ROWSPEC, Sizes.constant("100dlu", true)),
FormSpecs.DEFAULT_ROWSPEC,})); 1),
ColumnSpec.decode("30dlu"), },
new RowSpec[] { FormSpecs.LINE_GAP_ROWSPEC, RowSpec.decode("25px"), FormSpecs.RELATED_GAP_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();
@ -68,62 +77,98 @@ 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); FileReader fileReader = new FileReader(file);
fc.setFileSelectionMode(JFileChooser.FILES_ONLY); char[] md5 = new char[32];
byte[] md5byte = new byte[32];
int returnVal = fc.showDialog(CheckPanel.this,"Sauvegarde à vérifier"); char[] fileToCheck = new char[(int) (file.length()) - 32];
if (returnVal == JFileChooser.APPROVE_OPTION){ for (int index = 0; index < 32; index++)
File file = fc.getSelectedFile(); {
textField.setText(file.getPath()); md5[index] = (char) fileReader.read();
FileReader fileReader = new FileReader(file); md5byte[index] = (byte) md5[index];
char[] md5 = new char[32]; }
byte[] md5byte = new byte[32]; fileReader.read();
char[] fileToCheck = new char[(int) (file.length())-32]; String fileNameToString = new String();
for (int index=0;index<32;index++){ for (int index = 36; index < (file.length() + 3); index++)
md5[index]= (char) fileReader.read(); {
md5byte[index]=(byte) md5[index] ; fileToCheck[index - 36] = (char) fileReader.read();
} }
fileReader.read(); fileNameToString = String.copyValueOf(fileToCheck);
String fileNameToString = new String(); fileReader.close();
for (int index=36;index<file.length()+3;index++){ byte[] bytedirectoryToSave = new byte[fileToCheck.length];
fileToCheck[index-36]= (char) fileReader.read(); FileInputStream fileInputStream = new FileInputStream(file);
} for (int index1 = 0; index1 < fileNameToString.length(); index1++)
fileNameToString= String.copyValueOf(fileToCheck); {
File fileToCheck1 = new File(fileNameToString); bytedirectoryToSave[index1] = (byte) fileInputStream.read();
fileReader.close(); }
byte[] bytedirectoryToSave = new byte[(int) fileToCheck.length] ; fileInputStream.close();
FileInputStream fileInputStream = new FileInputStream(file); byte[] hash = null;
for ( int index1 = 0 ;index1< fileNameToString.length();index1++) MessageDigest messageDigest = MessageDigest.getInstance("MD5");
{ hash = messageDigest.digest(bytedirectoryToSave);
bytedirectoryToSave[index1] = (byte) fileInputStream.read(); if (MessageDigest.isEqual(hash, md5byte))
} {
System.out.println("gagné");
}
byte[] hash = null; else
MessageDigest messageDigest = MessageDigest.getInstance("MD5"); {
hash = messageDigest.digest(bytedirectoryToSave); System.out.println("Perdu");
if (messageDigest.isEqual(hash, md5byte)){
System.out.println("gagné");}
else {
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