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) {
|
||||
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>"
|
||||
+ "<p>Probablement, il a été renommé ou supprimé.</p><br>"
|
||||
+ "<p>Une nouvelle base sera créé.</p></html>");
|
||||
+ "<p>Probablement, il a été renommé, ou supprimé, ou déplacé.</p><br>"
|
||||
+ "<p>Une nouvelle base sera créé dans le dossier de l'application.</p></html>");
|
||||
JOptionPane.showMessageDialog(frame, texte);
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package action;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -50,6 +51,12 @@ public class actSave extends AbstractAction{
|
||||
if(input==0) {
|
||||
try {
|
||||
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);
|
||||
|
||||
|
@ -4,6 +4,7 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -50,6 +51,12 @@ public class actSaveAs extends AbstractAction{
|
||||
try {
|
||||
|
||||
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")) {
|
||||
Run.ecritureNodeEnXML(commandes.sujet, fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")),Run.TypeFile.Sujet );
|
||||
|
@ -8,10 +8,13 @@ import java.util.regex.Pattern;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import MEPTL.commandes;
|
||||
|
||||
public class formatDateWriter {
|
||||
|
||||
/**
|
||||
* Retourne true sie le format est YYYY-MM-JJTHH:MM:SS.<br>
|
||||
* C'est le format utilisé par LibreOffice.<br>
|
||||
* @param date une String.
|
||||
* @return retrourne true ou false.
|
||||
*/
|
||||
@ -86,6 +89,17 @@ public class formatDateWriter {
|
||||
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);
|
||||
if(file.exists()) {
|
||||
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, 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
|
||||
|
||||
if (recupereDateFichierAnalyseSource(file)!=null) {
|
||||
|
||||
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 {
|
||||
// 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>"
|
||||
@ -382,6 +396,7 @@ private void chargeLeNodeSujet(File file) {
|
||||
commandes.initialiseParametresSettingProprietes();
|
||||
commandes.sujet = sujetLoad;
|
||||
commandes.sujetSauvegarde = commandes.sujet.clone();
|
||||
|
||||
//Chargement des paramètres du fichier d'analyse
|
||||
System.out.println( "Chargement des paramètres du fichier d'analyse");
|
||||
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 {
|
||||
// File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
|
||||
// Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation);
|
||||
|
Loading…
Reference in New Issue
Block a user