127 lines
5.1 KiB
Java
127 lines
5.1 KiB
Java
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 AnalyseCalc.Classeur2;
|
|
import calc.commandes;
|
|
import fenetres.evaluate;
|
|
import nodeAC.Ecriture;
|
|
import nodeAC.LecturesDossiers;
|
|
import nodeAC.constructionNodeAvecString;
|
|
import outils.verificationFichierAnalyse;
|
|
|
|
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(calc.commandes.path));
|
|
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
|
|
FileNameExtensionFilter filter = new FileNameExtensionFilter("Format ODF", "ods");
|
|
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());
|
|
|
|
// réinitialise les commandes
|
|
calc.commandes.initialiseCommandes();
|
|
|
|
calc.commandes.path = chooser.getCurrentDirectory().getAbsolutePath();
|
|
calc.commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath();
|
|
String cheminVersFichier = chooser.getSelectedFile().getAbsolutePath();
|
|
calc.commandes.nameSujet = chooser.getSelectedFile().getName();
|
|
|
|
|
|
try {
|
|
new LecturesDossiers(cheminVersFichier);
|
|
constructionNodeAvecString A = new constructionNodeAvecString();
|
|
|
|
;
|
|
calc.commandes.sujet = A.NewNode(LecturesDossiers.getEC().getListeContentTableur().get(0));
|
|
|
|
// Manque la transformation d'un nodeAC en nodeAC pour l'analyse
|
|
//calc.commandes.sujet = ...
|
|
|
|
calc.commandes.sujet.getAttributs().put("analysis_filename","sujet.xml");
|
|
|
|
Ecriture.ecritureNodeEnXML(calc.commandes.sujet, "sujet", calc.commandes.path, Ecriture.typeFichier.fichier_etudiant);
|
|
|
|
|
|
// Ecriture.ecritureNodeEnXML(ClasseurAnalyse, "ClasseurAnalyse", calc.commandes.path, Ecriture.typeFichier.fichier_etudiant);
|
|
|
|
|
|
//calc.commandes.sujet = ecritureSujet.nodePourEcritureSujet(calc.commandes.sujet,b,0);
|
|
|
|
calc.commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-start");
|
|
calc.commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-end");
|
|
calc.commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
|
|
calc.commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change");
|
|
|
|
Classeur2 ClasseurAnalyse = new Classeur2(calc.commandes.sujet,0,Ecriture.typeFichier.fichier_analyse);
|
|
// ClasseurAnalyse.ecritureClasseur(commandes.path);
|
|
|
|
calc.commandes.sujet = ClasseurAnalyse.convertClasseurToNode(Ecriture.typeFichier.fichier_analyse);
|
|
|
|
// Ecriture.ecritureNodeEnXML(calc.commandes.sujet, "sujet2", calc.commandes.path, Ecriture.typeFichier.fichier_etudiant);
|
|
|
|
|
|
calc.commandes.sujetSauvegarde = calc.commandes.sujet.clone();
|
|
|
|
new verificationFichierAnalyse();
|
|
System.out.println("Fichier d'analyse valide = " + calc.commandes.fichierAnalyseValide);
|
|
|
|
if(calc.commandes.fichierAnalyseValide) {
|
|
fenetres.create.constructionTree();
|
|
fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
|
|
}else {
|
|
fenetres.create.getTextNodeSelect().setText("<h1>Le fichier n'est pas valise</h1>");
|
|
fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
|
|
}
|
|
|
|
} catch (ParserConfigurationException | SAXException | IOException | CloneNotSupportedException e1) {
|
|
e1.printStackTrace();
|
|
} catch (Exception e1) {
|
|
// TODO Auto-generated catch block
|
|
e1.printStackTrace();
|
|
}
|
|
|
|
} else {
|
|
fenetres.create.getTextNodeSelect().refreshAffichage(null);
|
|
}
|
|
|
|
|
|
calc.commandes.ecritCode = true;
|
|
|
|
}
|
|
|
|
}
|