a3G@((_C)(<6WpMZndi)kG{y@K?KZ5!yy+*GUw4#c?X*L!T%Izmw1&=Dd z?FaPA(yf+yW^TdXZ_5R?iYnF)4?^@eDyP5W*m?t>vb>4)`v=zVpIE _%0!pMss1uN3lioxD4f=a%$!ZTEdmo!T~ywgC+CnH}m1Mw4(B~yXd@r z-WBFO{e0g8IOX`Ee*P|esG&cu>2Sn`@;%e?`~CbB{I8)uJ&>L;^k)o*9z%K7wETHL z{|c_y(0^@Ob{NWUOiMjhpP~P5AidYne?O2u!_fa|IBztR*9_%SL-~`TTwy4GF_fvr zO`4Cde+Uk99FL+Id;l%vYFf`>ILjJ3k4M8fje%nsOW%P*{RNMwKk &c#eX%M0Tq`{h{(H(|JKj{z;BrU-Oukz#A1V#8KlA>0fST-r0{B(p$s?3NP`@p z5e!te+Y0YHvqPwo52cYf0><$)n#{GB<#aj%$H6>4j27`sTF$d*Esll_Tu&~~rZgXp zV_{BlX4crk% ffpg|@YWRgK58c~aJd)S)NZymDsE(TUxz-AP%nG!3` zV-5_5_-M@I7|f#q^O%Qu9E*9($2=C$(R>^=aU-?zLd>HH$6s@a>~#g%&-7)V|DLkf z8<7t;NKy8I>pK; >;X)J&cnH3|E7e0<)7tEr-VUdgPMX=!AX z6}DP-Sm7IyHoJnZ=Gi56E%o!keERngLG-c z=$FzUrC%<1Nlnw^ZyGSZ9K-0LX&1H%+E*q+L3}NB09LGvf(VL6uuC<(kq+Wb)XoV6 zTuB61DFjn#1WP@1E}xD7D2w36qiZ;a4+(qeVcv{S{kEvp8>82XUsrdXAU$FwaS*VT z!Z?UW-o^k_Wu>7dmer$ZmUX(7m3JKkiSph~RJ+H@t*gZSWnEd=+T6CTJZx=gTUQab nKHj#=`b59At=~GY-@35GenN6ogl^OL{K6ixbs2bB*5&^J>eo4j literal 13220 zcmdT~d3;<|^*`rjnaT8aA(QS wX=zK6mZnW 6>$M z-d)Z;_ndRjJ?B08{@wQx(E{tD5Lrwk5_U3Cok(?c* y t7N$_Q?RVC8cQci%wtBW^KaCD(8tQS<88_u&LeJUMV*b$M>b470sib3j zXgtERyPT$iW~HrZ+e>tU>srr~{Ol79x2VTXW^G>$Jksg^BeT%Xpw;+1rLNOXcQ}i@ zMyD&~rtxk}r=97n1ONFUn(ZFE;H6mZ3M@vBk$;(C8aJ3)@3h-lNRii}Qxmuz)M>P& z=7-UIq%r?e>`w0xFGeQajPGO?`Pnwt_I%76l44duE|Y?3)*BbHJv+HsF0;%@q+MUG z1=3Y`&}5YQqe*U(X)6MfuLq25LQkjNO*)uowA7qzvcXvb(bQ)byNOQM0jt9@wwGD# zIIVVKBW8f;-S#D5GKE+9Kjwgu_Ea|Qxr)_DtKC+om5`~_OEsl@um_|e)q##7XhDD_ z-Gt*M@Uo&^&)AHmJD%T|O0^|H9;ZjGPh~P-r{2l Gx`Lj}3e%MRZJHG8E!HJiuZI|3QE7GZsw1b(Y>V_a4 zKP$B-+E}|x&Zy<;W)?$&m>SeTYW)H)mU<>F%kjZ?N4$TC@rKeVMVWR_&0;bqgN1|9 zM5ZSWp`_Z-g=x6_GvjpIX&WsuyW7>BO8fCHC84;}rI;=sNR{j{jU7mAchebPzZo^~ zjoStZY;n8e8Fvf%@iMtb7-F3ZlOBc_?T*u?HK4+Wp-O{v;t80Qo$z7Ku-ZJ?cY38! z)MF)HwyV`i$GdD_+V8k7*K^~BhUG!X!CoHZrMg-n0IVuc&VZdR2;KJf+>9}LT}U!N zO*)nB0IvlTLme@30iiYNWU(=Ut;D;q!GUp%Ff ~YL;R?;)N!QyLSI)J78Aa@Lk`S;k4cpW> nCGWAcM--JRH z7-L4szt*bIFE6w8S{?eC{qJfq%MAGu)uUgM+U|n2x|z6ia$568>mfn&TGR1%C+jAa z{|jUQI)u=cg<4Cs=wGtan@Ga=<8qL=+IMM-lMR1bjpC+N-l~}nG;IpEtg%4N8(|eV zrA;#rzOp@?>MEGL&?w}F2R-yroAupfwWQ+g474~{T!Y);If3DntkOzZA&)WXu;fB& z)xqGxe2w?j6sN^by7EBjUw#veGah)ic;KR$_A@-Y@;Dp(KGX&0X-g{|KPW6%2*I~G zX)qn0mw++2{(PpQ%ISzEisfk*qO afwrq8=pfHt5>@$KQR2rtsn9%XF1EM4yw?ya)x++9h!aP&}<+-V9 zsYcaOf*C=dqtAok4jD$(R1R8R&546a(=} a>Ngn|8=Zu1zktiLv(&huLGNFTB{f^h{~i8zA9)Ki7?#=p|%`aHM?rIq<%xt za1s%^nQjfyErC1-L}`M)N#DW|Aww=_dAsCiUBHl0L(nKWTMn}= zPrDtiC#l~Nw2!3jz`oC!J?Ah<+a;)+gv53WifZg$K^1zdzbk08#vTwfhQ`WvdjyTs z?H&>|o+gCp2TZY61aWaE9~j01eXT>NQw7zMJs%M?QTKdI(7qabT+n`c+$RK0(sMl} zXn&18Ehwhj{Y21YnjlAcR?rlUJtyb@jr~H W&_NpewV z?*Ap|Fpa$@=x~kwThI~M4Q9l1S;R_Jod}j9T*M_I9(a{#-i$!COK>TN5F)?~5G-}$ z0N%_rbqI4PRFAv{a+#n{shN40pt*A9;n1s8rb@ae2$n|*I#M^-N6=Af2^ ACp=4z`de%t7!Gh`}VHS9^+hjzjc&ipvFUg0%58!~3Ee{p6NRkeRj^p?asGkzF zSW=IKDZ{UNet+a6`_u?JmP83|aa8i``mK_*K+qCe8s=JbFrk-@h~?WlLCZAziv%5~ zS9`3W1{zzs;E%`NR IZf*PqwVvT~9D}CnWf>vnkctOW&tXa@Xjja~ctg$tM zR%vXlpw)V^69u(s>?A>JG!_?hg2rq?Yc-Y-v`%A=pc6ILA!xnETtO#kY@?u)HS=A9 z;u=c{Iz?lr3bHkp5!6aerN oh7J4V`mHM z)Yvvbu4dpoK^ru7fuN20?L~r;ns%|EF3rGa1bLcvnV^)WeO6Gnp6v=jr&3ySb(NqD zjSVx-g<%DrM!x!@AYTu0wV tpg{R6x z6@jmt!5Nc=^&y7MH0ygyM%s4Tb#OCfnlx0y{8g6e02vf^Ahz`U{7Cgqch=3w+o+1b zah~(H1>eDUBK(E(sP&O6XwAwC??iK2slWzn+vv2(J87fcT@&WJU|2dHjc_0D3^C3P zEvdoHaYpm5z1)$`fYcPaqkt6Q-F$C|?->vZ)TgqLAkI6!Z?Ay@CssI+Zd@Y=x?k`E z{2=t8O$~r}DvNzVcvByy;bDFVhjL*!Xd-wVy8Ht<+rv!LKE#WfLss^ARPbZ`Lx{3f zr&03rtqb#yaD)%KN`(1IEL2`N3PaH_{}?>WU~jPwj3fLE|1`uu84v|5#TC25NlQMT z{ct{m))31x{G8yQ^DhvbxSpTq5svP8Y^#o;!~AQUJ^h!HFu#C{qmk9#*O@T?7M$gy z?cfd_=9l2l)io^4zsGbY{15XVk;BLb_+eTADI}69d9h#P`kjl?=~TK5=iQ$L|Ak+} zmZfBdXS9yo5CN`0O3TOIJ9ZaV^jH3Si2r6H#DT8`zagX55DdrjlU|tr!E{+!*^5_R z^5T_SKN 17N+f<)J&M3u}vQY ZIRZv z0ygsMQWaac*-=jrwiK#LUVRlC69SQca+GFBk$)jwWar1~E{W4hRYkQmo4k>ut zu!Z|czfQ$!s%iqau{!UR6Vs3|kE!zxwm-m+sm(mNV1z=xK9W9Q1O%T2hvyPxGs9LD zG6??zHVLhPS meuzdJXJXzE?JP r#D`0gX(Y9Vv;Lwt-A%*>#MIErchP(I2u`Vgqbm{%}HUMD~FL^DIHF_21BI`|29 zQu4%;H-Ww4Pnn*L&~~d X91z-!QGgJ{iWg7=d!29Su%QR@hL| zi%pT9c?oj6{C3zv;c4WQm^TeaKhjIFZaY&YCDDM_RwH8i$`k9Rw}h?b$o$;DHEbOZ zKN*t^nuWE>T8(Hs?Q|#Y1nye(g|590H_~PYMK*+UH3j~C0KM=k7u@c`)*4&^pi=VE zeQnrU$5a=r!06k@hDt%#=Lh;f*qWYG4RkVA`v0)Ff{{)sV5z|FGL9453 Jxbu!&b`-V6B zsFx#U5oBbF>Kd96jx6d;INj GFaX zs2YyTcSd?9f%{Alr-ZFEls3`T7Pb&RTh)oM)guYXOvFlAz0#DBq#aW^RE45NHaSgL zr(0*>7VdhTDEIqIVQ%}Htc*%X4V b~;N~TdlKUq8Z PoQIJp& 2)fKU)c2L(}bP!I(N1yOEL5XA-sQEE^Sg$4ytKu{3n z0|ik$P!Od91yMLq5M=`eQ8Z8xB?ARfFi;TX0tHblP!Od81yLwa5M=@dQ6x|hB?1Le zAW#tH0R>SUP!Od71yLAK5M==cQ4~-RB>@Fd5Ks{100mJDP!Od61(Bjx5D9t(kyr z`FI79jaLvkcm
xo-uL`Bo6=ZUvF-RuHLf1(E1h5NU1&k>pkoDQ*Rk;8qanZ3U6sRuHLe1(DcR z5NT}%kB5NT`$k-Jt9nQH}+w^k5YYXy Ny7= z1{_A)P_?`ey)Hq8Z#&h}m8htF5hb)QqxbbFmfeUl+07`BeG3(_J22XJP!HRMO4z-q zfjxlg*FzZn5mdY$N3H8ARJneF`qp!(XFZQf)(fa%y^L93McwLkRIJ`at?GR`g^S2$ zRHk?oCAfk*cmi$UNwkrtP?9St#Z}bJbLdo_OKF}@8LlUvmr<5iP!G4zCSFgy+)A6d z9W|T{bQ*UfTkO*r+>6r48Tk0&9NNnGY=JMKbNRD$9)FI`=d0-gz7F3w+(;MkEikg% z>0-W%F5zAD8NQb; 0@E(1|V!GBUrR%H+U2lz|8>|ZYsx_W&vi7H&tpn*6tCDWDX3{sU*(m$p zBzF%F%dauCQ$XbzfjDR-Gj{OJ{o9LEPZG;j7oi*QEqp6zW&BOknIF?0g
+u70`pwWP(nXQXec~2fmWn32WE| zTeutFA?$|k--B-j?uFjp2Yvr8^!$F5wjY3XJP6(113mr$boOEB=_9a=M^OfS428`f zqEz`fs*XQGmGB8z$&;{>r|==nkLhB1nl7Vf=nClh=jo?(H9ZR}`5CO_Il7g8PPfx9 z;HZBIE`EaNix~O080mND{SsQgjJL1g?W>^tiT*-=?$?Sk{+8KTa3{B)XeGR< z^t2z-BTJWB=#{x1f4>0%(>r+;Yk~J5`a2cV8#t!k#DVq?$nT$!-&>I1+xVj69r%!c z;Y*Bn@s-7Ukm37~_P+@!7n;jRf3Zc!z?SQ|n3iw}HE<~%k53wmmY4BuW<7kCR#cvL zCvEHF+oPQ8 r= zEuZe=pTP|q`Y%n(b%ydQ(^AjXZRo!lNcRl=#ewuGhW $n__G79Hb0mn3&ZsRfZeI84{;&Jpkk7tV~a0O4~ zsl0E&X1r=P1M02f5c2QjKlSnJ_>J _ykn4e4f1|~SY!}u(5qtes?;E1gG4lf ziHdewV(*n5K&5;jjpT!{!l^Wwr(u AaUE@q|3s%;eUzxR!VI*ph(FPf7kntK(!niSNP3*JwTXQD^o7|5b(2pG?vHUvb z$Vd=JRVg2dbsU9t)L sW}RudaaiY5lyP8Sp;;19`7B zEYC1Vp7(+Bohol~ycB#b17F91uLkhd2)>%Y*K+W+f{y0n3wW8?&&%BbFYN`q%rX;J z8{`m!9BPom4e}|29BGgmgB-1qKpzJ3d=x%-BOLLiyaqg<0G`)^=XK!uMDV;GI&l(o z;$-MV9I`xxPGTGKY$b;i1?yPAZ^L~e;>HR~)JmQlHEBklbxhm5iPum`@w|dn)oE^I zgcY?G?XZqTyZxfpQvB|w?Q19AQ?kQ4E^0MJtrdONO7*S l=pO^%H39KZ7J?9Ym1`Rsm*JPqgJMQZAsM1 mHt(=D^;ui`tTX$pa|-MyB4_1oG>y;g-$S-8z*v@b;eP-o(jQ0w diff --git a/src/calc/commandes.java b/src/calc/commandes.java index 15f0927..e7c5362 100644 --- a/src/calc/commandes.java +++ b/src/calc/commandes.java @@ -19,6 +19,7 @@ public class commandes { //** Le node du fichier d'analyse public static node sujet = new node(); + public static node tousLesResultats = new node("Tous"); public static node sujetSauvegarde = new node(); public static JTree tree = new JTree(); public static node nodeACCSV = null; diff --git a/src/evaluer/evaluerAttributs.java b/src/evaluer/evaluerAttributs.java index 74a07bf..a4fc730 100644 --- a/src/evaluer/evaluerAttributs.java +++ b/src/evaluer/evaluerAttributs.java @@ -1,14 +1,15 @@ package evaluer; import java.util.Map; + import outils.outils; -import xml.crearNodeAna; +import xml.creerNodeEvaluationEtudiant; import xml.node; public class evaluerAttributs { private node nEtudiant ; - private crearNodeAna nAnalyse ; + private creerNodeEvaluationEtudiant nAnalyse ; private node nSujet ; /** @@ -17,7 +18,7 @@ public class evaluerAttributs { * @param nodeEtudiant : le node de l'étudiant. * @param analyse : le node analyse qui contiendra les résultats. */ - public evaluerAttributs(node nodeSujet, node nodeEtudiant, crearNodeAna analyse) { + public evaluerAttributs(node nodeSujet, node nodeEtudiant, creerNodeEvaluationEtudiant analyse) { nEtudiant = nodeEtudiant; nAnalyse = analyse; nSujet = nodeSujet; diff --git a/src/evaluer/evaluerLesFichiersEtudiants.java b/src/evaluer/evaluerLesFichiersEtudiants.java index b77f047..99249dc 100644 --- a/src/evaluer/evaluerLesFichiersEtudiants.java +++ b/src/evaluer/evaluerLesFichiersEtudiants.java @@ -1,5 +1,7 @@ package evaluer; +import java.io.BufferedWriter; +import java.io.FileWriter; import java.io.IOException; import java.text.ParseException; @@ -17,14 +19,14 @@ import calcul.enumerations.typeFichier; import fenetres.baliseStyle; import xml.EnsembleFichiers; import xml.LecturesDossiers; -import xml.crearNodeAna; +import xml.creerNodeEvaluationEtudiant; import xml.node; import xml.transformeXLMtoNode; public class evaluerLesFichiersEtudiants implements Runnable{ private final JEditorPane txt; - public node tousLesResultats = new node("Tous"); + public evaluerLesFichiersEtudiants(JEditorPane txt) { commandes.analyse=true; @@ -65,6 +67,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{ if(commandes.fichierStudentMoodle) { LecturesDossiers.getEC().Initialise(); + commandes.tousLesResultats.clear(); txt.setText(""); try { new LecturesDossiers(enumerations.LocationFile.UniquementFichier, commandes.path); @@ -160,8 +163,11 @@ public class evaluerLesFichiersEtudiants implements Runnable{ //***************************************************** //** Parcours l'ensemble des fichiers des étudiants *** //***************************************************** + StringBuilder fichierCSV = new StringBuilder(); + fichierCSV.append("nomEtudiant;note;pourcentage\n"); for(int i = 0 ; i < nbClasseur ; i++) { - String texteAfficher = txt.getText() + "\nEvaluation du fichier n° " + String.valueOf(i+1) + "/" + String.valueOf(nbClasseur) + " fichier(s)"; + + String texteAfficher = "Evaluation du fichier n° " + String.valueOf(i+1) + "/" + String.valueOf(nbClasseur) + " fichier(s)\n" + txt.getText() ; txt.setText(texteAfficher); //index de l'étudiant @@ -193,19 +199,37 @@ public class evaluerLesFichiersEtudiants implements Runnable{ nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp); if(commandes.analyse) { - crearNodeAna ana = new crearNodeAna(nomEtudiant, i); + creerNodeEvaluationEtudiant ana = new creerNodeEvaluationEtudiant(nomEtudiant, i); new evaluerNodesClasseurStudent(ana, nodStudent); - ana.calculResultat(); - tousLesResultats.addEnfant(ana.clone()); + ana.calculResultatDuNode(); + fichierCSV.append(ana.retourneFirstEnfant("csv").getContenu(0)+"\n"); + commandes.tousLesResultats.addEnfant(ana); } - tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp); + commandes.tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp); } catch (CloneNotSupportedException | IOException e) { e.printStackTrace(); } }// ** Parcours l'ensemble des fichiers des étudiants *** + txt.setText("** FIN**\n" + txt.getText()); + saveCSV(commandes.pathApp, fichierCSV); }// Run + + + public static boolean saveCSV(String filePath, StringBuilder content) { + String path = filePath + "/ensembleResultats.csv"; + try (BufferedWriter writer = new BufferedWriter(new FileWriter(path))) { + writer.write(content.toString()); // Écrit le contenu dans le fichier + System.out.println("✅ Fichier CSV sauvegardé avec succès : " + filePath); + return true; + } catch (IOException e) { + System.err.println("❌ Erreur lors de la sauvegarde du fichier CSV : " + e.getMessage()); + e.printStackTrace(); // Affiche la trace de l'erreur pour le débogage + return false; + } + } + } //********************************** //** Analyse des fichiers student ** diff --git a/src/evaluer/evaluerNodesClasseurStudent.java b/src/evaluer/evaluerNodesClasseurStudent.java index b2b3d60..f93b47e 100644 --- a/src/evaluer/evaluerNodesClasseurStudent.java +++ b/src/evaluer/evaluerNodesClasseurStudent.java @@ -1,12 +1,12 @@ package evaluer; import calc.commandes; -import xml.crearNodeAna; +import xml.creerNodeEvaluationEtudiant; import xml.node; public class evaluerNodesClasseurStudent { - private crearNodeAna nAna ; + private creerNodeEvaluationEtudiant nAna ; private node nodeEtudiant = new node(); /** @@ -16,7 +16,7 @@ public class evaluerNodesClasseurStudent { * @param ana * @param nodStudent */ - public evaluerNodesClasseurStudent(crearNodeAna ana, node nodStudent) { + public evaluerNodesClasseurStudent(creerNodeEvaluationEtudiant ana, node nodStudent) { nodeEtudiant = nodStudent; nAna = ana; evaluerLesFeuilles(); diff --git a/src/xml/crearNodeAna.java b/src/xml/crearNodeAna.java deleted file mode 100644 index 0f99e2d..0000000 --- a/src/xml/crearNodeAna.java +++ /dev/null @@ -1,69 +0,0 @@ -package xml; - -import java.text.ParseException; -import java.util.Date; - -import calcul.formatDateWriter; - -/** - * Cette class contient tous les résultats d'un seul étudiant.
- * Les resultats sont stockés dans le node ana (node analyse). - * @author pabr6 - * - */ -public class crearNodeAna extends node{ - - private int nbrPointTotal = 0; - private int pointGagner = 0; - - public crearNodeAna() { - - } - - - public crearNodeAna(String nomEtudiant, Integer indexFichier) { - this.nameNode="analyse"; - this.attributs.put("nomEtudiant", nomEtudiant); - this.attributs.put("indexFichier", String.valueOf(indexFichier)); - try { - this.attributs.put("dateEvaluation", String.valueOf(formatDateWriter.DateLibreOffice(new Date()))); - } catch (ParseException e) { - e.printStackTrace(); - } - this.attributs.put("nbrPointTotal", "0"); - this.attributs.put("pointGagner", "0"); - } - - - /** - * Calcul le total des points de l'étudiants.
- * Ajoute les attributs nbrPointTotal et pointGagner.
- */ - public void calculResultat() { - int total= 0; - int point = 0 ; - for (node enfant : this.retourneAllEnfants("resultat")) { - total = total + Integer.valueOf(enfant.getAttributs().get("total")); - point = point + Integer.valueOf(enfant.getAttributs().get("point")); - } - this.getAttributs().put("nbrPointTotal", String.valueOf(total)); - this.getAttributs().put("pointGagner", String.valueOf(point)); - } - - @Override - public void addEnfant(node enfant) { -// enfant = (crearNodeAna) enfant; - enfant.setParent(this); - enfant.setLevel(this.level+1); - this.enfants.add(enfant); - if(enfant.getNameNode().equals("resultat")) { - nbrPointTotal = nbrPointTotal + Integer.valueOf(enfant.getAttributs().get("total")); - if(Boolean.valueOf(enfant.getAttributs().get("correct"))) { - pointGagner = pointGagner + Integer.valueOf(enfant.getAttributs().get("total")); - } - } - } - - - -} diff --git a/src/xml/creerNodeEvaluationEtudiant.java b/src/xml/creerNodeEvaluationEtudiant.java new file mode 100644 index 0000000..1328cc1 --- /dev/null +++ b/src/xml/creerNodeEvaluationEtudiant.java @@ -0,0 +1,73 @@ +package xml; + +import java.text.ParseException; +import java.util.Date; + +import calc.commandes; +import calcul.formatDateWriter; + +/** + * Cette class contient tous les résultats d'un seul étudiant.
+ * Les resultats sont stockés dans le node ana (node analyse). + * @author pabr6 + * + */ +public class creerNodeEvaluationEtudiant extends node{ + + + + public creerNodeEvaluationEtudiant() { + + } + + + public creerNodeEvaluationEtudiant(String nomEtudiant, Integer indexFichier) { + this.nameNode="analyse"; + this.attributs.put("nomEtudiant", nomEtudiant); + this.attributs.put("indexFichier", String.valueOf(indexFichier)); + try { + this.attributs.put("dateEvaluation", String.valueOf(formatDateWriter.DateLibreOffice(new Date()))); + } catch (ParseException e) { + e.printStackTrace(); + } + this.attributs.put("nbrPointTotal", "0"); + this.attributs.put("pointGagner", "0"); + this.attributs.put("bareme",String.valueOf(commandes.analyse_bareme)); + this.attributs.put("baremeABC",String.valueOf(commandes.analyse_baremeABC)); + } + + + /** + * Calcul le total des points de l'étudiants.
+ * Ajoute les attributs nbrPointTotal et pointGagner.
+ */ + public void calculResultatDuNode() { + int total= 0; + int point = 0 ; + node root = this.retourneRoot(); + for (node enfant : root.retourneAllEnfants("resultat")) { + total = total + Integer.valueOf(enfant.getAttributs().get("total")); + point = point + Integer.valueOf(enfant.getAttributs().get("point")); + } + root.getAttributs().put("nbrPointTotal", String.valueOf(total)); + root.getAttributs().put("pointGagner", String.valueOf(point)); + notationEtudiant(root,total,point); + } + + + private void notationEtudiant(node root, int total, int point ) { + node csv = new node("csv"); + double note = (double) 0; + double pourcentageReussite = (double) 0; + if(!commandes.analyse_baremeABC) { + pourcentageReussite = (double) point/total; + note = pourcentageReussite*commandes.analyse_bareme; + } + csv.addContenu(root.getAttributs().get("nomEtudiant") + ";" +String.valueOf(note) + ";" + String.valueOf(pourcentageReussite)); + root.addEnfant(csv); + } + + + + +} diff --git a/src/xml/node.java b/src/xml/node.java index 3afe206..a96ce97 100644 --- a/src/xml/node.java +++ b/src/xml/node.java @@ -667,6 +667,17 @@ protected boolean nodeClose = false; && Objects.equals(nameNode, other.nameNode) && Objects.equals(parent, other.parent); } + + /** + * Nettoyage du node.
+ * Supprime les attributs, les enfants, les contenus.
+ */ + public void clear() { + this.removeAllAttributs(); + this.removeAllEnfants(); + this.removeAllContenu(); + } + @SuppressWarnings("unchecked") @Override