diff --git a/analyseWriter.exe b/analyseWriter.exe
index 7ff05c7..03e44b9 100644
Binary files a/analyseWriter.exe and b/analyseWriter.exe differ
diff --git a/analyseWriter.jar b/analyseWriter.jar
index 121c8a6..2cf9aef 100644
Binary files a/analyseWriter.jar and b/analyseWriter.jar differ
diff --git a/bin/MEPTL/commandes.class b/bin/MEPTL/commandes.class
index f830a4d..76b9370 100644
Binary files a/bin/MEPTL/commandes.class and b/bin/MEPTL/commandes.class differ
diff --git a/bin/calcul/formatDateWriter.class b/bin/calcul/formatDateWriter.class
index 6f7ecbd..6097501 100644
Binary files a/bin/calcul/formatDateWriter.class and b/bin/calcul/formatDateWriter.class differ
diff --git a/bin/fenetres/afficheText.class b/bin/fenetres/afficheText.class
index 5deea25..8ce72cd 100644
Binary files a/bin/fenetres/afficheText.class and b/bin/fenetres/afficheText.class differ
diff --git a/bin/fenetres/create$1.class b/bin/fenetres/create$1.class
index 5b30ab0..de1471d 100644
Binary files a/bin/fenetres/create$1.class and b/bin/fenetres/create$1.class differ
diff --git a/bin/fenetres/create$10.class b/bin/fenetres/create$10.class
index 255b359..55810c0 100644
Binary files a/bin/fenetres/create$10.class and b/bin/fenetres/create$10.class differ
diff --git a/bin/fenetres/create$11.class b/bin/fenetres/create$11.class
index 5a4d6bb..c063c37 100644
Binary files a/bin/fenetres/create$11.class and b/bin/fenetres/create$11.class differ
diff --git a/bin/fenetres/create$12.class b/bin/fenetres/create$12.class
index 85c4788..4331b4e 100644
Binary files a/bin/fenetres/create$12.class and b/bin/fenetres/create$12.class differ
diff --git a/bin/fenetres/create$13.class b/bin/fenetres/create$13.class
index ef36b67..12b8117 100644
Binary files a/bin/fenetres/create$13.class and b/bin/fenetres/create$13.class differ
diff --git a/bin/fenetres/create$14.class b/bin/fenetres/create$14.class
index e14fc5a..90b4b3e 100644
Binary files a/bin/fenetres/create$14.class and b/bin/fenetres/create$14.class differ
diff --git a/bin/fenetres/create$15.class b/bin/fenetres/create$15.class
index 7f26e02..79ccae1 100644
Binary files a/bin/fenetres/create$15.class and b/bin/fenetres/create$15.class differ
diff --git a/bin/fenetres/create$2.class b/bin/fenetres/create$2.class
index eee2fe1..ac133b5 100644
Binary files a/bin/fenetres/create$2.class and b/bin/fenetres/create$2.class differ
diff --git a/bin/fenetres/create$3.class b/bin/fenetres/create$3.class
index eae78be..bbc0fe3 100644
Binary files a/bin/fenetres/create$3.class and b/bin/fenetres/create$3.class differ
diff --git a/bin/fenetres/create$4.class b/bin/fenetres/create$4.class
index 5b15972..923291b 100644
Binary files a/bin/fenetres/create$4.class and b/bin/fenetres/create$4.class differ
diff --git a/bin/fenetres/create$5.class b/bin/fenetres/create$5.class
index 1f4352a..4ae6022 100644
Binary files a/bin/fenetres/create$5.class and b/bin/fenetres/create$5.class differ
diff --git a/bin/fenetres/create$6.class b/bin/fenetres/create$6.class
index 9ba6bd7..dca8abc 100644
Binary files a/bin/fenetres/create$6.class and b/bin/fenetres/create$6.class differ
diff --git a/bin/fenetres/create$7.class b/bin/fenetres/create$7.class
index e3318f9..b1ccddf 100644
Binary files a/bin/fenetres/create$7.class and b/bin/fenetres/create$7.class differ
diff --git a/bin/fenetres/create$8.class b/bin/fenetres/create$8.class
index 241c492..3dab138 100644
Binary files a/bin/fenetres/create$8.class and b/bin/fenetres/create$8.class differ
diff --git a/bin/fenetres/create$9.class b/bin/fenetres/create$9.class
index d2a55b3..9a73f4f 100644
Binary files a/bin/fenetres/create$9.class and b/bin/fenetres/create$9.class differ
diff --git a/bin/fenetres/create.class b/bin/fenetres/create.class
index f26856a..df77ec3 100644
Binary files a/bin/fenetres/create.class and b/bin/fenetres/create.class differ
diff --git a/bin/fenetres/evaluate$16.class b/bin/fenetres/evaluate$16.class
index 8647906..09edc1a 100644
Binary files a/bin/fenetres/evaluate$16.class and b/bin/fenetres/evaluate$16.class differ
diff --git a/bin/fenetres/evaluate$17.class b/bin/fenetres/evaluate$17.class
index dfaadd2..c91f4fd 100644
Binary files a/bin/fenetres/evaluate$17.class and b/bin/fenetres/evaluate$17.class differ
diff --git a/bin/fenetres/evaluate$18.class b/bin/fenetres/evaluate$18.class
index ca25d90..d9e2561 100644
Binary files a/bin/fenetres/evaluate$18.class and b/bin/fenetres/evaluate$18.class differ
diff --git a/bin/fenetres/evaluate$19.class b/bin/fenetres/evaluate$19.class
index 7eebb98..607693c 100644
Binary files a/bin/fenetres/evaluate$19.class and b/bin/fenetres/evaluate$19.class differ
diff --git a/bin/fenetres/evaluate$20.class b/bin/fenetres/evaluate$20.class
index 0005374..6abefba 100644
Binary files a/bin/fenetres/evaluate$20.class and b/bin/fenetres/evaluate$20.class differ
diff --git a/bin/fenetres/evaluate$21.class b/bin/fenetres/evaluate$21.class
index 0c8bf4a..df95092 100644
Binary files a/bin/fenetres/evaluate$21.class and b/bin/fenetres/evaluate$21.class differ
diff --git a/bin/fenetres/evaluate$22.class b/bin/fenetres/evaluate$22.class
index 5aab643..9345997 100644
Binary files a/bin/fenetres/evaluate$22.class and b/bin/fenetres/evaluate$22.class differ
diff --git a/bin/fenetres/evaluate$23.class b/bin/fenetres/evaluate$23.class
index e9c2a2b..7fb82e4 100644
Binary files a/bin/fenetres/evaluate$23.class and b/bin/fenetres/evaluate$23.class differ
diff --git a/bin/fenetres/evaluate$24.class b/bin/fenetres/evaluate$24.class
index 6c8aeef..41faeb2 100644
Binary files a/bin/fenetres/evaluate$24.class and b/bin/fenetres/evaluate$24.class differ
diff --git a/bin/fenetres/evaluate$25.class b/bin/fenetres/evaluate$25.class
index 1627273..a2e077a 100644
Binary files a/bin/fenetres/evaluate$25.class and b/bin/fenetres/evaluate$25.class differ
diff --git a/bin/fenetres/evaluate$26.class b/bin/fenetres/evaluate$26.class
index 0b8a1a2..3742e00 100644
Binary files a/bin/fenetres/evaluate$26.class and b/bin/fenetres/evaluate$26.class differ
diff --git a/bin/fenetres/evaluate$27.class b/bin/fenetres/evaluate$27.class
index 7b30ebd..b3eca1b 100644
Binary files a/bin/fenetres/evaluate$27.class and b/bin/fenetres/evaluate$27.class differ
diff --git a/bin/fenetres/evaluate$28.class b/bin/fenetres/evaluate$28.class
index 467e1e9..3ff6f75 100644
Binary files a/bin/fenetres/evaluate$28.class and b/bin/fenetres/evaluate$28.class differ
diff --git a/bin/fenetres/evaluate$29.class b/bin/fenetres/evaluate$29.class
index 1488597..518cf69 100644
Binary files a/bin/fenetres/evaluate$29.class and b/bin/fenetres/evaluate$29.class differ
diff --git a/bin/fenetres/evaluate$30.class b/bin/fenetres/evaluate$30.class
index 6fa8490..421b2c5 100644
Binary files a/bin/fenetres/evaluate$30.class and b/bin/fenetres/evaluate$30.class differ
diff --git a/bin/fenetres/evaluate$31.class b/bin/fenetres/evaluate$31.class
index f19ffb9..94fb24e 100644
Binary files a/bin/fenetres/evaluate$31.class and b/bin/fenetres/evaluate$31.class differ
diff --git a/bin/fenetres/evaluate$32.class b/bin/fenetres/evaluate$32.class
index f7c77de..3a9c23d 100644
Binary files a/bin/fenetres/evaluate$32.class and b/bin/fenetres/evaluate$32.class differ
diff --git a/bin/fenetres/evaluate$33.class b/bin/fenetres/evaluate$33.class
index a8ea2fd..9921f46 100644
Binary files a/bin/fenetres/evaluate$33.class and b/bin/fenetres/evaluate$33.class differ
diff --git a/bin/fenetres/evaluate.class b/bin/fenetres/evaluate.class
index c8eb485..e94aae9 100644
Binary files a/bin/fenetres/evaluate.class and b/bin/fenetres/evaluate.class differ
diff --git a/bin/fenetres/savePreferences.class b/bin/fenetres/savePreferences.class
deleted file mode 100644
index 2283c9c..0000000
Binary files a/bin/fenetres/savePreferences.class and /dev/null differ
diff --git a/src/MEPTL/commandes.java b/src/MEPTL/commandes.java
index 1c0f2df..2fed744 100644
--- a/src/MEPTL/commandes.java
+++ b/src/MEPTL/commandes.java
@@ -1,6 +1,7 @@
package MEPTL;
import java.io.IOException;
+import java.nio.file.Paths;
import java.util.Date;
import javax.swing.JTree;
@@ -127,7 +128,12 @@ public class commandes {
public static int analyse_Nbre_Fichier_Student = 0;
public static int analyse_index_Fichier_Student = 0;
public static StringBuilder message = new StringBuilder();
-
+
+ //** base de données des évaluations
+ public static String PathBaseEvaluations = Paths.get("").toAbsolutePath().toString(); //Chemin vers la base de données
+ public static boolean PathBaseEvalationDefaut = true; //Flag si ce n'est pas le chemin par défaut vers la base de données
+ public static String NameBaseEvaluations="base_evaluations_analyseWriter.xml"; //Nom par défaut de la base de données
+
public static void initialiseParametresSettingProprietes() {
//** setting valeur par défaut
culture = "FR";
diff --git a/src/action/actOpenHistoriqueEvaluation.java b/src/action/actOpenHistoriqueEvaluation.java
index cf42d44..d063de8 100644
--- a/src/action/actOpenHistoriqueEvaluation.java
+++ b/src/action/actOpenHistoriqueEvaluation.java
@@ -5,6 +5,8 @@ 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;
@@ -12,12 +14,10 @@ import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
-import javax.swing.filechooser.FileSystemView;
import MEPTL.commandes;
import cXML.node;
-import fenetres.SimpleTableDemo;
-import fenetres.chargeEvaluations;
+import fenetres.baseDonneesEvaluations;
import fenetres.create;
public class actOpenHistoriqueEvaluation extends AbstractAction{
@@ -30,59 +30,78 @@ public class actOpenHistoriqueEvaluation extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
- nodeEvaluations();
+ recupeNodeBaseEvaluations();
if(commandes.evaluationsBase!=null) {
-// chargeEvaluations.getInstance();
- new SimpleTableDemo();
+ baseDonneesEvaluations.getInstance();
}else {
- commandes.evaluationsBase = new node();
- commandes.evaluationsBase.setNomElt("evaluations");
- chargeEvaluations.getInstance();
+ creationNewNodeBaseEvaluation();
+ baseDonneesEvaluations.getInstance();
}
}
/**
* Récupération du node base_evaluations_analyseWriter.xml.
*/
- private void nodeEvaluations() {
+ private void recupeNodeBaseEvaluations() {
- File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
- if (directory.exists()){
- File file = null;
- if(commandes.os.contains("Win")) {
- file = new File(directory.getAbsolutePath() + "\\" + "base_evaluations_analyseWriter.xml");
- }else {
- file = new File(directory.getAbsolutePath() + "/" + "base_evaluations_analyseWriter.xml");
- }
-
- 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;
- }
+// 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é.
"
- + "Ou bien encore, il ne contient aucune évaluation.");
- JOptionPane.showMessageDialog(frame, texte);
}
+ }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();
+ }
+
+ }
+
}
diff --git a/src/action/actPathBaseEvaluations.java b/src/action/actPathBaseEvaluations.java
new file mode 100644
index 0000000..687508a
--- /dev/null
+++ b/src/action/actPathBaseEvaluations.java
@@ -0,0 +1,26 @@
+package action;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import fenetres.ChargePathBaseEvaluation;
+import fenetres.create;
+
+public class actPathBaseEvaluations extends AbstractAction{
+ {
+ putValue( Action.NAME, "Indiquer le chemin vers la base des évaluations" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/sauvegardehistoriqueevaluationmini.png")) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_O );
+ putValue( Action.SHORT_DESCRIPTION, "Indiquer le chemin vers la base des évaluation" );
+ }
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ new ChargePathBaseEvaluation();
+ }
+}
diff --git a/src/action/actSaveHistoriqueEvaluation.java b/src/action/actSaveHistoriqueEvaluation.java
deleted file mode 100644
index 1b0c1a3..0000000
--- a/src/action/actSaveHistoriqueEvaluation.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package action;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.text.ParseException;
-import java.util.Date;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.ImageIcon;
-import javax.swing.JOptionPane;
-import javax.swing.filechooser.FileSystemView;
-
-import MEPTL.commandes;
-import cXML.Run;
-import cXML.node;
-import fenetres.create;
-
-public class actSaveHistoriqueEvaluation extends AbstractAction{
- {
- putValue( Action.NAME, "Sauvegarder l'évaluation" );
- putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/sauvegardehistoriqueevaluationmini.png")) );
- putValue( Action.MNEMONIC_KEY, KeyEvent.VK_O );
- putValue( Action.SHORT_DESCRIPTION, "Sauvegarder l'évaluation" );
- }
- private static final long serialVersionUID = 1L;
-
- @Override
- public void actionPerformed(ActionEvent e) {
- if(commandes.fichierAnalyseValide) {
-
-
- String name = JOptionPane.showInputDialog(null,"Donner un nom à cette évaluation ?","Nom de l'évaluation");
-
- if(!name.isBlank()) {
- node evaluations = nodeEvaluations();
- if(!isEvaluationExist(evaluations, name)) {
- evaluations.getNodes().add(0, creationNodeEvaluation(new node(), name));
-// evaluations.getNodes().add(creationNodeEvaluation(new node(), name));
- }else {
- evaluations.getNodes().add(creationNodeEvaluation(evaluations.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "name", name), name));
- }
-
- //Mise à jour de la base de données
- Date aujourdhui = new Date();
- evaluations.getAttributs().put("version", commandes.version);
- try {
- evaluations.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
- ecritureBaseEvaluation(evaluations);
- } catch (ParseException | IOException e1) {
- e1.printStackTrace();
- }
-
- }
-
-
-
- }
- }
-
- private boolean isEvaluationExist(node evaluations, String nameEvaluation) {
- if(evaluations!=null) {
- if(evaluations.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "name", nameEvaluation)!=null) return true;
- }
- return false;
- }
-
-
- private node nodeEvaluations() {
- node evaluations = new node();
- evaluations.setNomElt("evaluations");
- File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
- if (directory.exists()){
- File file = null;
- if(commandes.os.contains("Win")) {
- file = new File(directory.getAbsolutePath() + "\\" + "base_evaluations_analyseWriter.xml");
- }else {
- file = new File(directory.getAbsolutePath() + "/" + "base_evaluations_analyseWriter.xml");
- }
- 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);
- }
- evaluations = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
- }catch (Exception e) {
-
- }
- }
- }
- return evaluations;
- }
-
- private node creationNodeEvaluation(node evaluation, String name) {
- evaluation.setNomElt("evaluation");
- Date aujourdhui = new Date();
- evaluation.getAttributs().put("version", commandes.version);
- evaluation.getAttributs().put("name", name);
- evaluation.getAttributs().put("PathFilenameAnalysis", commandes.PathFilenameAnalysis);
- evaluation.getAttributs().put("path", commandes.path);
- evaluation.getAttributs().put("fichierStudentMoodle", String.valueOf(commandes.fichierStudentMoodle));
- evaluation.getAttributs().put("sansFeeback", String.valueOf(commandes.sansFeeback) );
- evaluation.getAttributs().put("noDetail", String.valueOf(commandes.noDetail) );
- evaluation.getAttributs().put("noNote", String.valueOf(commandes.noNote) );
- evaluation.getAttributs().put("zipfeedback", String.valueOf(commandes.zipfeedback) );
- evaluation.getAttributs().put("verifHisto2", String.valueOf(commandes.verifHisto2) );
- evaluation.getAttributs().put("ecritNoteCSV", String.valueOf(commandes.ecritNoteCSV) );
- evaluation.getAttributs().put("newLogo", String.valueOf(commandes.newLogo) );
- evaluation.getAttributs().put("noLogo", String.valueOf(commandes.noLogo) );
-
- evaluation.getNodes().add(commandes.sujet);
- if(commandes.sujet.getAttributs().get("analysis_filename").contains(".xml")) {
- evaluation.getAttributs().put("analysis_filename",commandes.sujet.getAttributs().get("analysis_filename"));
- }else {
- evaluation.getAttributs().put("analysis_filename",commandes.nameSujet);
- }
-
-
- evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
- if(commandes.nameCSV!=null) {
- evaluation.getAttributs().put("nameCSV", commandes.nameCSV );
- }else {
- evaluation.getAttributs().put("nameCSV", "");
- }
-
- evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
- if(commandes.nameSVG!=null) {
- evaluation.getAttributs().put("nameSVG", commandes.nameSVG );
- }else {
- evaluation.getAttributs().put("nameSVG", "" );
- }
-
-
-
- evaluation.getNodes().add(commandes.nodeCSV);
-
- try {
- evaluation.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
- } catch (ParseException e) {
- e.printStackTrace();
- }
-
- if(commandes.nameSVG!=null) {
- if(!commandes.nameSVG.isBlank() && !commandes.contenuFichierSVG.isBlank()) {
- node SVG = new node();
- SVG.setNomElt("nodSVG");
- SVG.setContenu(commandes.contenuFichierSVG);
- evaluation.getNodes().add(SVG);
- }
- }
-
- return evaluation;
-
- }
-
- 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);
- }
-}
diff --git a/src/calcul/formatDateWriter.java b/src/calcul/formatDateWriter.java
index 7a167c8..249eba0 100644
--- a/src/calcul/formatDateWriter.java
+++ b/src/calcul/formatDateWriter.java
@@ -76,7 +76,15 @@ public class formatDateWriter {
return d1;
}
-
+ /**
+ * Retourne sous la forme d'un string au format LibreOffice la date d'aujourd'hui.
+ * @return
+ * @throws ParseException
+ */
+ public static String dateTodayLibreOffice() throws ParseException {
+ Date aujourdhui = new Date();
+ return DateLibreOffice(aujourdhui);
+ }
diff --git a/src/fenetres/ChargePathBaseEvaluation.java b/src/fenetres/ChargePathBaseEvaluation.java
new file mode 100644
index 0000000..915789f
--- /dev/null
+++ b/src/fenetres/ChargePathBaseEvaluation.java
@@ -0,0 +1,117 @@
+package fenetres;
+
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.HeadlessException;
+import java.awt.Image;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+
+import javax.swing.ImageIcon;
+import javax.swing.JDialog;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.filechooser.FileNameExtensionFilter;
+
+import MEPTL.commandes;
+import cXML.node;
+
+public class ChargePathBaseEvaluation extends JFileChooser {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+
+ public ChargePathBaseEvaluation() {
+
+ setDialogTitle("Sélectionner la base de données des évaluations.");
+
+ FileNameExtensionFilter filter = new FileNameExtensionFilter("Base de données des évaluations", "xml");
+ setFileFilter(filter);
+ setPreferredSize(new Dimension(550, 420));
+
+ int response = showOpenDialog(null);
+ if(response == JFileChooser.APPROVE_OPTION) {
+
+
+ File file = new File(getSelectedFile().getAbsolutePath());
+ String ext = file.getName().substring(file.getName().lastIndexOf("."));
+
+ if(ext.equals(".xml")){
+ openFileXML(file);
+ }
+ }
+ }
+
+ @Override
+ protected JDialog createDialog( Component parent ) throws HeadlessException {
+ JDialog dialog = super.createDialog( parent );
+ Image img = new ImageIcon(getClass().getResource("/evalwriter.png") ).getImage();
+ dialog.setIconImage(img);
+ return dialog;
+ }
+
+
+ /**
+ *
+ * @param file
+ */
+ private void openFileXML(File file) {
+
+
+ if(commandes.os.contains("Win")) {
+ commandes.path = file.getPath().substring(0,file.getPath().lastIndexOf("\\")); // Sur Windows
+ }else {
+ commandes.path = file.getPath().substring(0,file.getPath().lastIndexOf("/")); // Sur mac & Linux
+ }
+
+ String PathFilenameAnalysis = getCurrentDirectory().getPath();
+ String nameSujet = file.getName().toString();
+
+ 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 nodeEvaluation = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
+
+ if(nodeEvaluation.getNomElt().equals("evaluations")) {
+ commandes.NameBaseEvaluations=nameSujet;
+ commandes.PathBaseEvaluations=PathFilenameAnalysis;
+ commandes.PathBaseEvalationDefaut=false;
+ if(!create.isDispose) create.getTextNodeSelect().afficheChargementCheminVersLaBase();
+ if(!evaluate.isDispose) evaluate.getTxtpnmessages().afficheChargementCheminVersLaBase();
+ }else {
+ commandes.PathBaseEvalationDefaut=false;
+ JFrame frame = new JFrame();
+ JLabel texte = new JLabel("Ce n'est pas une base de données des évaluations.
");
+ JOptionPane.showMessageDialog(frame, texte);
+ }
+
+ } catch (UnsupportedEncodingException e1) {
+ e1.printStackTrace();
+ } catch (FileNotFoundException e1) {
+ e1.printStackTrace();
+ } catch (Exception e) {
+ }
+
+ }
+
+
+
+
+}
diff --git a/src/fenetres/afficheText.java b/src/fenetres/afficheText.java
index b114a19..0435515 100644
--- a/src/fenetres/afficheText.java
+++ b/src/fenetres/afficheText.java
@@ -475,12 +475,28 @@ public class afficheText extends JEditorPane {
text.append("
");
text.append("Fichier d'analyse :
");
text.append(""+commandes.analysis_filename+"
");
-
+ text.append("
");
+ text.append("La base de données des évaluations :
");
+ text.append("La base de données des évaluations se trouve : " + commandes.PathBaseEvaluations +"
"
+ + "La base de données se nomme : " + commandes.NameBaseEvaluations +"
");
+
+
setContentType("text/html");
setText(text.toString());
}
+ public void afficheChargementCheminVersLaBase() {
+ StringBuilder text = new StringBuilder();
+ text.append(baliseStyle.balise());
+ text.append("
INFORMATIONS
"
+ + "La base de données des évaluations se trouve : " + commandes.PathBaseEvaluations +"
"
+ + "La base de données se nomme : " + commandes.NameBaseEvaluations +"
");
+ setContentType("text/html");
+ setText(text.toString());
+ }
+
+
/**
*
* @param TextErreur
diff --git a/src/fenetres/SimpleTableDemo.java b/src/fenetres/baseDonneesEvaluations.java
similarity index 91%
rename from src/fenetres/SimpleTableDemo.java
rename to src/fenetres/baseDonneesEvaluations.java
index f990a86..b83bdce 100644
--- a/src/fenetres/SimpleTableDemo.java
+++ b/src/fenetres/baseDonneesEvaluations.java
@@ -15,6 +15,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
+import java.nio.file.Paths;
import java.text.ParseException;
import java.util.Date;
@@ -30,7 +31,6 @@ import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import javax.swing.filechooser.FileSystemView;
import MEPTL.commandes;
import MEPTL.meptl;
@@ -38,11 +38,11 @@ import MEPTL.verificationFichierAnalyse;
import cXML.Run;
import cXML.node;
-public class SimpleTableDemo extends JFrame { /**
+public class baseDonneesEvaluations extends JFrame { /**
*
*/
private static final long serialVersionUID = 1L;
- private static SimpleTableDemo instance;
+ private static baseDonneesEvaluations instance;
JTable table = new JTable();
private JPanel panelHaut = new JPanel();
private JPanel panelBas = new JPanel();
@@ -57,7 +57,7 @@ public class SimpleTableDemo extends JFrame { /**
String[] columnNames = {"Nom de l'évaluation","Date d'enregistrement","Titre de l'exercice","Propriété personnalisé Sujet","Nom du fichier d'analyse"};
JScrollPane scrollPane = new JScrollPane();
-public SimpleTableDemo() {
+public baseDonneesEvaluations() {
super();
@@ -126,7 +126,7 @@ public SimpleTableDemo() {
//*Le haut
String nombreEvluation = String.valueOf(commandes.evaluationsBase.getNodes().size());
- lblInformationBaseEvluation.setText("Date dernière modification : " +calcul.formatDateWriter.DateEnClairFR( calcul.formatDateWriter.DateLibreOffice(commandes.evaluationsBase.getAttributs().get("date"))) + " -- Nombre d'évaluation : " + nombreEvluation);
+ lblInformationBaseEvluation.setText("Date dernière modification : " + calcul.formatDateWriter.DateEnClairFR( calcul.formatDateWriter.DateLibreOffice(commandes.evaluationsBase.getAttributs().get("date"))) + " -- Nombre d'évaluation : " + nombreEvluation);
add(panelHaut, BorderLayout.NORTH);
lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 14));
panelHaut.add(lblInformationBaseEvluation);
@@ -159,10 +159,9 @@ public SimpleTableDemo() {
}
-public static SimpleTableDemo getInstance() {
- if(chargeEvaluations.isDispose) instance = null;
- if (instance == null) {
- instance = new SimpleTableDemo();
+public static baseDonneesEvaluations getInstance() {
+ if (isDispose) {
+ instance = new baseDonneesEvaluations();
}
instance.setVisible(true);
isDispose=false;
@@ -393,8 +392,17 @@ private void chargeLeNodeSujet(File file) {
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);
+// File directory = new File(FileSystemView.getFileSystemView().getDefaultDirectory().getPath());
+// Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation);
+
+ String directoryName = "";
+ if(commandes.PathBaseEvalationDefaut) {
+ directoryName = Paths.get("").toAbsolutePath().toString();
+ }else {
+ directoryName = commandes.PathBaseEvaluations;
+ }
+ Run.ecritureNodeEnXML(evaluations, commandes.NameBaseEvaluations, directoryName, Run.TypeFile.Evaluation);
+
}
diff --git a/src/fenetres/chargeEvaluations.java b/src/fenetres/chargeEvaluations.java
deleted file mode 100644
index 970a5a9..0000000
--- a/src/fenetres/chargeEvaluations.java
+++ /dev/null
@@ -1,638 +0,0 @@
-package fenetres;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Date;
-
-import javax.swing.Box;
-import javax.swing.FocusManager;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
-import javax.swing.border.EmptyBorder;
-import javax.swing.filechooser.FileSystemView;
-
-import MEPTL.commandes;
-import MEPTL.meptl;
-import MEPTL.verificationFichierAnalyse;
-import action.actSaveHistoriqueEvaluation;
-import cXML.Run;
-import cXML.node;
-import net.miginfocom.swing.MigLayout;
-
-public class chargeEvaluations extends JFrame {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private static chargeEvaluations instance;
- private JPanel contentPane = new JPanel();
- JPanel panelCentre = new JPanel();
- ArrayList LeslabelsTitre = new ArrayList();
- ArrayList LeslabelsMeta = new ArrayList();
- ArrayList LeslabelsDate = new ArrayList();
- ArrayList LeslabelsFileNameAnalysis = new ArrayList();
- ArrayList LesRadioButtons = new ArrayList();
- JLabel lblInformationBaseEvluation = new JLabel("");
- public static boolean isDispose = true;
- int indexSelect=0;
-
-
-
- /**
- * Create the frame.
- */
- public static chargeEvaluations getInstance() {
- if(chargeEvaluations.isDispose) instance = null;
- if (instance == null) {
- instance = new chargeEvaluations();
- }
- instance.setVisible(true);
- isDispose=false;
- return instance;
- }
-
-
- public chargeEvaluations() {
- setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
-
- setBounds(100, 100, 1300, 600);
- int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
- int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
- setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
-
- ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
- setIconImage(img.getImage());
- setTitle(commandes.Titre + " - La base de données des évaluations");
-
-
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(new BorderLayout(2, 2));
-
- JPanel panelGauche = new JPanel();
- contentPane.add(panelGauche, BorderLayout.WEST);
- panelGauche.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2));
-
- JPanel panelHaut = new JPanel();
- contentPane.add(panelHaut, BorderLayout.NORTH);
-
-
- lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelHaut.add(lblInformationBaseEvluation);
-
- JPanel panelBas = new JPanel();
- contentPane.add(panelBas, BorderLayout.SOUTH);
- panelBas.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10));
-
- JButton btnSupprimeEvaluation = new JButton("Supprimer une évaluation");
- btnSupprimeEvaluation.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- }
- });
- btnSupprimeEvaluation.setForeground(new Color(255, 0, 0));
- btnSupprimeEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
- panelBas.add(btnSupprimeEvaluation);
-
- Component horizontalGlue = Box.createHorizontalGlue();
- panelBas.add(horizontalGlue);
-
- Component horizontalGlue_1 = Box.createHorizontalGlue();
- panelBas.add(horizontalGlue_1);
-
- JButton btnSaveEvaluation = new JButton("Enregistre l'évaluation actuelle");
- btnSaveEvaluation.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new actSaveHistoriqueEvaluation();
- }
- });
- btnSaveEvaluation.setForeground(new Color(0, 64, 128));
- btnSaveEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
- panelBas.add(btnSaveEvaluation);
-
- JButton btnValide = new JButton("Charger l'évaluation");
- btnValide.setFont(new Font("Tahoma", Font.BOLD, 12));
- btnValide.setForeground(new Color(0, 128, 0));
- panelBas.add(btnValide);
-
- JScrollPane scrollPaneCentre = new JScrollPane();
- contentPane.add(scrollPaneCentre, BorderLayout.CENTER);
-
-
- scrollPaneCentre.setViewportView(panelCentre);
- panelCentre.setLayout(new MigLayout("gap rel 4", "[100px:n,grow][50px:n,grow][150px:n,grow 150][150px:n,grow 150][150px:n,grow 150]", "[20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0]"));
-
- JLabel lblNewLabel = new JLabel("Nom de l'évaluation");
- lblNewLabel.setForeground(new Color(0, 0, 255));
- lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel, "cell 0 0");
-
- JLabel lblNewLabel_1 = new JLabel("Date d'enregistrement");
- lblNewLabel_1.setForeground(new Color(0, 0, 255));
- lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_1, "cell 1 0");
-
- JLabel lblNewLabel_2 = new JLabel("Nom du fichier d'analyse");
- lblNewLabel_2.setForeground(new Color(0, 0, 255));
- lblNewLabel_2.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_2, "cell 2 0");
-
- JLabel lblNewLabel_3 = new JLabel("Titre de l'exercice");
- lblNewLabel_3.setForeground(new Color(0, 0, 255));
- lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_3, "cell 3 0");
-
- JLabel lblNewLabel_4 = new JLabel("Propriété personnalisé Sujet");
- lblNewLabel_4.setForeground(new Color(0, 0, 255));
- lblNewLabel_4.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_4, "cell 4 0");
-
-
-// String dateDernierEnregistrement = commandes.evaluationsBase.getAttributs().get("date");
-
- String nombreEvluation = String.valueOf(commandes.evaluationsBase.getNodes().size());
-
- lblInformationBaseEvluation.setText("Date dernière modification : " +calcul.formatDateWriter.DateEnClairFR( calcul.formatDateWriter.DateLibreOffice(commandes.evaluationsBase.getAttributs().get("date"))) + " -- Nombre d'évaluation : " + nombreEvluation);
-
- for(int i = 0 ; i1) {
- for(int i = 0; i < LesRadioButtons.size();i++) {
- LesRadioButtons.get(i).setSelected(false);
- }
- }else {
- for(int i = 0; i < LesRadioButtons.size();i++) {
- if(LesRadioButtons.get(i).isSelected()) {
- chargeEvaluationSelected(commandes.evaluationsBase.getNodes().get(i));
- isDispose=true;
- dispose();
- }
- }
- }
- }
- });
-
-
- btnSupprimeEvaluation.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- int compteur = 0;
- for(int i = 0; i < LesRadioButtons.size();i++) {
- if(LesRadioButtons.get(i).isSelected()) compteur++;
- }
- if(compteur>1) {
- for(int i = 0; i < LesRadioButtons.size();i++) {
- LesRadioButtons.get(i).setSelected(false);
- }
- }else {
- for(int i = 0; i < LesRadioButtons.size();i++) {
- if(LesRadioButtons.get(i).isSelected()) {
- commandes.evaluationsBase.getNodes().remove(i);
- try {
- ecritureBaseEvaluation(commandes.evaluationsBase);
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- actualise();
- }
- }
- }
- }
- });
-
-
- /**
- * Bouton Sauvegarde de l'évaluation.
- */
- btnSaveEvaluation.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if(commandes.fichierAnalyseValide) {
-
- int compteur = 0;
- String name ="Nom de l'évaluation";
- for(int i = 0; i < LesRadioButtons.size();i++) {
- if(LesRadioButtons.get(i).isSelected()) compteur++;
- }
- if(compteur>1) {
- for(int i = 0; i < LesRadioButtons.size();i++) {
- LesRadioButtons.get(i).setSelected(false);
- }
- }else {
- for(int i = 0; i < LesRadioButtons.size();i++) {
- if(LesRadioButtons.get(i).isSelected()) {
- name = LesRadioButtons.get(i).getText();
- }
- }
- }
-
-
- name = JOptionPane.showInputDialog(null,"Donner un nom à cette évaluation ?",name);
-
- if(!name.isBlank()) {
- if(!isEvaluationExist(name)) {
- commandes.evaluationsBase.getNodes().add(0, creationNodeEvaluation(new node(), name));;
- }else {
- creationNodeEvaluation(commandes.evaluationsBase.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "name", name), name);
- }
-
- //Mise à jour de la base de données
- Date aujourdhui = new Date();
- commandes.evaluationsBase.getAttributs().put("version", commandes.version);
- try {
- commandes.evaluationsBase.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
- ecritureBaseEvaluation(commandes.evaluationsBase);
- actualise();
- } catch (ParseException | IOException e1) {
- e1.printStackTrace();
- }
- }
- }
- }
- });
-
- ListenerAction();
- }
-
- //Quitte la fenêtre.
- private void ListenerAction() {
- addWindowListener(new java.awt.event.WindowAdapter() {
- @Override
- public void windowClosing(java.awt.event.WindowEvent windowEvent) {
- isDispose=true;
- dispose();
- }
- });
- }
-
- class MyMouseListener extends MouseAdapter {
- public void mouseClicked(MouseEvent evt) {
-
- Component focusOwner = FocusManager.getCurrentManager().getFocusOwner();
- indexSelect = LesRadioButtons.indexOf(focusOwner);
-
- if (evt.getClickCount() == 3) {
- System.out.println("triple-click");
- LesRadioButtons.get(indexSelect).setSelected(true);
- } else if (evt.getClickCount() == 2) {
- System.out.println("double-click");
- LesRadioButtons.get(indexSelect).setSelected(true);
- }
- else if (evt.getClickCount() == 1) {
- System.out.println("click");
- LesRadioButtons.get(indexSelect).setSelected(true);
- }
-
-
- System.out.println("indexSelect = " + indexSelect);
-
- for(int i = 0; i < LesRadioButtons.size();i++) {
- if(i!=indexSelect) LesRadioButtons.get(i).setSelected(false);
- }
-
- }
- }
-
-
-
-
- /**
- * charge en mémoire l'évaluation sélectionnée.
- * @param evaluation
- */
- private void chargeEvaluationSelected(node evaluation) {
-
- //* Charge le node sujet provisoirement
- commandes.path = evaluation.getAttributs().get("path"); //Dossier des fichiers des étudiants
- commandes.sujet = evaluation.retourneFirstEnfantsByName("fichier"); // Chargement provisoire du node sujet depuis la base
- commandes.nameSujet = evaluation.getAttributs().get("analysis_filename");
- commandes.PathFilenameAnalysis = evaluation.getAttributs().get("PathFilenameAnalysis");
-
- //** Les paramètres
- commandes.version = evaluation.getAttributs().get("version");
- commandes.fichierStudentMoodle = Boolean.valueOf(evaluation.getAttributs().get("fichierStudentMoodle"));
- commandes.sansFeeback = Boolean.valueOf(evaluation.getAttributs().get("sansFeeback"));
- commandes.noDetail = Boolean.valueOf(evaluation.getAttributs().get("noDetail"));
- commandes.noNote = Boolean.valueOf(evaluation.getAttributs().get("noNote"));
- commandes.zipfeedback = Boolean.valueOf(evaluation.getAttributs().get("zipfeedback"));
- commandes.verifHisto2 = Boolean.valueOf(evaluation.getAttributs().get("verifHisto2"));
- commandes.ecritNoteCSV = Boolean.valueOf(evaluation.getAttributs().get("ecritNoteCSV"));
- commandes.newLogo = Boolean.valueOf(evaluation.getAttributs().get("newLogo"));
- commandes.noLogo = Boolean.valueOf(evaluation.getAttributs().get("noLogo"));
-
- commandes.fourniCSV = Boolean.valueOf(evaluation.getAttributs().get("fourniCSV"));
- commandes.nameCSV = evaluation.getAttributs().get("nameCSV");
-
- commandes.fourniCSV = Boolean.valueOf(evaluation.getAttributs().get("fourniCSV"));
- commandes.nameSVG = evaluation.getAttributs().get("nameSVG");
-
-
- commandes.nodeCSV = evaluation.retourneFirstEnfantsByName("fileCSV");
-
- commandes.contenuFichierSVG = evaluation.retourneFirstEnfantsByName("nodSVG").retourneLesContenusEnfants("");
-
- commandes.fichierAnalyseValide = true;
-
-
-
- //* Rechercher la source
- String CheminVersFileXML = "";
- if(commandes.os.contains("Win")) {
- commandes.PathFilenameAnalysis.replaceAll("/", "\\"); // Sur Windows
- CheminVersFileXML = commandes.PathFilenameAnalysis + "\\" + commandes.nameSujet;
-
- }else {
- commandes.PathFilenameAnalysis.replaceAll("\\", "/"); // Sur Windows // Sur mac & Linux
- CheminVersFileXML = commandes.PathFilenameAnalysis + "/" + commandes.nameSujet;
- }
-
- File file = new File(CheminVersFileXML);
- if(file.exists()) {
- 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("Le fichier d'analyse de l'évaluation, " + commandes.nameSujet + ", a été renommé ou supprimé.
"
- + "Le fichier d'analyse de l'évaluation est récupéré depuis la base de données des évaluations.
");
- JOptionPane.showMessageDialog(frame, texte);
- }
-
-
- //** Remise à zéro de la base dans la mémoire de l'application
- commandes.evaluationsBase = null;
-
- //** Affichage de la fenêtre
- if(!evaluate.isDispose) {
- evaluate.getInstance();
- };
- if(!create.isDispose) {
- create.getInstance();
- };
-
- isDispose=true;
-
- }
-
-
- /**
- * Charge le fichier d'analyse de l'évaluation.
- * @param file
- */
- private void chargeLeNodeSujet(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 {
- 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();
-
- // Rechercher des erreurs dans le fichier d'analyse
- System.out.println( "Vérification du fichier d'analyse" );
- new verificationFichierAnalyse();
- }
-
- } catch (UnsupportedEncodingException e1) {
- e1.printStackTrace();
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- } catch (Exception e) {
- }
-
- }
-
-
-
-
- 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);
- }
-
-
- private boolean isEvaluationExist(String nameEvaluation) {
- if(commandes.evaluationsBase.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "name", nameEvaluation)!=null) return true;
- return false;
- }
-
-
- private node creationNodeEvaluation(node evaluation, String name) {
- evaluation.setNomElt("evaluation");
- Date aujourdhui = new Date();
- evaluation.getAttributs().put("version", commandes.version);
- evaluation.getAttributs().put("name", name);
- evaluation.getAttributs().put("PathFilenameAnalysis", commandes.PathFilenameAnalysis);
- evaluation.getAttributs().put("path", commandes.path);
- evaluation.getAttributs().put("fichierStudentMoodle", String.valueOf(commandes.fichierStudentMoodle));
- evaluation.getAttributs().put("sansFeeback", String.valueOf(commandes.sansFeeback) );
- evaluation.getAttributs().put("noDetail", String.valueOf(commandes.noDetail) );
- evaluation.getAttributs().put("noNote", String.valueOf(commandes.noNote) );
- evaluation.getAttributs().put("zipfeedback", String.valueOf(commandes.zipfeedback) );
- evaluation.getAttributs().put("verifHisto2", String.valueOf(commandes.verifHisto2) );
- evaluation.getAttributs().put("ecritNoteCSV", String.valueOf(commandes.ecritNoteCSV) );
- evaluation.getAttributs().put("newLogo", String.valueOf(commandes.newLogo) );
- evaluation.getAttributs().put("noLogo", String.valueOf(commandes.noLogo) );
-
- //Supprime le node fichier s'il existe.
- node nodremove = evaluation.retourneFirstEnfantsByName("fichier");
- if(!nodremove.isVide()) evaluation.getNodes().remove(nodremove);
-
- evaluation.getNodes().add(commandes.sujet);
-
- if(commandes.sujet.getAttributs().get("analysis_filename").contains(".xml")) {
- evaluation.getAttributs().put("analysis_filename",commandes.sujet.getAttributs().get("analysis_filename"));
- }else {
- evaluation.getAttributs().put("analysis_filename",commandes.nameSujet);
- }
-
-
- evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
- if(commandes.nameCSV!=null) {
- evaluation.getAttributs().put("nameCSV", commandes.nameCSV );
- }else {
- evaluation.getAttributs().put("nameCSV", "");
- }
-
- evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
- if(commandes.nameSVG!=null) {
- evaluation.getAttributs().put("nameSVG", commandes.nameSVG );
- }else {
- evaluation.getAttributs().put("nameSVG", "" );
- }
-
-
- //Supprime le node fichier s'il existe.
- nodremove = evaluation.retourneFirstEnfantsByName("fileCSV");
- if(!nodremove.isVide()) evaluation.getNodes().remove(nodremove);
-
- evaluation.getNodes().add(commandes.nodeCSV);
-
- try {
- evaluation.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
- } catch (ParseException e) {
- e.printStackTrace();
- }
-
- if(commandes.nameSVG!=null) {
- if(!commandes.nameSVG.isBlank() && !commandes.contenuFichierSVG.isBlank()) {
- node SVG = new node();
- SVG.setNomElt("nodSVG");
- SVG.setContenu(commandes.contenuFichierSVG);
- evaluation.getNodes().add(SVG);
- }
- }
-
- return evaluation;
-
- }
-
-
- private void actualise() {
-
- LesRadioButtons.clear();
- LeslabelsDate.clear();
- LeslabelsTitre.clear();
- LeslabelsFileNameAnalysis.clear();
- LeslabelsMeta.clear();
-
- panelCentre.removeAll();
- panelCentre.setLayout(new MigLayout("gap rel 4", "[100px:n,grow][50px:n,grow][150px:n,grow 150][150px:n,grow 150][150px:n,grow 150]", "[20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0][20px:20px:20px,shrinkprio 0,shrink 0]"));
-
- JLabel lblNewLabel = new JLabel("Nom de l'évaluation");
- lblNewLabel.setForeground(new Color(0, 0, 255));
- lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel, "cell 0 0");
-
- JLabel lblNewLabel_1 = new JLabel("Date d'enregistrement");
- lblNewLabel_1.setForeground(new Color(0, 0, 255));
- lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_1, "cell 1 0");
-
- JLabel lblNewLabel_2 = new JLabel("Nom du fichier d'analyse");
- lblNewLabel_2.setForeground(new Color(0, 0, 255));
- lblNewLabel_2.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_2, "cell 2 0");
-
- JLabel lblNewLabel_3 = new JLabel("Titre de l'exercice");
- lblNewLabel_3.setForeground(new Color(0, 0, 255));
- lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_3, "cell 3 0");
-
- JLabel lblNewLabel_4 = new JLabel("Propriété personnalisé Sujet");
- lblNewLabel_4.setForeground(new Color(0, 0, 255));
- lblNewLabel_4.setFont(new Font("Tahoma", Font.BOLD, 14));
- panelCentre.add(lblNewLabel_4, "cell 4 0");
-
-
- String dateDernierEnregistrement = commandes.evaluationsBase.getAttributs().get("date");
-
- String nombreEvluation = String.valueOf(commandes.evaluationsBase.getNodes().size());
-
- lblInformationBaseEvluation.setText("Date dernière modification : " + dateDernierEnregistrement + " -- Nombre d'évaluation : " + nombreEvluation);
-
- for(int i = 0 ; i