MAJ V4.4.3
Chargement du fichier d'analyse source si la date est postérieure à la date du fichier d'analyse base.
This commit is contained in:
parent
a52da79d76
commit
24c47febe7
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -82,8 +82,8 @@ public class actOpenHistoriqueEvaluation extends AbstractAction{
|
|||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
JFrame frame = new JFrame();
|
JFrame frame = new JFrame();
|
||||||
JLabel texte = new JLabel("<html><p>Il y a une erreur avec le fichier <b>base_evaluations_analyseWriter.xml</b></p>"
|
JLabel texte = new JLabel("<html><p>Il y a une erreur avec le fichier <b>base_evaluations_analyseWriter.xml</b></p>"
|
||||||
+ "<p>Probablement, il a été renommé ou supprimé.</p><br>"
|
+ "<p>Probablement, il a été renommé, ou supprimé, ou déplacé.</p><br>"
|
||||||
+ "<p>Une nouvelle base sera créé.</p></html>");
|
+ "<p>Une nouvelle base sera créé dans le dossier de l'application.</p></html>");
|
||||||
JOptionPane.showMessageDialog(frame, texte);
|
JOptionPane.showMessageDialog(frame, texte);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package action;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.text.ParseException;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -50,7 +51,13 @@ public class actSave extends AbstractAction{
|
|||||||
if(input==0) {
|
if(input==0) {
|
||||||
try {
|
try {
|
||||||
verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(commandes.nameSujet);
|
verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(commandes.nameSujet);
|
||||||
|
//Mise à jour de la date d'enregistrement du fichier d'analyse
|
||||||
|
try {
|
||||||
|
commandes.sujet.getAttributs().put("date", calcul.formatDateWriter.dateTodayLibreOffice());
|
||||||
|
} catch (ParseException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
Run.ecritureNodeEnXML(commandes.sujet, commandes.nameSujet,commandes.PathFilenameAnalysis,Run.TypeFile.Sujet);
|
Run.ecritureNodeEnXML(commandes.sujet, commandes.nameSujet,commandes.PathFilenameAnalysis,Run.TypeFile.Sujet);
|
||||||
|
|
||||||
if(m.find()) {
|
if(m.find()) {
|
||||||
|
@ -4,6 +4,7 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.text.ParseException;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -50,7 +51,13 @@ public class actSaveAs extends AbstractAction{
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(fileToSave.getName());
|
verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(fileToSave.getName());
|
||||||
|
//Mise à jour de la date d'enregistrement du fichier d'analyse
|
||||||
|
try {
|
||||||
|
commandes.sujet.getAttributs().put("date", calcul.formatDateWriter.dateTodayLibreOffice());
|
||||||
|
} catch (ParseException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
if(commandes.os.contains("Win")) {
|
if(commandes.os.contains("Win")) {
|
||||||
Run.ecritureNodeEnXML(commandes.sujet, fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")),Run.TypeFile.Sujet );
|
Run.ecritureNodeEnXML(commandes.sujet, fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")),Run.TypeFile.Sujet );
|
||||||
}else {
|
}else {
|
||||||
|
@ -8,10 +8,13 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
|
||||||
|
import MEPTL.commandes;
|
||||||
|
|
||||||
public class formatDateWriter {
|
public class formatDateWriter {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne true sie le format est YYYY-MM-JJTHH:MM:SS.<br>
|
* Retourne true sie le format est YYYY-MM-JJTHH:MM:SS.<br>
|
||||||
|
* C'est le format utilisé par LibreOffice.<br>
|
||||||
* @param date une String.
|
* @param date une String.
|
||||||
* @return retrourne true ou false.
|
* @return retrourne true ou false.
|
||||||
*/
|
*/
|
||||||
@ -86,6 +89,17 @@ public class formatDateWriter {
|
|||||||
return DateLibreOffice(aujourdhui);
|
return DateLibreOffice(aujourdhui);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la date du fichier du node commandes.sujet<br>
|
||||||
|
* Si ne trouve pas la date alors retourne un null.
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Date dateNodeSujet() {
|
||||||
|
if(commandes.sujet.getAttributs().get("date")!=null) {
|
||||||
|
String dateString = commandes.sujet.getAttributs().get("date");
|
||||||
|
return calcul.formatDateWriter.DateLibreOffice(dateString);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -320,18 +320,32 @@ private void chargeEvaluationSelected(node evaluation) {
|
|||||||
|
|
||||||
File file = new File(CheminVersFileXML);
|
File file = new File(CheminVersFileXML);
|
||||||
if(file.exists()) {
|
if(file.exists()) {
|
||||||
JFrame frame = new JFrame();
|
|
||||||
JLabel text = new JLabel();
|
if (recupereDateFichierAnalyseSource(file)!=null) {
|
||||||
text.setText("<html><p>Le fichier d'analyse est déjà chargé depuis la base de données.</p><br>"
|
|
||||||
+ "<p>Cependant, le fichier d'analyse se trouve aussi dans le dossier :</p>"
|
|
||||||
+ "<p>"+CheminVersFileXML+"</p><br><hr>"
|
|
||||||
+ "<p>Voulez-vous le charger depuis ce dossier ?</p></html>");
|
|
||||||
if (JOptionPane.showConfirmDialog(frame, text, "WARNING",JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
|
||||||
chargeLeNodeSujet(file);
|
|
||||||
commandes.path = evaluation.getAttributs().get("path"); //Recharge le chemin vers le dossier contenant les fichiers des étudiants
|
|
||||||
|
|
||||||
|
Date DateFichierSource = recupereDateFichierAnalyseSource(file);
|
||||||
|
Date DateFichierAnalyseBase = calcul.formatDateWriter.dateNodeSujet();
|
||||||
|
|
||||||
|
if(DateFichierAnalyseBase.before(DateFichierSource)) {
|
||||||
|
JFrame frame = new JFrame();
|
||||||
|
JLabel text = new JLabel();
|
||||||
|
text.setText("<html><p>Le fichier d'analyse est déjà chargé depuis la base de données.</p><br>"
|
||||||
|
+ "<p>Cependant, vous avez le fichier d'analyse qui se trouve dans le dossier :</p>"
|
||||||
|
+ "<p>"+CheminVersFileXML+"</p>"
|
||||||
|
+ "<p>Et dont la date est plus récente que le fichier d'analyse qui se trouve dans la base.</p><br><hr>"
|
||||||
|
+ "<p>Voulez-vous le charger depuis ce dossier ?</p></html>");
|
||||||
|
if (JOptionPane.showConfirmDialog(frame, text, "WARNING",JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||||
|
chargeLeNodeSujet(file);
|
||||||
|
commandes.path = evaluation.getAttributs().get("path"); //Recharge le chemin vers le dossier contenant les fichiers des étudiants
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
// else {
|
// else {
|
||||||
// JFrame frame = new JFrame();
|
// JFrame frame = new JFrame();
|
||||||
// JLabel texte = new JLabel("<html><p>Le fichier d'analyse de l'évaluation, " + commandes.nameSujet + ", <b>a été renommé ou supprimé</b>.</p><br>"
|
// JLabel texte = new JLabel("<html><p>Le fichier d'analyse de l'évaluation, " + commandes.nameSujet + ", <b>a été renommé ou supprimé</b>.</p><br>"
|
||||||
@ -382,6 +396,7 @@ private void chargeLeNodeSujet(File file) {
|
|||||||
commandes.initialiseParametresSettingProprietes();
|
commandes.initialiseParametresSettingProprietes();
|
||||||
commandes.sujet = sujetLoad;
|
commandes.sujet = sujetLoad;
|
||||||
commandes.sujetSauvegarde = commandes.sujet.clone();
|
commandes.sujetSauvegarde = commandes.sujet.clone();
|
||||||
|
|
||||||
//Chargement des paramètres du fichier d'analyse
|
//Chargement des paramètres du fichier d'analyse
|
||||||
System.out.println( "Chargement des paramètres du fichier d'analyse");
|
System.out.println( "Chargement des paramètres du fichier d'analyse");
|
||||||
meptl.chargementParametresFichierAnalyse();
|
meptl.chargementParametresFichierAnalyse();
|
||||||
@ -401,6 +416,44 @@ private void chargeLeNodeSujet(File file) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Date recupereDateFichierAnalyseSource(File file) {
|
||||||
|
BufferedReader br;
|
||||||
|
try {
|
||||||
|
br = new BufferedReader(
|
||||||
|
new InputStreamReader(
|
||||||
|
new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
|
||||||
|
String line;
|
||||||
|
StringBuilder targetString = new StringBuilder();
|
||||||
|
while ((line = br.readLine()) != null) {
|
||||||
|
targetString.append(line);
|
||||||
|
}
|
||||||
|
|
||||||
|
//node.node2(targetString);
|
||||||
|
node sujetLoad = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
|
||||||
|
|
||||||
|
// Vérification de la conformité du fichier d'analyse
|
||||||
|
if(!ChargeFichierXML.fichierSujetValide(sujetLoad)) {
|
||||||
|
JOptionPane.showMessageDialog(null, "Le fichier d'analyse n'est pas valide.");
|
||||||
|
}else {
|
||||||
|
if(sujetLoad.getAttributs().get("date")!=null) {
|
||||||
|
String dateString = sujetLoad.getAttributs().get("date");
|
||||||
|
return calcul.formatDateWriter.DateLibreOffice(dateString);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (UnsupportedEncodingException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
} catch (FileNotFoundException e1) {
|
||||||
|
e1.printStackTrace();
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void ecritureBaseEvaluation(node evaluations) throws IOException {
|
private void ecritureBaseEvaluation(node evaluations) throws IOException {
|
||||||
// File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
|
// File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
|
||||||
// Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation);
|
// Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user