analyseWriter/src/action/actOpenHistoriqueEvaluation...

108 lines
3.2 KiB
Java

package action;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.nio.file.Paths;
import java.text.ParseException;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import MEPTL.commandes;
import cXML.node;
import fenetres.baseDonneesEvaluations;
import fenetres.create;
public class actOpenHistoriqueEvaluation extends AbstractAction{
{
putValue( Action.NAME, "Charger une évaluation" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/chargehistoriqueevaluationmini.png")) );
putValue( Action.SHORT_DESCRIPTION, "Charger une évaluation" );
}
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent e) {
recupeNodeBaseEvaluations();
if(commandes.evaluationsBase!=null) {
baseDonneesEvaluations.getInstance();
}else {
creationNewNodeBaseEvaluation();
baseDonneesEvaluations.getInstance();
}
}
/**
* Récupération du node base_evaluations_analyseWriter.xml.</br>
*/
private void recupeNodeBaseEvaluations() {
// File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
String directoryName = "";
File file = null;
if(commandes.PathBaseEvalationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;
}
if(commandes.os.contains("Win")) {
file = new File(directoryName + "\\" + commandes.NameBaseEvaluations);
}else {
file = new File(directoryName + "/" + commandes.NameBaseEvaluations);
}
if(file!=null) {
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 evaluations = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
if(evaluations!=null) {
if(evaluations.getNodes().size()>0) {
if(evaluations.getNomElt().equals("evaluations")) {
commandes.evaluationsBase = evaluations;
}
}
}
}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>");
JOptionPane.showMessageDialog(frame, texte);
}
}
}
/**
* Création du node evaluationBase.<br>
*/
private void creationNewNodeBaseEvaluation() {
commandes.evaluationsBase = new node();
commandes.evaluationsBase.setNomElt("evaluations");
try {
commandes.evaluationsBase.getAttributs().put("date", calcul.formatDateWriter.dateTodayLibreOffice());
} catch (ParseException e) {
e.printStackTrace();
}
}
}