maj
This commit is contained in:
parent
cf41fae890
commit
1cc185f8eb
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,87 +1,19 @@
|
|||||||
nomEtudiant;note;pourcentage
|
nomEtudiant;note;pourcentage
|
||||||
Alex Marechal;8.0;1.0
|
Alexine Zajac;5.869872701555869;0.5869872701555869
|
||||||
Alexandre Berthelin;2.527640449438202;0.31595505617977526
|
Anthony Logez;9.603960396039604;0.9603960396039604
|
||||||
Alexis Legrand;6.112359550561798;0.7640449438202247
|
Clara Dauchy;10.0;1.0
|
||||||
Alexy Lefebvre;6.000898876404494;0.7501123595505618
|
Clement Lespagnol;1.0608203677510608;0.10608203677510608
|
||||||
Amelie Bruniaux;6.238202247191011;0.7797752808988764
|
Colin Morel;10.0;1.0
|
||||||
Anais Blondel;4.5591011235955055;0.5698876404494382
|
Corentin Caffet;1.0891089108910892;0.10891089108910891
|
||||||
Anais Najdecki;3.358202247191011;0.4197752808988764
|
Elisa Deretz;10.0;1.0
|
||||||
Antoine Duponchelle;5.357303370786517;0.6696629213483146
|
Elsa Vasseur;2.14992927864215;0.214992927864215
|
||||||
Antoine Ponchel;6.202247191011236;0.7752808988764045
|
Eowyn Beugin;6.082036775106082;0.6082036775106082
|
||||||
Apolline Michel;6.159101123595506;0.7698876404494382
|
Gwendoline Labarre;9.92927864214993;0.9929278642149929
|
||||||
Arthur Willart;4.533932584269663;0.5667415730337079
|
Jennifer Sabatini;10.0;1.0
|
||||||
Aurelien Ben Yahia;6.03685393258427;0.7546067415730338
|
Kenza Kessad;4.766619519094767;0.4766619519094767
|
||||||
Axel Aoumat;4.5447191011235955;0.5680898876404494
|
Lila Lembrez;10.0;1.0
|
||||||
Axel Cadart;5.928988764044944;0.741123595505618
|
Lowan Corne;10.0;1.0
|
||||||
Aymeric Grenier;6.1986516853932585;0.7748314606741573
|
Marie Bouteleux;6.152758132956153;0.6152758132956153
|
||||||
Baptiste Fynnaert;3.9298876404494383;0.4912359550561798
|
Nathanael Ducatel;10.0;1.0
|
||||||
Camille Henneton - - Hecquet;6.112359550561798;0.7640449438202247
|
Paul Poire;10.0;1.0
|
||||||
Charles Carron;3.832808988764045;0.4791011235955056
|
Tom Outreman;10.0;1.0
|
||||||
Chloe Mazur;6.058426966292135;0.7573033707865169
|
|
||||||
Clara Bruneau;3.0921348314606742;0.3865168539325843
|
|
||||||
Clement Legrand;6.479101123595505;0.8098876404494382
|
|
||||||
Cyril Massart;4.264269662921349;0.5330337078651686
|
|
||||||
Doriane Bernard;5.296179775280899;0.6620224719101123
|
|
||||||
Elliot Pilawa;2.520993227990971;0.31512415349887135
|
|
||||||
Elodie Vaesken;5.094831460674158;0.6368539325842697
|
|
||||||
Enora-Lou Deplanque;2.3586516853932586;0.29483146067415733
|
|
||||||
Esteban Devos Devulder;3.487640449438202;0.43595505617977526
|
|
||||||
Gabriel Humain;6.166292134831461;0.7707865168539326
|
|
||||||
Helene Adjal;5.727640449438202;0.7159550561797753
|
|
||||||
Hugo Guffroy;5.544269662921348;0.6930337078651685
|
|
||||||
Imen Belaiche;6.0332584269662926;0.7541573033707866
|
|
||||||
Ines Aubier;5.713258426966292;0.7141573033707865
|
|
||||||
Ines El Karami;6.09438202247191;0.7617977528089888
|
|
||||||
Issam Benzemra--Petit;6.115955056179775;0.7644943820224719
|
|
||||||
Jane Gosset;6.101573033707865;0.7626966292134831
|
|
||||||
Jeremy Legros;3.8076404494382023;0.4759550561797753
|
|
||||||
Julie Rohart;4.296629213483146;0.5370786516853933
|
|
||||||
Justine Bertin;4.753258426966292;0.5941573033707865
|
|
||||||
Justine Mikolajczak;4.774831460674157;0.5968539325842697
|
|
||||||
Lali Vin;6.072808988764045;0.7591011235955056
|
|
||||||
Lea Denys;5.979325842696629;0.7474157303370786
|
|
||||||
Leo Marin;5.713258426966292;0.7141573033707865
|
|
||||||
Lilian Lamorille;3.671011235955056;0.458876404494382
|
|
||||||
Lisa Baran;6.223820224719101;0.7779775280898876
|
|
||||||
Lucas Canon;5.824719101123596;0.7280898876404495
|
|
||||||
Lucie Delong;5.051685393258427;0.6314606741573033
|
|
||||||
Luna Hemery;5.662921348314606;0.7078651685393258
|
|
||||||
Maeline Humez;6.464719101123595;0.8080898876404494
|
|
||||||
Manon Cassel;5.785168539325842;0.7231460674157303
|
|
||||||
Martin Pilot;5.288988764044944;0.661123595505618
|
|
||||||
Mateo Darras;3.8076404494382023;0.4759550561797753
|
|
||||||
Matheo Guerineau;6.195056179775281;0.7743820224719101
|
|
||||||
Matheo Normand;6.115955056179775;0.7644943820224719
|
|
||||||
Mathilde Carlier;2.912359550561798;0.36404494382022473
|
|
||||||
Mathilde Konury;5.547865168539325;0.6934831460674157
|
|
||||||
Mathis Carlier;6.173483146067416;0.771685393258427
|
|
||||||
Mathys Calesse;4.922247191011236;0.6152808988764045
|
|
||||||
Mehdi Boutchich;2.844044943820225;0.3555056179775281
|
|
||||||
Melanie Bouchoir;5.637752808988764;0.7047191011235955
|
|
||||||
Melusine Miletti;4.670561797752809;0.5838202247191011
|
|
||||||
Mickael Lenclud;3.102483069977427;0.38781038374717836
|
|
||||||
Noah Desfachelles;3.581123595505618;0.44764044943820225
|
|
||||||
Noah Halluin;1.1593679458239277;0.14492099322799096
|
|
||||||
Oceane Decroix;4.526741573033708;0.5658426966292135
|
|
||||||
Quentin Stautemas;5.641348314606741;0.7051685393258427
|
|
||||||
Raphael Rivaux;1.90561797752809;0.23820224719101124
|
|
||||||
Remi Delaval;3.221573033707865;0.40269662921348315
|
|
||||||
Remi Delvalle;5.4040449438202245;0.6755056179775281
|
|
||||||
Remy Maeght;2.782921348314607;0.34786516853932586
|
|
||||||
Romain Bruni;6.195056179775281;0.7743820224719101
|
|
||||||
Romain Delrue;5.831910112359551;0.7289887640449438
|
|
||||||
Ronan Bourdrel;6.004494382022472;0.750561797752809
|
|
||||||
Simon Ducrocq;6.777528089887641;0.8471910112359551
|
|
||||||
Solene Marien;6.115955056179775;0.7644943820224719
|
|
||||||
Stefan Gaudin;1.7474157303370788;0.21842696629213484
|
|
||||||
Tanguy Delavier;5.623370786516854;0.7029213483146067
|
|
||||||
Theo Duprez;4.965393258426967;0.6206741573033708
|
|
||||||
Theo Justin;4.156404494382023;0.5195505617977528
|
|
||||||
Theo Rouze;6.187865168539326;0.7734831460674157
|
|
||||||
Theo Verlet;5.993707865168539;0.7492134831460674
|
|
||||||
Thomas Renard;4.778426966292135;0.5973033707865169
|
|
||||||
Thomas Thevenin;3.688988764044944;0.461123595505618
|
|
||||||
Tristan Quesson;3.9370786516853933;0.49213483146067416
|
|
||||||
Tyffene Viseur;5.939775280898877;0.7424719101123596
|
|
||||||
Vytto Scilironi;3.376179775280899;0.4220224719101124
|
|
||||||
Yvonnick Levis;6.202247191011236;0.7752808988764045
|
|
||||||
|
|
@ -581,7 +581,7 @@ public class Classeur2 {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Permet de vérifier les modifications interdites
|
* Permet de vérifier les modifications interdites.<br>
|
||||||
* @author pabr6
|
* @author pabr6
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -651,58 +651,58 @@ public class Classeur2 {
|
|||||||
private TreeMap<Integer,formatsConditionnels> formatConditionnel = new TreeMap<Integer,formatsConditionnels>();
|
private TreeMap<Integer,formatsConditionnels> formatConditionnel = new TreeMap<Integer,formatsConditionnels>();
|
||||||
private TreeMap<String,String> nommageCellulesFeuille = new TreeMap<String,String>();
|
private TreeMap<String,String> nommageCellulesFeuille = new TreeMap<String,String>();
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* Chargement du sujet
|
// * Chargement du sujet
|
||||||
* @param fe
|
// * @param fe
|
||||||
*/
|
// */
|
||||||
public feuille(node fe) {
|
// public feuille(node fe) {
|
||||||
// chargement du sujet
|
// // chargement du sujet
|
||||||
if(fe.getAttributs().get("nomFeuille")!=null) nomFeuille=fe.getAttributs().get("nomFeuille");
|
// if(fe.getAttributs().get("nomFeuille")!=null) nomFeuille=fe.getAttributs().get("nomFeuille");
|
||||||
if(fe.getAttributs().get("styleLigne")!=null) styleLigne=fe.getAttributs().get("styleLigne");
|
// if(fe.getAttributs().get("styleLigne")!=null) styleLigne=fe.getAttributs().get("styleLigne");
|
||||||
if(fe.getAttributs().get("Poids")!=null) Poids=fe.getAttributs().get("Poids");
|
// if(fe.getAttributs().get("Poids")!=null) Poids=fe.getAttributs().get("Poids");
|
||||||
if(fe.getAttributs().get("evaluer")!=null) evaluer=fe.getAttributs().get("evaluer");
|
// if(fe.getAttributs().get("evaluer")!=null) evaluer=fe.getAttributs().get("evaluer");
|
||||||
if(fe.getAttributs().get("link")!=null) link=fe.getAttributs().get("link");
|
// if(fe.getAttributs().get("link")!=null) link=fe.getAttributs().get("link");
|
||||||
if(fe.getAttributs().get("linktitle")!=null) linktitle=fe.getAttributs().get("linktitle");
|
// if(fe.getAttributs().get("linktitle")!=null) linktitle=fe.getAttributs().get("linktitle");
|
||||||
|
//
|
||||||
node comm = fe.retourneFirstEnfant("communication");
|
// node comm = fe.retourneFirstEnfant("communication");
|
||||||
if(!comm.isVide()) communication=comm.getContenu().get(0);
|
// if(!comm.isVide()) communication=comm.getContenu().get(0);
|
||||||
|
//
|
||||||
//nommage
|
// //nommage
|
||||||
for (Entry<String, String> j : nommageCellules.entrySet()) {
|
// for (Entry<String, String> j : nommageCellules.entrySet()) {
|
||||||
nommageCellulesFeuille.put(j.getKey(), j.getValue());
|
// nommageCellulesFeuille.put(j.getKey(), j.getValue());
|
||||||
}
|
// }
|
||||||
ArrayList<node> noms = fe.retourneAllEnfants("nommagecellulesfeuille");
|
// ArrayList<node> noms = fe.retourneAllEnfants("nommagecellulesfeuille");
|
||||||
for(int i=0; i < noms.size();i++) {
|
// for(int i=0; i < noms.size();i++) {
|
||||||
nommageCellulesFeuille.put(noms.get(i).getAttributs().get("name"),noms.get(i).getAttributs().get("cells"));
|
// nommageCellulesFeuille.put(noms.get(i).getAttributs().get("name"),noms.get(i).getAttributs().get("cells"));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
//colonnes chargement sujet
|
// //colonnes chargement sujet
|
||||||
ArrayList<node> nods= fe.retourneAllEnfants("colonne");
|
// ArrayList<node> nods= fe.retourneAllEnfants("colonne");
|
||||||
for(int i = 0 ; i < nods.size();i++) {
|
// for(int i = 0 ; i < nods.size();i++) {
|
||||||
colonnes.put( i , new colonne(nods.get(i),nods.get(i).getAttributs().get("RefColonne")));
|
// colonnes.put( i , new colonne(nods.get(i),nods.get(i).getAttributs().get("RefColonne")));
|
||||||
}
|
// }
|
||||||
nods.clear();
|
// nods.clear();
|
||||||
|
//
|
||||||
//lignes chargement sujet
|
// //lignes chargement sujet
|
||||||
nods= fe.retourneAllEnfants("ligne");
|
// nods= fe.retourneAllEnfants("ligne");
|
||||||
for(int i=0 ; i < nods.size();i++) {
|
// for(int i=0 ; i < nods.size();i++) {
|
||||||
if(i>commandes.analysis_nbr_Ligne_maxi) break;
|
// if(i>commandes.analysis_nbr_Ligne_maxi) break;
|
||||||
lignes.put(i, new ligne(nods.get(i), nods.get(i).getAttributs().get("RefLigne")));
|
// lignes.put(i, new ligne(nods.get(i), nods.get(i).getAttributs().get("RefLigne")));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
//graphics chargement sujet
|
// //graphics chargement sujet
|
||||||
nods= fe.retourneAllEnfants("graphic");
|
// nods= fe.retourneAllEnfants("graphic");
|
||||||
for(int i=0 ; i < nods.size();i++) {
|
// for(int i=0 ; i < nods.size();i++) {
|
||||||
graphics.put(i, new graphic(nods.get(i)));
|
// graphics.put(i, new graphic(nods.get(i)));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
//format conditionnel
|
// //format conditionnel
|
||||||
nods= fe.retourneAllEnfants("formatsConditionnels");
|
// nods= fe.retourneAllEnfants("formatsConditionnels");
|
||||||
for(int i=0 ; i < nods.size();i++) {
|
// for(int i=0 ; i < nods.size();i++) {
|
||||||
formatConditionnel.put(i, new formatsConditionnels(nods.get(i)));
|
// formatConditionnel.put(i, new formatsConditionnels(nods.get(i)));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -755,10 +755,12 @@ public class Classeur2 {
|
|||||||
nods=fe.retourneAllEnfants("table:table-row");
|
nods=fe.retourneAllEnfants("table:table-row");
|
||||||
System.out.println("Nbre de ligne = " + nods.size());
|
System.out.println("Nbre de ligne = " + nods.size());
|
||||||
int nombreRepetitionLigne = 0;
|
int nombreRepetitionLigne = 0;
|
||||||
for(int i=0 ; i < nods.size();i++) {
|
int nombreLigneMax = nods.size();
|
||||||
if(i>0 && i<commandes.analysis_nbr_Ligne_maxi) if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) {
|
if(nombreLigneMax>commandes.analysis_nbr_Ligne_maxi) nombreLigneMax = commandes.analysis_nbr_Ligne_maxi;
|
||||||
|
for(int i=0 ; i < nombreLigneMax;i++) {
|
||||||
|
if(i>0) if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) {
|
||||||
if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) nombreRepetitionLigne = nombreRepetitionLigne + Integer.valueOf(lignes.get(i-1).getPropertiesRow().get("Repetition"))-1;
|
if(lignes.get(i-1).getPropertiesRow().get("Repetition")!=null) nombreRepetitionLigne = nombreRepetitionLigne + Integer.valueOf(lignes.get(i-1).getPropertiesRow().get("Repetition"))-1;
|
||||||
}
|
}
|
||||||
lignes.put(i, new ligne(nods.get(i),String.valueOf(i+1+nombreRepetitionLigne),nod, indexStudent));
|
lignes.put(i, new ligne(nods.get(i),String.valueOf(i+1+nombreRepetitionLigne),nod, indexStudent));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2625,13 +2627,13 @@ public class Classeur2 {
|
|||||||
private TreeMap<Integer,formatConditionnelConditions> conditionalformatConditions = new TreeMap<Integer,formatConditionnelConditions>();
|
private TreeMap<Integer,formatConditionnelConditions> conditionalformatConditions = new TreeMap<Integer,formatConditionnelConditions>();
|
||||||
|
|
||||||
|
|
||||||
// chargement dans le node sujet.
|
// // chargement dans le node sujet.
|
||||||
public formatsConditionnels(node nodeFormatsConditionnels ) {
|
// public formatsConditionnels(node nodeFormatsConditionnels ) {
|
||||||
if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) targetRangeAddress = nodeFormatsConditionnels.getAttributs().get("targetRangeAddress");
|
// if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) targetRangeAddress = nodeFormatsConditionnels.getAttributs().get("targetRangeAddress");
|
||||||
for (node enfant : nodeFormatsConditionnels.getEnfants()) {
|
// for (node enfant : nodeFormatsConditionnels.getEnfants()) {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Chargement depuis le classeur de l'étudiant.
|
// Chargement depuis le classeur de l'étudiant.
|
||||||
public formatsConditionnels(node nodeFormatConditionnel,node nod, Integer indexStudent ) {
|
public formatsConditionnels(node nodeFormatConditionnel,node nod, Integer indexStudent ) {
|
||||||
|
@ -189,6 +189,7 @@ public class evaluerAttributs {
|
|||||||
private node trouveCelluleEtudiant(node cellule) {
|
private node trouveCelluleEtudiant(node cellule) {
|
||||||
if(nEtudiant==null) return null;
|
if(nEtudiant==null) return null;
|
||||||
node Tempo = trouveLigneEtudiant();
|
node Tempo = trouveLigneEtudiant();
|
||||||
|
if(Tempo==null) return null;
|
||||||
return Tempo.retourneFirstEnfant("cellule", "RefLigne", cellule.getAttributs().get("RefLigne"), "RefColonne", cellule.getAttributs().get("RefColonne"));
|
return Tempo.retourneFirstEnfant("cellule", "RefLigne", cellule.getAttributs().get("RefLigne"), "RefColonne", cellule.getAttributs().get("RefColonne"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package evaluer;
|
package evaluer;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import calc.commandes;
|
import calc.commandes;
|
||||||
import xml.creerNodeEvaluationEtudiant;
|
import xml.creerNodeEvaluationEtudiant;
|
||||||
import xml.node;
|
import xml.node;
|
||||||
@ -104,25 +101,21 @@ public class evaluerNodesClasseurStudent {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Trouve le format conditionnel de l'étudiant.<br>
|
* Trouve le format conditionnel de l'étudiant.<br>
|
||||||
* Pour trouver le format conditionnel, référence à baseCellAddress avec + ou - 2 lignes.<br>
|
* Pour trouver le format conditionnel, référence à baseCellAddress avec + ou - 1 ligne.<br>
|
||||||
* @param baseCellAddress
|
* @param baseCellAddress
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private node trouveLesFormatsConditionnelsEtudiant(String baseCellAddress) {
|
private node trouveLesFormatsConditionnelsEtudiant(String baseCellAddress) {
|
||||||
if(baseCellAddress.indexOf("‽")!=-1) baseCellAddress = baseCellAddress.substring(0, baseCellAddress.indexOf("‽"));
|
if(baseCellAddress.indexOf("‽")!=-1) baseCellAddress = baseCellAddress.substring(0, baseCellAddress.indexOf("‽"));
|
||||||
|
|
||||||
// 🔥 Regex pour capturer le texte avant et après le 2e nombre
|
// 🔥 Regex pour capturer le texte avant et après le 2e nombre
|
||||||
String regex = "(.*?)(\\d+)(.*?\\d+)";
|
String regex = "(.*?)(\\d+)(.*?\\d+)";
|
||||||
|
|
||||||
// ⚙️ Supprimer tout ce qui suit le 2e nombre
|
// ⚙️ Supprimer tout ce qui suit le 2e nombre
|
||||||
String name = baseCellAddress.replaceAll(regex, "$1");
|
String name = baseCellAddress.replaceAll(regex, "$1");
|
||||||
|
|
||||||
String number = baseCellAddress.replaceAll(regex, "$2"); // Supprime tout sauf les chiffres
|
String number = baseCellAddress.replaceAll(regex, "$2"); // Supprime tout sauf les chiffres
|
||||||
int ligneCellSujet = Integer.parseInt(number);
|
int ligneCellSujet = Integer.parseInt(number);
|
||||||
String name1 = "^"+name+String.valueOf(ligneCellSujet)+".*";
|
String name1 = "^"+name+String.valueOf(ligneCellSujet)+".*";
|
||||||
String name2 = "^"+name+String.valueOf(ligneCellSujet-1)+".*";
|
String name2 = "^"+name+String.valueOf(ligneCellSujet-1)+".*";
|
||||||
String name3 = "^"+name+String.valueOf(ligneCellSujet+1)+".*";
|
String name3 = "^"+name+String.valueOf(ligneCellSujet+1)+".*";
|
||||||
|
|
||||||
if(nodeEtudiant!=null) {
|
if(nodeEtudiant!=null) {
|
||||||
for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatsConditionnels")) {
|
for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatsConditionnels")) {
|
||||||
String A = enfantsEtudiant.getAttributs().get("baseCellAddress");
|
String A = enfantsEtudiant.getAttributs().get("baseCellAddress");
|
||||||
@ -133,7 +126,6 @@ public class evaluerNodesClasseurStudent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import java.text.DateFormat;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import AnalyseCalc.AnalyseClasseur;
|
import AnalyseCalc.analyseCalc;
|
||||||
import AnalyseCalc.Classeur2;
|
import AnalyseCalc.Classeur2;
|
||||||
import AnalyseCalc.sousTotal;
|
import AnalyseCalc.sousTotal;
|
||||||
import AnalyseCalc.verifsujet;
|
import AnalyseCalc.verifsujet;
|
||||||
|
@ -16,8 +16,6 @@ import java.util.regex.Matcher;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class node implements Cloneable{
|
public class node implements Cloneable{
|
||||||
|
|
||||||
protected String nameNode = "";
|
protected String nameNode = "";
|
||||||
@ -33,25 +31,51 @@ protected boolean nodeClose = false;
|
|||||||
* @author pablo rodriguez
|
* @author pablo rodriguez
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
public node() {
|
* Constructeur d'un node vide.<br>
|
||||||
}
|
*/
|
||||||
|
public node() { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur d'un node ayant le nom nameNode.<br>
|
||||||
|
* @param nameNode : le nom du node.
|
||||||
|
*/
|
||||||
public node(String nameNode) {
|
public node(String nameNode) {
|
||||||
setNameNode(nameNode);
|
setNameNode(nameNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur d'un node ayant le nom nameNode, de père le node parent.<br>
|
||||||
|
* @param nameNode : le nom du node.
|
||||||
|
* @param parent : le node père de ce node.
|
||||||
|
*/
|
||||||
public node(String nameNode, node parent) {
|
public node(String nameNode, node parent) {
|
||||||
setNameNode(nameNode);
|
setNameNode(nameNode);
|
||||||
if(parent!=null) parent.addEnfant(this);
|
if(parent!=null) parent.addEnfant(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur d'un node ayant le nom nameNode, de père le node parent, d'attribut nameAttribut ayant la valeur valueAttribut.<br>
|
||||||
|
* @param nameNode : le nom du node.
|
||||||
|
* @param parent : le node père de ce node.
|
||||||
|
* @param nameAttribut : le nom de l'attribut.
|
||||||
|
* @param valueAttribut : la valeur de l'attribut.
|
||||||
|
*/
|
||||||
public node(String nameNode, node parent, String nameAttribut, String valueAttribut) {
|
public node(String nameNode, node parent, String nameAttribut, String valueAttribut) {
|
||||||
setNameNode(nameNode);
|
setNameNode(nameNode);
|
||||||
if(parent!=null) parent.addEnfant(this);
|
if(parent!=null) parent.addEnfant(this);
|
||||||
if(nameAttribut!=null) this.attributs.put(nameAttribut, valueAttribut);
|
if(nameAttribut!=null) this.attributs.put(nameAttribut, valueAttribut);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur d'un node ayant le nom nameNode, de père le node parent, d'attributs nameAttribut1 et nameAttribut2 ayant les valeurs valueAttribut1 et valueAttribut2.<br>
|
||||||
|
* @param nameNode : le nom du node.
|
||||||
|
* @param parent : le node père de ce node.
|
||||||
|
* @param nameAttribut1 : le nom de l'attribut1.
|
||||||
|
* @param valueAttribut1 : la valeur de l'attribut1.
|
||||||
|
* @param nameAttribut2 : le nom de l'attribut2.
|
||||||
|
* @param valueAttribut2 : la valeur de l'attribut2.
|
||||||
|
*/
|
||||||
public node(String nameNode, node parent, String nameAttribut1, String valueAttribut1,String nameAttribut2, String valueAttribut2) {
|
public node(String nameNode, node parent, String nameAttribut1, String valueAttribut1,String nameAttribut2, String valueAttribut2) {
|
||||||
setNameNode(nameNode);
|
setNameNode(nameNode);
|
||||||
if(parent!=null) parent.addEnfant(this);
|
if(parent!=null) parent.addEnfant(this);
|
||||||
@ -59,54 +83,105 @@ protected boolean nodeClose = false;
|
|||||||
if(nameAttribut2!=null) this.attributs.put(nameAttribut2, valueAttribut2);
|
if(nameAttribut2!=null) this.attributs.put(nameAttribut2, valueAttribut2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne TRUE si le node est fermé.<br>
|
||||||
|
* Retourne FALSE si le node est ouvert.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public boolean isNodeClose() {
|
public boolean isNodeClose() {
|
||||||
return nodeClose;
|
return nodeClose;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ferme ou ouvre le node.<br>
|
||||||
|
* @param nodeClose : TRUE pour fermer ou FALSE pour ouvrir ce node.
|
||||||
|
*/
|
||||||
public void setNodeClose(boolean nodeClose) {
|
public void setNodeClose(boolean nodeClose) {
|
||||||
this.nodeClose = nodeClose;
|
this.nodeClose = nodeClose;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne TRUE si ce node contient l'attribut evaluer avec comme valeur true.<br>
|
||||||
|
* Sinon retourne FALSE.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public boolean isEvaluer() {
|
public boolean isEvaluer() {
|
||||||
if(!this.attributs.containsKey("evaluer")) return false;
|
if(!this.attributs.containsKey("evaluer")) return false;
|
||||||
if(!Boolean.valueOf(this.getAttributs().get("evaluer"))) return false;
|
if(!Boolean.valueOf(this.getAttributs().get("evaluer"))) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAttributEvaluer(String key) {
|
/**
|
||||||
return this.attributs.get(key).contains("‽");
|
* Retourne TRUE si ce node contient l'attribut nameAttribut qui est évalué.<br>
|
||||||
|
* C'est à dire que la valeur de l'attribut nameAttribut contient le caractère ‽.<br>
|
||||||
|
* @param nameAttribut : nom de l'attribut.
|
||||||
|
* @return TRUE si cet attribut est évalué. Sinon retourne FALSE.
|
||||||
|
*/
|
||||||
|
public boolean isAttributEvaluer(String nameAttribut) {
|
||||||
|
if(this.attributs.get(nameAttribut)==null) return false;
|
||||||
|
return this.attributs.get(nameAttribut).contains("‽");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le nom de ce node.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public String getNameNode() {
|
public String getNameNode() {
|
||||||
if(this.equals(null)) return "";
|
if(this.equals(null)) return "";
|
||||||
return this.nameNode;
|
return this.nameNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Nomme ou renomme ce node par le nom nameNode.<br>
|
||||||
|
* @param nameNode
|
||||||
|
*/
|
||||||
public void setNameNode(String nameNode) {
|
public void setNameNode(String nameNode) {
|
||||||
this.nameNode = nameNode;
|
this.nameNode = nameNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne TRUE si ce node contient au moins un attribut.<br>
|
||||||
|
* Sinon retourne FALSE.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public boolean isHasAttributs() {
|
public boolean isHasAttributs() {
|
||||||
if(this.attributs.size()>0) return true;
|
if(this.attributs.size()>0) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne TRUE si ce node contient un attribut nameNode.<br>
|
||||||
|
* Sinon retourne FALSE.<br>
|
||||||
|
* @param nameAttribut
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public boolean isHasAttributs(String nameAttribut) {
|
public boolean isHasAttributs(String nameAttribut) {
|
||||||
if(this.attributs.get(nameAttribut)==null) return false;
|
if(this.attributs.get(nameAttribut)==null) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne TRUE si ce node possède au moins un enfant.<br>
|
||||||
|
* Sinon retourne FALSE.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public boolean isHasEnfant() {
|
public boolean isHasEnfant() {
|
||||||
if(this.enfants.size()>0) return true;
|
if(this.enfants.size()>0) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le nombre d'enfant de ce node.<br>
|
||||||
|
* @return : Un interger.
|
||||||
|
*/
|
||||||
public int getNbrEnfants() {
|
public int getNbrEnfants() {
|
||||||
return this.enfants.size();
|
return this.enfants.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la liste des enfants (ArrayList<node>) de ce node;<br>
|
||||||
|
* @return ArrayList<node>
|
||||||
|
*/
|
||||||
public ArrayList<node> getEnfants() {
|
public ArrayList<node> getEnfants() {
|
||||||
return this.enfants;
|
return this.enfants;
|
||||||
}
|
}
|
||||||
@ -185,15 +260,25 @@ protected boolean nodeClose = false;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Supprime tous les nodes enfants.<br>
|
||||||
|
*/
|
||||||
public void removeAllEnfants() {
|
public void removeAllEnfants() {
|
||||||
this.enfants.clear();
|
this.enfants.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Supprime tous les enfants fournis dans l'ArrayList enfants.<br>
|
||||||
|
* @param enfants
|
||||||
|
*/
|
||||||
public void removeEnfants(ArrayList<node> enfants) {
|
public void removeEnfants(ArrayList<node> enfants) {
|
||||||
this.enfants.removeAll(enfants);
|
this.enfants.removeAll(enfants);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le premier enfants.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public node retourneFirstEnfant() {
|
public node retourneFirstEnfant() {
|
||||||
if(this.enfants.size()>0) return this.enfants.get(0);
|
if(this.enfants.size()>0) return this.enfants.get(0);
|
||||||
return null;
|
return null;
|
||||||
@ -201,7 +286,7 @@ protected boolean nodeClose = false;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le premier enfant ayant le nom nameNode.<br>
|
* Retourne le premier enfant ayant le nom nameNode.<br>
|
||||||
* Sinon retourne un null.
|
* Sinon retourne un null.<br>
|
||||||
* @param nameNode : le nom de l'enfant.
|
* @param nameNode : le nom de l'enfant.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -214,6 +299,13 @@ protected boolean nodeClose = false;
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le premier enfant ayant le nom nameNode et l'attribut nameAttribut.<br>
|
||||||
|
* Sinon retourne un null.<br>
|
||||||
|
* @param nameNode
|
||||||
|
* @param nameAttribut
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public node retourneFirstEnfant(String nameNode, String nameAttribut) {
|
public node retourneFirstEnfant(String nameNode, String nameAttribut) {
|
||||||
if(this.nameNode.equals(nameNode) && this.attributs.containsKey(nameAttribut)) return this;
|
if(this.nameNode.equals(nameNode) && this.attributs.containsKey(nameAttribut)) return this;
|
||||||
for (node nod : enfants) {
|
for (node nod : enfants) {
|
||||||
@ -279,6 +371,9 @@ protected boolean nodeClose = false;
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le frère suivant de ce node.<br>
|
||||||
|
*/
|
||||||
public node retourneNextBrother() {
|
public node retourneNextBrother() {
|
||||||
if(this.parent!=null) {
|
if(this.parent!=null) {
|
||||||
int indexOfThis = this.parent.enfants.indexOf(this);
|
int indexOfThis = this.parent.enfants.indexOf(this);
|
||||||
@ -291,14 +386,17 @@ protected boolean nodeClose = false;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne tous les frères du node, lui compris.</br>
|
* Retourne tous les frères du node, ce node compris.</br>
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ArrayList<node> retourneAllBroters(){
|
public ArrayList<node> retourneAllBroters(){
|
||||||
return this.parent.getEnfants();
|
return this.parent.getEnfants();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le frère précédenr de ce node.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public node retournePreviousBrother() {
|
public node retournePreviousBrother() {
|
||||||
if(this.parent!=null) {
|
if(this.parent!=null) {
|
||||||
int indexOfThis = this.parent.enfants.indexOf(this);
|
int indexOfThis = this.parent.enfants.indexOf(this);
|
||||||
@ -310,6 +408,10 @@ protected boolean nodeClose = false;
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le premier frère de ce node.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public node retourneFirstBrother() {
|
public node retourneFirstBrother() {
|
||||||
if(this.parent!=null) {
|
if(this.parent!=null) {
|
||||||
if(this.parent.enfants.get(0)!=null) return this.parent.enfants.get(0);
|
if(this.parent.enfants.get(0)!=null) return this.parent.enfants.get(0);
|
||||||
@ -317,6 +419,10 @@ protected boolean nodeClose = false;
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le dernier frère de ce node.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public node retourneLastBrother() {
|
public node retourneLastBrother() {
|
||||||
if(this.parent!=null) {
|
if(this.parent!=null) {
|
||||||
int indexLast = this.parent.enfants.size()-1;
|
int indexLast = this.parent.enfants.size()-1;
|
||||||
@ -325,14 +431,18 @@ protected boolean nodeClose = false;
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le dernier enfant ce ce node.<br>
|
||||||
|
* Sinon retourne un null.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public node retourneLastEnfant() {
|
public node retourneLastEnfant() {
|
||||||
if(this.enfants.size()>0) return this.enfants.get(this.enfants.size()-1);
|
if(this.enfants.size()>0) return this.enfants.get(this.enfants.size()-1);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la liste des nodes ayant tous les mêmes noms.
|
* Retourne la liste (ArrayList<node>) des nodes ayant tous le même nom nameNode.<br>
|
||||||
* @param nameNode
|
* @param nameNode
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -352,22 +462,43 @@ protected boolean nodeClose = false;
|
|||||||
return ListeNodes;
|
return ListeNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le nombre d'attribut de ce node.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public int getNbrAttributs() {
|
public int getNbrAttributs() {
|
||||||
return attributs.size();
|
return attributs.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la liste des attributs (LinkedHashMap<String, String>) de ce node.<br>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public LinkedHashMap<String, String> getAttributs() {
|
public LinkedHashMap<String, String> getAttributs() {
|
||||||
return attributs;
|
return attributs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ajoute la liste des attributs LinkedHashMap<String,String>.<br>
|
||||||
|
* @param attributs
|
||||||
|
*/
|
||||||
public void addAttributs(LinkedHashMap<String,String> attributs) {
|
public void addAttributs(LinkedHashMap<String,String> attributs) {
|
||||||
this.attributs = attributs;
|
this.attributs = attributs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ajoute un attribut de ce node.<br>
|
||||||
|
* @param key : La clé.
|
||||||
|
* @param value : la valeur de la clé.
|
||||||
|
*/
|
||||||
public void addAttribut(String key, String value) {
|
public void addAttribut(String key, String value) {
|
||||||
this.attributs.put(key, value);
|
this.attributs.put(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Supprime l'attribut ayant la clé key de ce node.<br>
|
||||||
|
* @param key : La clé.
|
||||||
|
*/
|
||||||
public void removeAttribut(String key) {
|
public void removeAttribut(String key) {
|
||||||
this.attributs.remove(key);
|
this.attributs.remove(key);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user