package fenetres.create_act; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.IOException; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.KeyStroke; import javax.swing.filechooser.FileNameExtensionFilter; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; import MEPTL.commandes; import MEPTL.ecritureSujet; import MEPTL.meptl; import MEPTL.verificationFichierAnalyse; import cXML.Run; import fenetres.evaluate; public class actNewFichierAnalyse extends AbstractAction{ /** * */ private static final long serialVersionUID = 1L; { putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierODF.png"))); putValue( Action.NAME, "Génère un nouveau fichier d'analyse" ); putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierODFmini.png")) ); putValue( Action.MNEMONIC_KEY, KeyEvent.VK_N ); putValue( Action.SHORT_DESCRIPTION, "Générer un nouveau fichier d'analyse (CTRL+N)" ); putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK) ); } @Override public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser(); chooser.setDialogTitle("Choisir un fichier ODF"); chooser.setCurrentDirectory(new java.io.File(commandes.path)); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); FileNameExtensionFilter filter = new FileNameExtensionFilter("Format ODF", "odt"); chooser.setFileFilter(filter); chooser.setAcceptAllFileFilterUsed(true); if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath()); commandes.initialiseParametresSettingProprietes();; commandes.path = chooser.getCurrentDirectory().getAbsolutePath(); commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath(); String cheminVersFichier = chooser.getSelectedFile().getAbsolutePath(); commandes.nameSujet = chooser.getSelectedFile().getName(); Run b = null; try { b = new Run(cheminVersFichier); commandes.sujet = Run.XMLContent(b.getLectDossiers().getEC().getListeContentWriter().get(0)); commandes.sujet = meptl.LectureFichierEtudiantSousFormeDeNode(commandes.sujet,b,0); commandes.sujet.getAttributs().put("analysis_filename","sujet.xml"); commandes.sujet = ecritureSujet.nodePourEcritureSujet(commandes.sujet,b,0); commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-start"); commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-end"); commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes"); commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change"); commandes.sujetSauvegarde = commandes.sujet.clone(); new verificationFichierAnalyse(); if(commandes.fichierAnalyseValide) { fenetres.create.constructionTree(); fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse(); }else { fenetres.create.getTextNodeSelect().setText("

Le fichier n'est pas valise

"); } } catch (ParserConfigurationException | SAXException | IOException | CloneNotSupportedException e1) { e1.printStackTrace(); } } else { fenetres.create.getTextNodeSelect().refreshAffichage(null); } commandes.ecritCode = true; } }