maj
This commit is contained in:
parent
c2324b01c8
commit
cf41fae890
File diff suppressed because one or more lines are too long
2
bin/.gitignore
vendored
2
bin/.gitignore
vendored
@ -1,3 +1,5 @@
|
|||||||
/AnalyseCalc/
|
/AnalyseCalc/
|
||||||
/outils/
|
/outils/
|
||||||
/fenetres/
|
/fenetres/
|
||||||
|
/evaluer/
|
||||||
|
/xml/
|
||||||
|
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,87 +1,87 @@
|
|||||||
nomEtudiant;note;pourcentage
|
nomEtudiant;note;pourcentage
|
||||||
Alex Marechal;6.780620577027762;0.8475775721284703
|
Alex Marechal;8.0;1.0
|
||||||
Alexandre Berthelin;3.0615133369624385;0.3826891671203048
|
Alexandre Berthelin;2.527640449438202;0.31595505617977526
|
||||||
Alexis Legrand;5.4001088731627656;0.6750136091453457
|
Alexis Legrand;6.112359550561798;0.7640449438202247
|
||||||
Alexy Lefebvre;5.574305933587371;0.6967882416984214
|
Alexy Lefebvre;6.000898876404494;0.7501123595505618
|
||||||
Amelie Bruniaux;5.857376156777354;0.7321720195971693
|
Amelie Bruniaux;6.238202247191011;0.7797752808988764
|
||||||
Anais Blondel;4.415895481763745;0.5519869352204682
|
Anais Blondel;4.5591011235955055;0.5698876404494382
|
||||||
Anais Najdecki;2.900381056069679;0.3625476320087099
|
Anais Najdecki;3.358202247191011;0.4197752808988764
|
||||||
Antoine Duponchelle;4.489929232444203;0.5612411540555253
|
Antoine Duponchelle;5.357303370786517;0.6696629213483146
|
||||||
Antoine Ponchel;5.596080566140446;0.6995100707675558
|
Antoine Ponchel;6.202247191011236;0.7752808988764045
|
||||||
Apolline Michel;5.456722917800762;0.6820903647250952
|
Apolline Michel;6.159101123595506;0.7698876404494382
|
||||||
Arthur Willart;3.9891126837234623;0.4986390854654328
|
Arthur Willart;4.533932584269663;0.5667415730337079
|
||||||
Aurelien Ben Yahia;5.308655416439848;0.663581927054981
|
Aurelien Ben Yahia;6.03685393258427;0.7546067415730338
|
||||||
Axel Aoumat;3.2400653238976593;0.4050081654872074
|
Axel Aoumat;4.5447191011235955;0.5680898876404494
|
||||||
Axel Cadart;5.186717474142624;0.648339684267828
|
Axel Cadart;5.928988764044944;0.741123595505618
|
||||||
Aymeric Grenier;5.809471965160588;0.7261839956450735
|
Aymeric Grenier;6.1986516853932585;0.7748314606741573
|
||||||
Baptiste Fynnaert;3.723462166575939;0.46543277082199236
|
Baptiste Fynnaert;3.9298876404494383;0.4912359550561798
|
||||||
Charles Carron;3.780076211213936;0.472509526401742
|
Camille Henneton - - Hecquet;6.112359550561798;0.7640449438202247
|
||||||
Chloe Mazur;5.735438214480131;0.7169297768100164
|
Charles Carron;3.832808988764045;0.4791011235955056
|
||||||
Clara Bruneau;3.0571584104518235;0.38214480130647793
|
Chloe Mazur;6.058426966292135;0.7573033707865169
|
||||||
Clement Legrand;5.430593358737071;0.6788241698421339
|
Clara Bruneau;3.0921348314606742;0.3865168539325843
|
||||||
Cyril Massart;3.7974959172563962;0.47468698965704953
|
Clement Legrand;6.479101123595505;0.8098876404494382
|
||||||
Doriane Bernard;4.938486663037561;0.6173108328796951
|
Cyril Massart;4.264269662921349;0.5330337078651686
|
||||||
Elliot Pilawa;2.5834701696770663;0.3229337712096333
|
Doriane Bernard;5.296179775280899;0.6620224719101123
|
||||||
Elodie Vaesken;4.520413718018508;0.5650517147523135
|
Elliot Pilawa;2.520993227990971;0.31512415349887135
|
||||||
Enora-Lou Deplanque;2.6173108328796952;0.3271638541099619
|
Elodie Vaesken;5.094831460674158;0.6368539325842697
|
||||||
Esteban Devos Devulder;3.653783342406097;0.45672291780076213
|
Enora-Lou Deplanque;2.3586516853932586;0.29483146067415733
|
||||||
Gabriel Humain;5.539466521502449;0.6924333151878062
|
Esteban Devos Devulder;3.487640449438202;0.43595505617977526
|
||||||
Helene Adjal;4.507348938486663;0.5634186173108329
|
Gabriel Humain;6.166292134831461;0.7707865168539326
|
||||||
Hugo Guffroy;4.71638541099619;0.5895481763745237
|
Helene Adjal;5.727640449438202;0.7159550561797753
|
||||||
Imen Belaiche;5.613500272182907;0.7016875340228633
|
Hugo Guffroy;5.544269662921348;0.6930337078651685
|
||||||
Ines Aubier;4.794774088187262;0.5993467610234078
|
Imen Belaiche;6.0332584269662926;0.7541573033707866
|
||||||
Ines El Karami;5.596080566140446;0.6995100707675558
|
Ines Aubier;5.713258426966292;0.7141573033707865
|
||||||
Issam Benzemra--Petit;5.70930865541644;0.713663581927055
|
Ines El Karami;6.09438202247191;0.7617977528089888
|
||||||
Jane Gosset;5.365269461077844;0.6706586826347305
|
Issam Benzemra--Petit;6.115955056179775;0.7644943820224719
|
||||||
Jeremy Legros;3.618943930321176;0.452367991290147
|
Jane Gosset;6.101573033707865;0.7626966292134831
|
||||||
Julie Rohart;3.923788786064235;0.4904735982580294
|
Jeremy Legros;3.8076404494382023;0.4759550561797753
|
||||||
Justine Bertin;4.629286880783887;0.5786608600979859
|
Julie Rohart;4.296629213483146;0.5370786516853933
|
||||||
Justine Mikolajczak;4.350571584104518;0.5438214480130648
|
Justine Bertin;4.753258426966292;0.5941573033707865
|
||||||
Lali Vin;5.657049537289058;0.7071311921611323
|
Justine Mikolajczak;4.774831460674157;0.5968539325842697
|
||||||
Lea Denys;5.487207403375068;0.6859009254218835
|
Lali Vin;6.072808988764045;0.7591011235955056
|
||||||
Leo Marin;4.990745781164943;0.6238432226456179
|
Lea Denys;5.979325842696629;0.7474157303370786
|
||||||
Lilian Lamorille;2.9657049537289057;0.3707131192161132
|
Leo Marin;5.713258426966292;0.7141573033707865
|
||||||
Lisa Baran;5.2084921066957;0.6510615133369625
|
Lilian Lamorille;3.671011235955056;0.458876404494382
|
||||||
Lucas Canon;5.70930865541644;0.713663581927055
|
Lisa Baran;6.223820224719101;0.7779775280898876
|
||||||
Lucie Delong;4.72509526401742;0.5906369080021775
|
Lucas Canon;5.824719101123596;0.7280898876404495
|
||||||
Luna Hemery;5.295590636908003;0.6619488296135003
|
Lucie Delong;5.051685393258427;0.6314606741573033
|
||||||
Maeline Humez;5.652694610778443;0.7065868263473054
|
Luna Hemery;5.662921348314606;0.7078651685393258
|
||||||
Manon Cassel;5.4001088731627656;0.6750136091453457
|
Maeline Humez;6.464719101123595;0.8080898876404494
|
||||||
Martin Pilot;4.498639085465433;0.5623298856831791
|
Manon Cassel;5.785168539325842;0.7231460674157303
|
||||||
Mateo Darras;3.5710397387044095;0.4463799673380512
|
Martin Pilot;5.288988764044944;0.661123595505618
|
||||||
Matheo Guerineau;5.508982035928144;0.688622754491018
|
Mateo Darras;3.8076404494382023;0.4759550561797753
|
||||||
Matheo Normand;5.70930865541644;0.713663581927055
|
Matheo Guerineau;6.195056179775281;0.7743820224719101
|
||||||
Mathilde Carlier;2.970059880239521;0.3712574850299401
|
Matheo Normand;6.115955056179775;0.7644943820224719
|
||||||
Mathilde Konury;5.199782253674469;0.6499727817093086
|
Mathilde Carlier;2.912359550561798;0.36404494382022473
|
||||||
Mathis Carlier;5.569951007076756;0.6962438758845945
|
Mathilde Konury;5.547865168539325;0.6934831460674157
|
||||||
Mathys Calesse;4.489929232444203;0.5612411540555253
|
Mathis Carlier;6.173483146067416;0.771685393258427
|
||||||
Mehdi Boutchich;3.497005988023952;0.437125748502994
|
Mathys Calesse;4.922247191011236;0.6152808988764045
|
||||||
Melanie Bouchoir;5.221556886227545;0.6526946107784432
|
Mehdi Boutchich;2.844044943820225;0.3555056179775281
|
||||||
Melusine Miletti;4.25040827436037;0.5313010342950463
|
Melanie Bouchoir;5.637752808988764;0.7047191011235955
|
||||||
Mickael Lenclud;2.3645320197044337;0.2955665024630542
|
Melusine Miletti;4.670561797752809;0.5838202247191011
|
||||||
Noah Desfachelles;3.035383777898748;0.3794229722373435
|
Mickael Lenclud;3.102483069977427;0.38781038374717836
|
||||||
Noah Halluin;1.3267651888341543;0.16584564860426929
|
Noah Desfachelles;3.581123595505618;0.44764044943820225
|
||||||
Oceane Decroix;4.010887316276538;0.5013609145345672
|
Noah Halluin;1.1593679458239277;0.14492099322799096
|
||||||
Pablo Rodriguez;4.3810560696788245;0.5476320087098531
|
Oceane Decroix;4.526741573033708;0.5658426966292135
|
||||||
Quentin Stautemas;4.838323353293413;0.6047904191616766
|
Quentin Stautemas;5.641348314606741;0.7051685393258427
|
||||||
Raphael Rivaux;1.5764833968426784;0.1970604246053348
|
Raphael Rivaux;1.90561797752809;0.23820224719101124
|
||||||
Remi Delaval;3.9629831246597713;0.4953728905824714
|
Remi Delaval;3.221573033707865;0.40269662921348315
|
||||||
Remi Delvalle;5.204137180185084;0.6505171475231355
|
Remi Delvalle;5.4040449438202245;0.6755056179775281
|
||||||
Remy Maeght;2.569406641262929;0.3211758301578661
|
Remy Maeght;2.782921348314607;0.34786516853932586
|
||||||
Romain Bruni;5.500272182906913;0.6875340228633642
|
Romain Bruni;6.195056179775281;0.7743820224719101
|
||||||
Romain Delrue;5.0647795318454;0.633097441480675
|
Romain Delrue;5.831910112359551;0.7289887640449438
|
||||||
Ronan Bourdrel;5.583015786608601;0.6978769733260751
|
Ronan Bourdrel;6.004494382022472;0.750561797752809
|
||||||
Simon Ducrocq;5.552531301034295;0.6940664126292869
|
Simon Ducrocq;6.777528089887641;0.8471910112359551
|
||||||
Solene Marien;5.7180185084376705;0.7147523135547088
|
Solene Marien;6.115955056179775;0.7644943820224719
|
||||||
Stefan Gaudin;2.1774632553075666;0.2721829069134458
|
Stefan Gaudin;1.7474157303370788;0.21842696629213484
|
||||||
Tanguy Delavier;4.459444746869897;0.5574305933587371
|
Tanguy Delavier;5.623370786516854;0.7029213483146067
|
||||||
Theo Duprez;4.346216657593903;0.5432770821992379
|
Theo Duprez;4.965393258426967;0.6206741573033708
|
||||||
Theo Justin;4.446379967338051;0.5557974959172564
|
Theo Justin;4.156404494382023;0.5195505617977528
|
||||||
Theo Rouze;5.456722917800762;0.6820903647250952
|
Theo Rouze;6.187865168539326;0.7734831460674157
|
||||||
Theo Verlet;5.565596080566141;0.6956995100707676
|
Theo Verlet;5.993707865168539;0.7492134831460674
|
||||||
Thomas Renard;4.010887316276538;0.5013609145345672
|
Thomas Renard;4.778426966292135;0.5973033707865169
|
||||||
Thomas Thevenin;3.6668481219379423;0.4583560152422428
|
Thomas Thevenin;3.688988764044944;0.461123595505618
|
||||||
Tristan Quesson;3.5362003266194884;0.44202504082743604
|
Tristan Quesson;3.9370786516853933;0.49213483146067416
|
||||||
Tyffene Viseur;5.204137180185084;0.6505171475231355
|
Tyffene Viseur;5.939775280898877;0.7424719101123596
|
||||||
Vytto Scilironi;3.5449101796407185;0.4431137724550898
|
Vytto Scilironi;3.376179775280899;0.4220224719101124
|
||||||
Yvonnick Levis;5.517691888949374;0.6897114861186717
|
Yvonnick Levis;6.202247191011236;0.7752808988764045
|
||||||
|
|
@ -12,7 +12,8 @@ import java.util.Map.Entry;
|
|||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import AnalyseCalc.Classeur2.feuille.colonne;
|
import AnalyseCalc.Classeur2.feuille.colonne;
|
||||||
import AnalyseCalc.Classeur2.feuille.formatConditionnel;
|
import AnalyseCalc.Classeur2.feuille.formatsConditionnels;
|
||||||
|
import AnalyseCalc.Classeur2.feuille.formatsConditionnels.formatConditionnelConditions;
|
||||||
import AnalyseCalc.Classeur2.feuille.graphic;
|
import AnalyseCalc.Classeur2.feuille.graphic;
|
||||||
import AnalyseCalc.Classeur2.feuille.ligne;
|
import AnalyseCalc.Classeur2.feuille.ligne;
|
||||||
import AnalyseCalc.Classeur2.feuille.ligne.cellule;
|
import AnalyseCalc.Classeur2.feuille.ligne.cellule;
|
||||||
@ -66,24 +67,6 @@ public class Classeur2 {
|
|||||||
*/
|
*/
|
||||||
public Classeur2(node nod, Integer indexStudent, typeFichier typeClasseurACreer) throws CloneNotSupportedException, IOException {
|
public Classeur2(node nod, Integer indexStudent, typeFichier typeClasseurACreer) throws CloneNotSupportedException, IOException {
|
||||||
|
|
||||||
// if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
|
|
||||||
// nod.getAttributs().put("bareme",String.valueOf(calc.commandes.analyse_bareme)) ; //= Double.valueOf(nod.getAttributs().get("bareme"));
|
|
||||||
// nod.getAttributs().put("version",String.valueOf(calc.commandes.version)); //= nod.getAttributs().get("version");
|
|
||||||
// nod.getAttributs().put("controleDateCreation",String.valueOf(calc.commandes.analyse_controleDateCreation)); // = Boolean.valueOf(nod.getAttributs().get("controleDateCreation"));
|
|
||||||
// nod.getAttributs().put("presenceMetaSujet", String.valueOf(calc.commandes.analyse_presenceMetaSujet)); // = Boolean.valueOf(nod.getAttributs().get("presenceMetaSujet"));
|
|
||||||
// nod.getAttributs().put("dateModification",String.valueOf(calc.commandes.analyse_date)); // = nod.getAttributs().get("dateModification");
|
|
||||||
// nod.getAttributs().put("NbreFeuille",String.valueOf(calc.commandes.analysis_nbr_feuilles)); // = Integer.valueOf(nod.getAttributs().get("NbreFeuille"));
|
|
||||||
// nod.getAttributs().put("auteur",String.valueOf(calc.commandes.analyse_auteur));// = nod.getAttributs().get("auteur");
|
|
||||||
// nod.getAttributs().put("baremeABC",String.valueOf(calc.commandes.analyse_baremeABC));// = Boolean.valueOf(nod.getAttributs().get("baremeABC"));
|
|
||||||
// nod.getAttributs().put("controle_Initial_Creator",String.valueOf(calc.commandes.analyse_controle_Initial_Creator));// = Boolean.valueOf(nod.getAttributs().get("controle_Initial_Creator"));
|
|
||||||
// nod.getAttributs().put("historiquePresent",String.valueOf(calc.commandes.setting_historiquePresent));// = Boolean.valueOf(nod.getAttributs().get("historiquePresent"));
|
|
||||||
// nod.getAttributs().put("titre", String.valueOf(calc.commandes.analyse_titre));// = nod.getAttributs().get("titre");
|
|
||||||
// nod.getAttributs().put("filename", String.valueOf(calc.commandes.analysis_filename));// = nod.getAttributs().get("filename");
|
|
||||||
// nod.getAttributs().put("producteur", String.valueOf(calc.commandes.analysis_producteur));//= nod.getAttributs().get("producteur");
|
|
||||||
// nod.getAttributs().put("hash", String.valueOf(calc.commandes.hash));// = nod.getAttributs().get("hash");
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
//Les meta-données pour tous les classeurs analyse et students
|
//Les meta-données pour tous les classeurs analyse et students
|
||||||
node nMeta = nod.retourneFirstEnfant("office:meta");
|
node nMeta = nod.retourneFirstEnfant("office:meta");
|
||||||
|
|
||||||
@ -665,7 +648,7 @@ public class Classeur2 {
|
|||||||
private TreeMap<Integer,colonne> colonnes = new TreeMap<Integer,colonne>();
|
private TreeMap<Integer,colonne> colonnes = new TreeMap<Integer,colonne>();
|
||||||
private TreeMap<Integer,ligne> lignes = new TreeMap<Integer,ligne>();
|
private TreeMap<Integer,ligne> lignes = new TreeMap<Integer,ligne>();
|
||||||
private TreeMap<Integer,graphic> graphics = new TreeMap<Integer,graphic>();
|
private TreeMap<Integer,graphic> graphics = new TreeMap<Integer,graphic>();
|
||||||
private TreeMap<Integer,formatConditionnel> formatConditionnel = new TreeMap<Integer,formatConditionnel>();
|
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>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -716,7 +699,7 @@ public class Classeur2 {
|
|||||||
//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 formatConditionnel(nods.get(i)));
|
formatConditionnel.put(i, new formatsConditionnels(nods.get(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -724,7 +707,7 @@ public class Classeur2 {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chargement d'une nouvelle feuille depuis le classeur
|
* Chargement d'une nouvelle feuille depuis le classeur de l'étudiant.<br>
|
||||||
* @param fe
|
* @param fe
|
||||||
* @param XMLContent
|
* @param XMLContent
|
||||||
* @param a
|
* @param a
|
||||||
@ -798,7 +781,7 @@ public class Classeur2 {
|
|||||||
ArrayList<node> A = LesFormatsConditionnels.retourneAllEnfants("calcext:conditional-format");
|
ArrayList<node> A = LesFormatsConditionnels.retourneAllEnfants("calcext:conditional-format");
|
||||||
System.out.println("Nbr de format conditionnels = " + A.size());
|
System.out.println("Nbr de format conditionnels = " + A.size());
|
||||||
for(int i = 0 ; i < A.size();i++) {
|
for(int i = 0 ; i < A.size();i++) {
|
||||||
formatConditionnel.put(i, new formatConditionnel(A.get(i), nod, indexStudent));
|
formatConditionnel.put(i, new formatsConditionnels(A.get(i), nod, indexStudent));
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
System.out.println("Il n'y a pas de graphique");
|
System.out.println("Il n'y a pas de graphique");
|
||||||
@ -862,7 +845,7 @@ public class Classeur2 {
|
|||||||
return graphics;
|
return graphics;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeMap<Integer, formatConditionnel> getFormatsConditionnels() {
|
public TreeMap<Integer, formatsConditionnels> getFormatsConditionnels() {
|
||||||
return formatConditionnel;
|
return formatConditionnel;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -2226,7 +2209,7 @@ public class Classeur2 {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chargement d'un nouvelle cellule
|
* Chargement d'une nouvelle cellule.<br>
|
||||||
* @param cel
|
* @param cel
|
||||||
* @param numLigne
|
* @param numLigne
|
||||||
* @param numColonne
|
* @param numColonne
|
||||||
@ -2637,74 +2620,114 @@ public class Classeur2 {
|
|||||||
* @author Pablo
|
* @author Pablo
|
||||||
*
|
*
|
||||||
*******************************************/
|
*******************************************/
|
||||||
public class formatConditionnel{
|
public class formatsConditionnels{
|
||||||
private TreeMap<String,String> conditionalformat = new TreeMap<String,String>();
|
private String targetRangeAddress = "";
|
||||||
private TreeMap<String,String> styleFormatConditionnel = new TreeMap<String,String>();
|
private TreeMap<Integer,formatConditionnelConditions> conditionalformatConditions = new TreeMap<Integer,formatConditionnelConditions>();
|
||||||
|
|
||||||
|
|
||||||
// chargement dans le node sujet.
|
// chargement dans le node sujet.
|
||||||
public formatConditionnel(node nodeFormatsConditionnels ) {
|
public formatsConditionnels(node nodeFormatsConditionnels ) {
|
||||||
if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) conditionalformat.put("targetRangeAddress", nodeFormatsConditionnels.getAttributs().get("targetRangeAddress"));
|
if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) targetRangeAddress = nodeFormatsConditionnels.getAttributs().get("targetRangeAddress");
|
||||||
if(nodeFormatsConditionnels.getAttributs().get("styleName")!=null) conditionalformat.put("styleName", nodeFormatsConditionnels.getAttributs().get("styleName"));
|
for (node enfant : nodeFormatsConditionnels.getEnfants()) {
|
||||||
if(nodeFormatsConditionnels.getAttributs().get("condition")!=null) conditionalformat.put("condition", nodeFormatsConditionnels.getAttributs().get("condition"));
|
|
||||||
if(nodeFormatsConditionnels.getAttributs().get("baseCellAddress")!=null) conditionalformat.put("baseCellAddress", nodeFormatsConditionnels.getAttributs().get("baseCellAddress"));
|
|
||||||
node b = nodeFormatsConditionnels.retourneFirstEnfant("styleFormatConditionnel");
|
|
||||||
if(b!=null) {
|
|
||||||
for (Entry<String, String> k1 : b.getAttributs().entrySet()) {
|
|
||||||
styleFormatConditionnel.put(k1.getKey() , k1.getValue()) ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Chargement depuis le classeur de l'étudiant.
|
// Chargement depuis le classeur de l'étudiant.
|
||||||
public formatConditionnel(node nodeFormatConditionnel,node nod, Integer indexStudent ) {
|
public formatsConditionnels(node nodeFormatConditionnel,node nod, Integer indexStudent ) {
|
||||||
if(nodeFormatConditionnel.getAttributs().get("calcext:target-range-address")!=null) conditionalformat.put("targetRangeAddress", nodeFormatConditionnel.getAttributs().get("calcext:target-range-address"));
|
if(nodeFormatConditionnel.getAttributs().get("calcext:target-range-address")!=null) targetRangeAddress= nodeFormatConditionnel.getAttributs().get("calcext:target-range-address");
|
||||||
for (node condition : nodeFormatConditionnel.getEnfants()) {
|
// les formats conditionnels conditions et style
|
||||||
if(condition.getAttributs().get("calcext:apply-style-name")!=null) conditionalformat.put("styleName", condition.getAttributs().get("calcext:apply-style-name"));
|
int numCondition = 0;
|
||||||
if(condition.getAttributs().get("calcext:value")!=null) conditionalformat.put("condition", condition.getAttributs().get("calcext:value"));
|
for (node conditions : nodeFormatConditionnel.getEnfants()) {
|
||||||
if(condition.getAttributs().get("calcext:base-cell-address")!=null) conditionalformat.put("baseCellAddress", condition.getAttributs().get("calcext:base-cell-address"));
|
numCondition++;
|
||||||
|
conditionalformatConditions.put(numCondition, new formatConditionnelConditions(conditions,nod,indexStudent, numCondition));
|
||||||
String styleName = conditionalformat.get("styleName").replaceAll(" ", "_20_");
|
}
|
||||||
node nodeStyle = nod.retourneFirstEnfant("style:style", "style:name", styleName);
|
|
||||||
|
|
||||||
if(nodeStyle!=null) {
|
|
||||||
if(nodeStyle.getAttributs().get("style:family")!=null) styleFormatConditionnel.put("styleFamily", nodeStyle.getAttributs().get("style:family"));
|
|
||||||
if(nodeStyle.getAttributs().get("style:parent-style-name")!=null) styleFormatConditionnel.put("parentStyleName", nodeStyle.getAttributs().get("style:parent-style-name"));
|
|
||||||
if(nodeStyle.getAttributs().get("style:data-style-name")!=null) styleFormatConditionnel.put("dataStyleName", nodeStyle.getAttributs().get("style:data-style-name"));
|
|
||||||
|
|
||||||
node b = nodeStyle.retourneFirstEnfant("style:table-cell-properties");
|
|
||||||
if(b!=null) {
|
|
||||||
if(b.getAttributs().get("fo:background-color")!=null) styleFormatConditionnel.put("arrierPlan", b.getAttributs().get("fo:background-color"));
|
|
||||||
}
|
|
||||||
|
|
||||||
b = nodeStyle.retourneFirstEnfant("style:text-properties");
|
|
||||||
if(b!=null) {
|
|
||||||
if(b.getAttributs().get("style:font-name")!=null) styleFormatConditionnel.put("police", b.getAttributs().get("style:font-name"));
|
|
||||||
if(b.getAttributs().get("fo:font-family")!=null) styleFormatConditionnel.put("policeFamille", b.getAttributs().get("fo:font-family"));
|
|
||||||
if(b.getAttributs().get("style:font-style-name")!=null) styleFormatConditionnel.put("nomStylePolice", b.getAttributs().get("style:font-style-name"));
|
|
||||||
if(b.getAttributs().get("fo:font-size")!=null) styleFormatConditionnel.put("taille", b.getAttributs().get("fo:font-size"));
|
|
||||||
if(b.getAttributs().get("fo:font-style")!=null) styleFormatConditionnel.put("stylePolice", b.getAttributs().get("fo:font-style"));
|
|
||||||
if(b.getAttributs().get("fo:font-weight")!=null) styleFormatConditionnel.put("policeGras", b.getAttributs().get("fo:font-weight"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public TreeMap<String, String> getConditionalformat() {
|
public String getTargetRangeAddress() {
|
||||||
return conditionalformat;
|
return targetRangeAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TreeMap<String, String> getStyleFormatConditionnel() {
|
public TreeMap<Integer, formatConditionnelConditions> getConditionalformatConditions() {
|
||||||
return styleFormatConditionnel;
|
return conditionalformatConditions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Les différentes conditions et style.<br>
|
||||||
|
* @author pabr6
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class formatConditionnelConditions {
|
||||||
|
private TreeMap<String,String> formatConditionnel = new TreeMap<String,String>();
|
||||||
|
private TreeMap<String,String> styleFormatConditionnel = new TreeMap<String,String>();
|
||||||
|
|
||||||
|
// chargement depuis le sujet
|
||||||
|
public formatConditionnelConditions(node nodeFormatsConditionnels) {
|
||||||
|
if(nodeFormatsConditionnels.getAttributs().get("numCondition")!=null) formatConditionnel.put("numCondition", nodeFormatsConditionnels.getAttributs().get("numCondition"));
|
||||||
|
if(nodeFormatsConditionnels.getAttributs().get("styleName")!=null) formatConditionnel.put("styleName", nodeFormatsConditionnels.getAttributs().get("styleName"));
|
||||||
|
if(nodeFormatsConditionnels.getAttributs().get("condition")!=null) formatConditionnel.put("condition", nodeFormatsConditionnels.getAttributs().get("condition"));
|
||||||
|
if(nodeFormatsConditionnels.getAttributs().get("baseCellAddress")!=null) formatConditionnel.put("baseCellAddress", nodeFormatsConditionnels.getAttributs().get("baseCellAddress"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// chargement depuis le classeur de l'étudiant.<br>
|
||||||
|
public formatConditionnelConditions(node conditions,node nod, Integer indexStudent, Integer numCondition) {
|
||||||
|
formatConditionnel.put("numCondition", String.valueOf(numCondition));
|
||||||
|
|
||||||
|
if(conditions.getAttributs().get("calcext:apply-style-name")!=null) formatConditionnel.put("styleName", conditions.getAttributs().get("calcext:apply-style-name"));
|
||||||
|
if(conditions.getAttributs().get("calcext:value")!=null) formatConditionnel.put("condition", conditions.getAttributs().get("calcext:value"));
|
||||||
|
if(conditions.getAttributs().get("calcext:base-cell-address")!=null) formatConditionnel.put("baseCellAddress", conditions.getAttributs().get("calcext:base-cell-address"));
|
||||||
|
|
||||||
|
String styleName = formatConditionnel.get("styleName").replaceAll(" ", "_20_");
|
||||||
|
node nodeStyle = nod.retourneFirstEnfant("style:style", "style:name", styleName);
|
||||||
|
|
||||||
|
if(nodeStyle!=null) {
|
||||||
|
if(nodeStyle.getAttributs().get("style:family")!=null) styleFormatConditionnel.put("styleFamily", nodeStyle.getAttributs().get("style:family"));
|
||||||
|
if(nodeStyle.getAttributs().get("style:parent-style-name")!=null) styleFormatConditionnel.put("parentStyleName", nodeStyle.getAttributs().get("style:parent-style-name"));
|
||||||
|
if(nodeStyle.getAttributs().get("style:data-style-name")!=null) styleFormatConditionnel.put("dataStyleName", nodeStyle.getAttributs().get("style:data-style-name"));
|
||||||
|
|
||||||
|
node b = nodeStyle.retourneFirstEnfant("style:table-cell-properties");
|
||||||
|
if(b!=null) {
|
||||||
|
if(b.getAttributs().get("fo:background-color")!=null) styleFormatConditionnel.put("arrierPlan", b.getAttributs().get("fo:background-color"));
|
||||||
|
}
|
||||||
|
|
||||||
|
b = nodeStyle.retourneFirstEnfant("style:text-properties");
|
||||||
|
if(b!=null) {
|
||||||
|
if(b.getAttributs().get("style:font-name")!=null) styleFormatConditionnel.put("police", b.getAttributs().get("style:font-name"));
|
||||||
|
if(b.getAttributs().get("fo:font-family")!=null) styleFormatConditionnel.put("policeFamille", b.getAttributs().get("fo:font-family"));
|
||||||
|
if(b.getAttributs().get("style:font-style-name")!=null) styleFormatConditionnel.put("nomStylePolice", b.getAttributs().get("style:font-style-name"));
|
||||||
|
if(b.getAttributs().get("fo:font-size")!=null) styleFormatConditionnel.put("taille", b.getAttributs().get("fo:font-size"));
|
||||||
|
if(b.getAttributs().get("fo:font-style")!=null) styleFormatConditionnel.put("stylePolice", b.getAttributs().get("fo:font-style"));
|
||||||
|
if(b.getAttributs().get("fo:font-weight")!=null) styleFormatConditionnel.put("policeGras", b.getAttributs().get("fo:font-weight"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public TreeMap<String, String> getFormatConditionnel() {
|
||||||
|
return formatConditionnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public TreeMap<String, String> getStyleFormatConditionnel() {
|
||||||
|
return styleFormatConditionnel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // formatConditionnelConditions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // formatConditionnel
|
} // formatsConditionnels
|
||||||
|
|
||||||
|
|
||||||
} // feuille
|
} // feuille
|
||||||
@ -2818,7 +2841,7 @@ public class Classeur2 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// formats conditionnels
|
// formats conditionnels
|
||||||
for (Entry<Integer, formatConditionnel> k1 : k.getValue().getFormatsConditionnels().entrySet()) {
|
for (Entry<Integer, formatsConditionnels> k1 : k.getValue().getFormatsConditionnels().entrySet()) {
|
||||||
ecritureFormatsConditionnels(fichier,k1.getValue(),"");
|
ecritureFormatsConditionnels(fichier,k1.getValue(),"");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2914,24 +2937,21 @@ public class Classeur2 {
|
|||||||
* @param prefix
|
* @param prefix
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private void ecritureFormatsConditionnels(StringBuilder fichier, formatConditionnel k1, String prefix ) throws IOException {
|
private void ecritureFormatsConditionnels(StringBuilder fichier, formatsConditionnels k1, String prefix ) throws IOException {
|
||||||
fichier.append(prefix+"<formatsConditionnels evaluer=\"false\" styletitrePrincipale=\"H1\" saut=\"false\" titre=\"\">");
|
fichier.append(prefix+"<formatsConditionnels baseCellAddress=\"" +k1.getTargetRangeAddress()+ "\" evaluer=\"false\" styletitrePrincipale=\"H1\" saut=\"false\" titre=\"\">");
|
||||||
|
|
||||||
fichier.append("<communication></communication>" ) ;
|
fichier.append("<communication></communication>" ) ;
|
||||||
|
|
||||||
fichier.append(prefix+"<formatConditionnel");
|
for(Entry<Integer, formatConditionnelConditions> k2 : k1.getConditionalformatConditions().entrySet()) {
|
||||||
for(Entry<String,String> k2 : k1.getConditionalformat().entrySet()) {
|
fichier.append(prefix+"<formatConditionnel");
|
||||||
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
|
for(Entry<String,String> k3 : k2.getValue().getFormatConditionnel().entrySet()) {
|
||||||
|
fichier.append(" " + k3.getKey() + "=\"" + k3.getValue() + "\"" ) ;
|
||||||
|
}
|
||||||
|
fichier.append("><styleFormatConditionnel");
|
||||||
|
for(Entry<String,String> k3 : k2.getValue().getStyleFormatConditionnel().entrySet()) {
|
||||||
|
fichier.append(" " + k3.getKey() + "=\"" + k3.getValue() + "\"" ) ;
|
||||||
|
}
|
||||||
|
fichier.append("></styleFormatConditionnel></formatConditionnel>");
|
||||||
}
|
}
|
||||||
fichier.append(">");
|
|
||||||
|
|
||||||
fichier.append("<styleFormatConditionnel");
|
|
||||||
for (Entry<String, String> k2 : k1.getStyleFormatConditionnel().entrySet()) {
|
|
||||||
fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ;
|
|
||||||
}
|
|
||||||
fichier.append("></styleFormatConditionnel>");
|
|
||||||
|
|
||||||
fichier.append("</formatConditionnel>");
|
|
||||||
|
|
||||||
fichier.append(prefix+"</formatsConditionnels>");
|
fichier.append(prefix+"</formatsConditionnels>");
|
||||||
}
|
}
|
||||||
|
@ -22,15 +22,19 @@ public class evaluerAttributs {
|
|||||||
nEtudiant = nodeEtudiant;
|
nEtudiant = nodeEtudiant;
|
||||||
nAnalyse = analyse;
|
nAnalyse = analyse;
|
||||||
nSujet = nodeSujet;
|
nSujet = nodeSujet;
|
||||||
if(nodeSujet.getNameNode().equals("colonne")) evaluerAttributColonne();
|
if(nodeSujet.getNameNode().equals("colonne")) {
|
||||||
|
evaluerAttributColonne();
|
||||||
|
}
|
||||||
if(nodeSujet.getNameNode().equals("ligne")) {
|
if(nodeSujet.getNameNode().equals("ligne")) {
|
||||||
evaluerAttributLigne();
|
evaluerAttributLigne();
|
||||||
evaluerAttributCellule();
|
evaluerAttributCellule();
|
||||||
}
|
}
|
||||||
if(nodeSujet.getNameNode().equals("formatConditionnel")) {
|
if(nodeSujet.getNameNode().equals("formatsConditionnels")) {
|
||||||
evaluerAttributFormatConditionnel();
|
for (node nFormatConditionnelSujet : nSujet.getEnfants()) {
|
||||||
evaluerAttributStyleFormatConditionnel();
|
node nFormatConditionnelEtudiant = trouveFormatConditionnelEtudaint(nFormatConditionnelSujet.getAttributs().get("numCondition"));
|
||||||
|
evaluerAttributFormatConditionnel(nFormatConditionnelSujet,nFormatConditionnelEtudiant);
|
||||||
|
evaluerAttributStyleFormatConditionnel(nFormatConditionnelSujet,nFormatConditionnelEtudiant);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(nodeSujet.getNameNode().equals("graphic")) {
|
if(nodeSujet.getNameNode().equals("graphic")) {
|
||||||
evaluerAttributGraphic();
|
evaluerAttributGraphic();
|
||||||
@ -100,12 +104,12 @@ public class evaluerAttributs {
|
|||||||
/**
|
/**
|
||||||
* Evaluer les attributs du node formatConditionnel.<br>
|
* Evaluer les attributs du node formatConditionnel.<br>
|
||||||
*/
|
*/
|
||||||
private void evaluerAttributFormatConditionnel() {
|
private void evaluerAttributFormatConditionnel(node nFormatConditionnelSujet, node nFormatConditionnelEtudiant) {
|
||||||
for (Map.Entry<String, String> entry : nSujet.getAttributs().entrySet()){
|
for (Map.Entry<String, String> entry : nFormatConditionnelSujet.getAttributs().entrySet()){
|
||||||
if(nSujet.isAttributEvaluer(entry.getKey())) {
|
if(nFormatConditionnelSujet.isAttributEvaluer(entry.getKey())) {
|
||||||
String valeurEtudiant = "";
|
String valeurEtudiant = "";
|
||||||
if(nEtudiant!=null) valeurEtudiant=nEtudiant.getAttributs().get(entry.getKey());
|
if(nFormatConditionnelEtudiant!=null) valeurEtudiant=nFormatConditionnelEtudiant.getAttributs().get(entry.getKey());
|
||||||
nAnalyse.retourneLastEnfant("formatConditionnel").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant));
|
nAnalyse.retourneLastEnfant("formatsConditionnels").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -113,16 +117,16 @@ public class evaluerAttributs {
|
|||||||
/**
|
/**
|
||||||
* Evaluer les attributs du node styleFormatConditionnel.<br>
|
* Evaluer les attributs du node styleFormatConditionnel.<br>
|
||||||
*/
|
*/
|
||||||
private void evaluerAttributStyleFormatConditionnel() {
|
private void evaluerAttributStyleFormatConditionnel(node nFormatConditionnelSujet, node nFormatConditionnelEtudiant) {
|
||||||
node styleFormatConditionnel = nSujet.retourneFirstEnfant("styleFormatConditionnel");
|
node styleFormatConditionnel = nFormatConditionnelSujet.retourneFirstEnfant("styleFormatConditionnel");
|
||||||
if(styleFormatConditionnel.isEvaluer()) {
|
if(styleFormatConditionnel.isEvaluer()) {
|
||||||
node styleFormatConditionnelEtudiant = null;
|
node styleFormatConditionnelEtudiant = null;
|
||||||
if(nEtudiant!=null) styleFormatConditionnelEtudiant = nEtudiant.retourneFirstEnfant("styleFormatConditionnel");
|
if(nFormatConditionnelEtudiant!=null) styleFormatConditionnelEtudiant = nFormatConditionnelEtudiant.retourneFirstEnfant("styleFormatConditionnel");
|
||||||
for (Map.Entry<String, String> entry : styleFormatConditionnel.getAttributs().entrySet()){
|
for (Map.Entry<String, String> entry : styleFormatConditionnel.getAttributs().entrySet()){
|
||||||
if(styleFormatConditionnel.isAttributEvaluer(entry.getKey())) {
|
if(styleFormatConditionnel.isAttributEvaluer(entry.getKey())) {
|
||||||
String valeurEtudiant = "";
|
String valeurEtudiant = "";
|
||||||
if(styleFormatConditionnelEtudiant!=null) if(styleFormatConditionnelEtudiant.getAttributs().get(entry.getKey())!=null) valeurEtudiant = styleFormatConditionnelEtudiant.getAttributs().get(entry.getKey());
|
if(styleFormatConditionnelEtudiant!=null) if(styleFormatConditionnelEtudiant.getAttributs().get(entry.getKey())!=null) valeurEtudiant = styleFormatConditionnelEtudiant.getAttributs().get(entry.getKey());
|
||||||
nAnalyse.retourneLastEnfant("formatConditionnel").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant ));
|
nAnalyse.retourneLastEnfant("formatsConditionnels").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -198,6 +202,17 @@ public class evaluerAttributs {
|
|||||||
return nEtudiant.retourneFirstEnfant(nameNode);
|
return nEtudiant.retourneFirstEnfant(nameNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trouve le format conditionnel par le numéro de la condition.<br>
|
||||||
|
* @param numCondition
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private node trouveFormatConditionnelEtudaint(String numCondition) {
|
||||||
|
numCondition = numCondition.substring(0,numCondition.indexOf("‽"));
|
||||||
|
if(nEtudiant==null) return null;
|
||||||
|
return nEtudiant.retourneFirstEnfant("formatConditionnel","numCondition", numCondition);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -66,6 +66,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
|||||||
commandes.message.append("<hr>");
|
commandes.message.append("<hr>");
|
||||||
|
|
||||||
LecturesDossiers.getEC().Initialise();
|
LecturesDossiers.getEC().Initialise();
|
||||||
|
|
||||||
if(commandes.fichierStudentMoodle) {
|
if(commandes.fichierStudentMoodle) {
|
||||||
commandes.tousLesResultats.clear();
|
commandes.tousLesResultats.clear();
|
||||||
txt.setText("");
|
txt.setText("");
|
||||||
@ -203,7 +204,9 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
|||||||
creerNodeEvaluationEtudiant ana = new creerNodeEvaluationEtudiant(nomEtudiant, i);
|
creerNodeEvaluationEtudiant ana = new creerNodeEvaluationEtudiant(nomEtudiant, i);
|
||||||
new evaluerNodesClasseurStudent(ana, nodStudent);
|
new evaluerNodesClasseurStudent(ana, nodStudent);
|
||||||
ana.calculResultatDuNode();
|
ana.calculResultatDuNode();
|
||||||
|
ana.saveNodeEnXMLinNewFile(EnsembleFichiers.getListeNomFichierFeedBack().get(i), commandes.pathApp + "/feedback" );
|
||||||
fichierCSV.append(ana.retourneFirstEnfant("csv").getContenu(0)+"\n");
|
fichierCSV.append(ana.retourneFirstEnfant("csv").getContenu(0)+"\n");
|
||||||
|
|
||||||
commandes.tousLesResultats.addEnfant(ana);
|
commandes.tousLesResultats.addEnfant(ana);
|
||||||
}
|
}
|
||||||
commandes.tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp);
|
commandes.tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp);
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
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;
|
||||||
@ -60,13 +63,13 @@ public class evaluerNodesClasseurStudent {
|
|||||||
* evaluer les formats conditionnels.<br>
|
* evaluer les formats conditionnels.<br>
|
||||||
*/
|
*/
|
||||||
private void evaluerLesFormatsConditionnels() {
|
private void evaluerLesFormatsConditionnels() {
|
||||||
for (node formatConditionnel : commandes.sujet.retourneAllEnfants("formatConditionnel")) {
|
for (node formatsConditionnels : commandes.sujet.retourneAllEnfants("formatsConditionnels")) {
|
||||||
if(formatConditionnel.isEvaluer()) {
|
if(formatsConditionnels.isEvaluer()) {
|
||||||
node formatConditionnelEtudiant = trouveLeFormatConditionnelEtudiant(formatConditionnel.getAttributs().get("baseCellAddress"));
|
node formatConditionnelEtudiant = trouveLesFormatsConditionnelsEtudiant(formatsConditionnels.getAttributs().get("baseCellAddress"));
|
||||||
node anaFormatConditionnel = new node("formatConditionnel");
|
node anaFormatConditionnel = new node("formatsConditionnels");
|
||||||
anaFormatConditionnel.getAttributs().put("baseCellAddress", formatConditionnel.getAttributs().get("baseCellAddress"));
|
anaFormatConditionnel.getAttributs().put("baseCellAddress", formatsConditionnels.getAttributs().get("baseCellAddress"));
|
||||||
nAna.addEnfant(anaFormatConditionnel);
|
nAna.addEnfant(anaFormatConditionnel);
|
||||||
new evaluerAttributs(formatConditionnel, formatConditionnelEtudiant , nAna);
|
new evaluerAttributs(formatsConditionnels, formatConditionnelEtudiant , nAna);
|
||||||
anaFormatConditionnel.calculPoints();
|
anaFormatConditionnel.calculPoints();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,6 +87,7 @@ public class evaluerNodesClasseurStudent {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Trouve le graphic de l'étudiant.<br>
|
* Trouve le graphic de l'étudiant.<br>
|
||||||
|
* pour trouver le graphic, référence au nom de l'objet, puis titreGraphique, puis type, et enfin n'importe quel graphique.<br>
|
||||||
* @param nomObjet
|
* @param nomObjet
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -100,29 +104,36 @@ 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>
|
||||||
* @param baseCellAddress
|
* @param baseCellAddress
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private node trouveLeFormatConditionnelEtudiant(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("‽"));
|
||||||
|
|
||||||
if(baseCellAddress.matches("[0-9]")) {
|
// 🔥 Regex pour capturer le texte avant et après le 2e nombre
|
||||||
String number = baseCellAddress.replaceAll("[^0-9]+", ""); // Supprime tout sauf les chiffres
|
String regex = "(.*?)(\\d+)(.*?\\d+)";
|
||||||
|
|
||||||
|
// ⚙️ Supprimer tout ce qui suit le 2e nombre
|
||||||
|
String name = baseCellAddress.replaceAll(regex, "$1");
|
||||||
|
|
||||||
|
String number = baseCellAddress.replaceAll(regex, "$2"); // Supprime tout sauf les chiffres
|
||||||
int ligneCellSujet = Integer.parseInt(number);
|
int ligneCellSujet = Integer.parseInt(number);
|
||||||
String name = baseCellAddress.replaceAll("[^a-zA-Z\\.]+", "");
|
String name1 = "^"+name+String.valueOf(ligneCellSujet)+".*";
|
||||||
|
String name2 = "^"+name+String.valueOf(ligneCellSujet-1)+".*";
|
||||||
|
String name3 = "^"+name+String.valueOf(ligneCellSujet+1)+".*";
|
||||||
|
|
||||||
if(nodeEtudiant!=null) {
|
if(nodeEtudiant!=null) {
|
||||||
for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatConditionnel")) {
|
for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatsConditionnels")) {
|
||||||
String A = enfantsEtudiant.getAttributs().get("baseCellAddress");
|
String A = enfantsEtudiant.getAttributs().get("baseCellAddress");
|
||||||
if(A!=null) {
|
if(A!=null) {
|
||||||
if(A.equals(name+String.valueOf(ligneCellSujet)) || A.equals(name+String.valueOf(ligneCellSujet-1))
|
if(A.matches(name1) || A.matches(name2) || A.matches(name3)) {
|
||||||
|| A.equals(name+String.valueOf(ligneCellSujet-2)) || A.equals(name+String.valueOf(ligneCellSujet+1))
|
|
||||||
|| A.equals(name+String.valueOf(ligneCellSujet+2))) {
|
|
||||||
return enfantsEtudiant;
|
return enfantsEtudiant;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -995,12 +995,22 @@ protected boolean nodeClose = false;
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean saveNodeEnXMLinNewFile(String filenameWithExtension, String pathDestination) {
|
public boolean saveNodeEnXMLinNewFile(String filenameWithExtension, String pathDestination) {
|
||||||
|
|
||||||
if(filenameWithExtension.contains(".xml")) {
|
if(filenameWithExtension.contains(".xml")) {
|
||||||
filenameWithExtension = filenameWithExtension.substring(0,filenameWithExtension.lastIndexOf(".xml"));
|
filenameWithExtension = filenameWithExtension.substring(0,filenameWithExtension.lastIndexOf(".xml"));
|
||||||
}
|
}
|
||||||
|
|
||||||
Path outputFilePath = Paths.get(pathDestination +"/"+ filenameWithExtension + ".xml");
|
Path outputFilePath = Paths.get(pathDestination +"/"+ filenameWithExtension + ".xml");
|
||||||
|
|
||||||
|
|
||||||
|
if (!(Files.exists(outputFilePath.getParent()) && Files.isDirectory(outputFilePath.getParent()))) {
|
||||||
|
try {
|
||||||
|
Files.createDirectories(outputFilePath.getParent());
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
|
BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
|
||||||
fichier.write(this.ecritureXML().toString());
|
fichier.write(this.ecritureXML().toString());
|
||||||
|
Loading…
Reference in New Issue
Block a user