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.
*/ 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("

Il y a une erreur avec le fichier base_evaluations_analyseWriter.xml

" + "

Probablement, il a été renommé ou supprimé.


" + "

Une nouvelle base sera créé.

"); JOptionPane.showMessageDialog(frame, texte); } } } /** * Création du node evaluationBase.
*/ 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(); } } }