+ id="g1"
+ transform="translate(-204.03996,3.037033)">
diff --git a/icons/saveEvaluationmini.png b/icons/saveEvaluationmini.png
index 0b4fc66..bb9943b 100644
Binary files a/icons/saveEvaluationmini.png and b/icons/saveEvaluationmini.png differ
diff --git a/src/action/actPathBaseEvaluations.java b/src/action/actPathBaseEvaluations.java
index 2a74699..e789fc4 100644
--- a/src/action/actPathBaseEvaluations.java
+++ b/src/action/actPathBaseEvaluations.java
@@ -22,7 +22,7 @@ public class actPathBaseEvaluations extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
- new ChargePathBaseEvaluation();
+ new ChargePathBaseEvaluation(false);
baseDonneesEvaluations.getInstance();
}
}
diff --git a/src/baseEvaluations/chargeEvaluation.java b/src/baseEvaluations/chargeEvaluation.java
index 7d87bd3..00d8c46 100644
--- a/src/baseEvaluations/chargeEvaluation.java
+++ b/src/baseEvaluations/chargeEvaluation.java
@@ -27,9 +27,9 @@ import fenetres.ChargeFichierXML;
public class chargeEvaluation {
/**
- * Charge en mémoire le node évaluation avec le node sujet.
- * Le node commandes.evaluationChargeEnMemoire en mémoire.
- * Le node commandes.nameSujet en mémoire.
+ * Charge en mémoire le node évaluation et le node sujet.
+ * Le node commandes.evaluationChargeEnMemoire en mémoire.
+ * Le node commandes.nameSujet en mémoire.
* @param index
*/
public static void chargeEnMémoireEvaluationSelected(Integer index) {
@@ -126,8 +126,57 @@ public class chargeEvaluation {
}
+
+
+ public static node retourneLeNodeEvaluation(String date) {
+
+ String directoryName = "";
+ File file = null;
+ node evaluation = new node();
+ if(commandes.PathBaseEvaluationDefaut) {
+ 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);
+ }
+ String CodeTexte = targetString.toString().replace("\t","").replace("\r", "").replace("\n", "");
+ evaluation = evaluation.chargeNodeEvaluationIndex(null, CodeTexte);
+
+ return evaluation;
+
+ }catch (Exception e) {
+ JFrame frame = new JFrame("Erreur");
+ JLabel texte = new JLabel("Erreur
L'évaluation n'a pas été trouvé dans la base de données.
");
+ JOptionPane.showMessageDialog(frame, texte);
+ }
+
+ }
+
+
+ return null;
+ }
+
+
/**
- * Retourne le node évaluation sélectionné.
+ * Retourne le node évaluation sélectionné.
* @param index
* @return
*/
diff --git a/src/baseEvaluations/recupeNodeBaseEvaluations.java b/src/baseEvaluations/recupeNodeBaseEvaluations.java
index 302890a..45441ff 100644
--- a/src/baseEvaluations/recupeNodeBaseEvaluations.java
+++ b/src/baseEvaluations/recupeNodeBaseEvaluations.java
@@ -120,6 +120,10 @@ public class recupeNodeBaseEvaluations {
}
}
+ /**
+ * Y a-t'il des évaluations ?
+ * @return
+ */
public boolean isHasEvaluation() {
return HasEvaluation;
}
diff --git a/src/fenetres/ChargePathBaseEvaluation.java b/src/fenetres/ChargePathBaseEvaluation.java
index bc9b7df..07855ab 100644
--- a/src/fenetres/ChargePathBaseEvaluation.java
+++ b/src/fenetres/ChargePathBaseEvaluation.java
@@ -4,13 +4,24 @@ 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.InputStreamReader;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+
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 baseEvaluations.recupeNodeBaseEvaluations;
+import cXML.node;
/**
*
@@ -28,7 +39,8 @@ public class ChargePathBaseEvaluation extends JFileChooser {
/**
*
*/
- public ChargePathBaseEvaluation() {
+ public ChargePathBaseEvaluation(Boolean fusionWithDefaut) {
+ avecFusion = fusionWithDefaut;
setDialogTitle("Sélectionner la base de données des évaluations.");
FileNameExtensionFilter filter = new FileNameExtensionFilter("Base de données des évaluations", "xml");
setFileFilter(filter);
@@ -38,7 +50,11 @@ public class ChargePathBaseEvaluation extends JFileChooser {
File file = new File(getSelectedFile().getAbsolutePath());
String ext = file.getName().substring(file.getName().lastIndexOf("."));
if(ext.equals(".xml")){
- openFileXML(file);
+ if(!avecFusion) {
+ openFileXML(file);
+ }else {
+ fusionBaseWithDefaut(file);
+ }
}
}
}
@@ -71,5 +87,64 @@ public class ChargePathBaseEvaluation extends JFileChooser {
new recupeNodeBaseEvaluations(directoryName,nameNewBase);
}
+ private void fusionBaseWithDefaut(File file) {
+ node copieDefault = new node();
+
+ try {
+ commandes.PathBaseEvaluations = Paths.get("").toAbsolutePath().toString();
+ commandes.NameBaseEvaluations = "base_evaluations_analyseWriter.xml";
+ commandes.PathBaseEvaluationDefaut = true;
+ copieDefault = commandes.evaluationsBase.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+
+
+
+ if(!copieDefault.isVide() && !commandes.evaluationsBase.isVide()) {
+
+ BufferedReader br;
+ node evaluations = new node();
+ 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);
+ }
+ String CodeTexte = targetString.toString().replace("\t","").replace("\r", "").replace("\n", "");
+ evaluations = new node(CodeTexte);
+
+ }catch (Exception e) {
+ JFrame frame = new JFrame("Erreur");
+ JLabel texte = new JLabel("Erreur
L'évaluation n'a pas été trouvé dans la base de données.
");
+ JOptionPane.showMessageDialog(frame, texte);
+ }
+
+
+ for(int i = 0 ; i < evaluations.getNodes().size();i++) {
+ String date = evaluations.getNodes().get(i).getAttributs().get("date");
+ ArrayList A = copieDefault.retourneEnfantsByNameAndValueAttribut("evaluation", "date", date, new ArrayList());
+
+ // l'évaluation n'existe pas dans la base par défaut
+ if(A.size()==0) {
+ evaluations.getNodes().get(i);
+
+ }else {
+ // L'évaluation existe dans la base par défaut
+ for(int j = 0; j < A.size();j++) {
+ String dateModification = evaluations.getNodes().get(i).getAttributs().get("dateModification");
+ if(!A.get(j).getAttributs().get("dateModification").equals(dateModification)) {
+
+ }
+ }
+ }
+ }
+ }
+
+
+ }
}
diff --git a/src/fenetres/baseDonneesEvaluations.java b/src/fenetres/baseDonneesEvaluations.java
index 5904674..60374f4 100644
--- a/src/fenetres/baseDonneesEvaluations.java
+++ b/src/fenetres/baseDonneesEvaluations.java
@@ -427,7 +427,7 @@ private void ListenerAction() {
btnFusionnerBase.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- new ChargePathBaseEvaluation();
+ new ChargePathBaseEvaluation(true);
new trierParDateDecroissanteLaBase();
model.addOrUpdate();
table.setModel(model);
@@ -452,7 +452,7 @@ private void ListenerAction() {
*/
btnChargerNewBase.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- new ChargePathBaseEvaluation();
+ new ChargePathBaseEvaluation(false);
if(commandes.evaluationsBase!=null) {
baseDonneesEvaluations.getInstance();
}
@@ -653,7 +653,6 @@ private void ListenerAction() {
new recupeNodeBaseEvaluations();
model.addOrUpdate();
table = new JTable(model);
-// table.setModel(model);
}
}
}
diff --git a/src/fenetres/chargeBaseAuDemarrage.java b/src/fenetres/chargeBaseAuDemarrage.java
index fa80306..a6d3566 100644
--- a/src/fenetres/chargeBaseAuDemarrage.java
+++ b/src/fenetres/chargeBaseAuDemarrage.java
@@ -179,7 +179,7 @@ private void ListenerAction() {
*/
btnCheminVersBaseDonnees.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- new ChargePathBaseEvaluation();
+ new ChargePathBaseEvaluation(false);
new actOpenBaseEvaluation();
label.setText(commandes.PathBaseEvaluations);
model.addOrUpdate();
diff --git a/src/resources/defautBaseEvaluation.png b/src/resources/defautBaseEvaluation.png
index 34c5aa9..3275d1c 100644
Binary files a/src/resources/defautBaseEvaluation.png and b/src/resources/defautBaseEvaluation.png differ