From c758d996f0dc99c443d9c18e289f5f2b295c3135 Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Mon, 8 Apr 2024 20:46:40 +0200 Subject: [PATCH] MAJ V4.5.0 --- bin/.gitignore | 151 ------------------ bin/MEPTL/commandes.class | Bin 8287 -> 8287 bytes bin/fenetres/evaluate$1.class | Bin 1738 -> 1738 bytes bin/fenetres/evaluate$10.class | Bin 1585 -> 1585 bytes bin/fenetres/evaluate$11.class | Bin 4316 -> 4316 bytes bin/fenetres/evaluate$12.class | Bin 2239 -> 2239 bytes bin/fenetres/evaluate$13.class | Bin 3417 -> 3417 bytes bin/fenetres/evaluate$14.class | Bin 2355 -> 2355 bytes bin/fenetres/evaluate$2.class | Bin 1511 -> 1511 bytes bin/fenetres/evaluate$25.class | Bin 665 -> 665 bytes bin/fenetres/evaluate$26.class | Bin 665 -> 665 bytes bin/fenetres/evaluate$27.class | Bin 665 -> 665 bytes bin/fenetres/evaluate$28.class | Bin 665 -> 665 bytes bin/fenetres/evaluate$29.class | Bin 665 -> 665 bytes bin/fenetres/evaluate$3.class | Bin 3155 -> 3155 bytes bin/fenetres/evaluate$30.class | Bin 665 -> 665 bytes bin/fenetres/evaluate$4.class | Bin 2228 -> 2228 bytes bin/fenetres/evaluate$5.class | Bin 2298 -> 2298 bytes bin/fenetres/evaluate$6.class | Bin 3969 -> 3969 bytes bin/fenetres/evaluate$7.class | Bin 1982 -> 1982 bytes bin/fenetres/evaluate$8.class | Bin 1811 -> 1811 bytes bin/fenetres/evaluate$9.class | Bin 2116 -> 2116 bytes bin/fenetres/evaluate.class | Bin 19284 -> 19344 bytes src/MEPTL/commandes.java | 20 ++- src/action/actSaveEvaluation.java | 30 +--- .../chargeEvaluationSelected.java | 6 +- .../creerNouvelleEvaluation.java | 54 +++---- .../ecritureBaseEvaluation.java | 35 +++- src/baseEvaluations/evaluationExist.java | 13 +- .../recupeNodeBaseEvaluations.java | 47 ++++++ src/fenetres/ChargePathBaseEvaluation.java | 60 +------ src/fenetres/baseDonneesEvaluations.java | 34 ++-- src/fenetres/evaluate.java | 4 + 33 files changed, 164 insertions(+), 290 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index f9f8829..5d16125 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -4,160 +4,9 @@ /baseEvaluations/ /calcul/ /evaluer/ -/extraireFichierAnalysemini.png -/false.png -/false.svg -/falsemini.png -/feedback.png -/feedback.svg -/feedbackmini.png -/feedbackstudent.png -/feedbackstudentmini.png /fenetres/ -/fichierAnalyse.png -/fichierAnalyseInfo.png -/fichierAnalyseInfo2.png -/fichierAnalyseInfo2max.png -/fichierAnalyseInfo2mini.png -/fichierAnalyseInfomax.png -/fichierAnalyseInfomini.png -/fichierAnalyseModif.png -/fichierAnalyseModifmax.png -/fichierAnalyseModifmini.png -/fichierAnalyseRenomme.png -/fichierAnalyseRenommemini.png -/fichierAnalysemax.png -/fichierAnalysemini.png -/fichierCSV.png -/fichierCSVInfo.png -/fichierCSVInfoXML.png -/fichierCSVInfoXMLmax.png -/fichierCSVInfoXMLmini.png -/fichierCSVInfomax.png -/fichierCSVInfomini.png -/fichierCSV_delete.png -/fichierCSV_deletemini.png -/fichierCSVmax.png -/fichierCSVmini.png -/fichierODF.png -/fichierODFmax.png -/fichierODFmini.png -/fichierSVG.png -/fichierSVGmax.png -/fichierSVGmini.png -/fichier_analyse.svg -/fichier_analyseXML info.svg -/fichier_analyseXML info1.svg -/fichier_analyseXML.svg -/fichier_analyse_ODF.svg -/fichier_csv_studen_delete.svg -/fichier_csv_studen_modif.png -/fichier_csv_studen_modif.svg -/fichier_csv_studen_modifmini.png -/fichier_csv_studen_suppr.svg -/fichier_csv_student.svg -/fichier_csv_student_info.svg -/fichier_csv_student_xml.svg -/fichier_svg.svg -/fichieretudiant.png -/fichieretudiant.svg -/fichieretudiantmini.png -/fichiergestion.png -/fichiergestion.svg -/fusionneBaseEvaluation.png -/fusionneBaseEvaluation.svg -/fusionneBaseEvaluationmini.png -/heritagestyle.png -/heritagestyle.svg -/heritagestylefalse.png -/heritagestylefalsemini.png -/heritagestylemini.png -/heritagestyletouslesnodes.png -/heritagestyletouslesnodes.svg -/heritagestyletouslesnodesmini.png -/heritagestyletrue.png -/heritagestyletruemini.png -/indexfigure.png -/indexfigure.svg -/indexmatiere.png -/indexmatiere.svg -/information.png -/information.svg -/informationmaxi.png -/informationmini.png -/informationmultiple.png -/informationmultiple.svg -/informationmultiplemini.png -/intervalle.png -/intervalle.svg -/intervallemini.png -/legacystyleparentpresent.svg -/lesnodesevaluer.png -/lesnodesevaluer.svg -/lesnodesevaluermaxi.png -/lesnodesevaluermini.png /list/ -/loadpreference.svg -/loadpreferencemini.png -/loadpreferences.png -/logo analyseWriter accueill.svg -/logo.png -/logo.svg -/marquenode.png -/marquenode.svg -/marquenodemini.png -/menuEvalTousParagraphe.png -/menuEvalTousParagraphe.svg -/menuEvalTousParagraphemini.png /menucontextuel/ -/menulegacystyleparentpresent.png -/menulegacystyleparentpresentmini.png -/meta.png -/meta.svg -/new.png -/newlogo.png -/newlogo.svg -/newlogomini.png -/nocsvstudent.png -/nocsvstudentmini.png -/nodeFichier.png -/nodeFichier_FichierAnalyse.svg -/nodeFichiermax.png -/nodeFichiermini.png -/nodetail.png -/nodetail.svg -/nodetailfeedback.png -/nodetailfeedbackmini.png -/nodetailmini.png -/nofeedback.png -/nofeedbackmini.png -/nofeedbackstudent.png -/nofeedbackstudent.svg -/nofeedbackstudentmini.png -/nologo.png -/nonewlogo.png -/nonewlogomini.png -/nonotestudent.png -/nonotestudentl.svg -/nonotestudentmini.png -/notestudent.png -/notestudentmini.png -/noverifhistoriquestudent.png -/noverifhistoriquestudentmini.png -/nozipstudent.png -/nozipstudentmini.png -/numerotationchapitre.png -/numerotationchapitre.svg -/objet.png -/objet.svg -/odreparagraphe.png -/odreparagraphemini.png -/open.png -/open.svg -/open2.png -/openmax.png -/openmini.png -/ordreparagraphe.svg /ou.png /ouenviron.png /ouenviron.svg diff --git a/bin/MEPTL/commandes.class b/bin/MEPTL/commandes.class index f14f44403edf94f1b2775fd4373d8e330485078f..340d41328f284d8100117bc54e7053eb73a69573 100644 GIT binary patch delta 357 zcmWNMH!Os49EP7CKEa>_aS3;vL0#lTghbq6A!1>$NEj>zgNVUE+(aShzN#>Wt2F^NMM{~CP-zHG^R*rnk;6>W|my$ z$iq$n^AzHshy{vSq=Y5PSf-p6Dp?bp`RJ^1D$wrO#nBTxFw1^EZpmvrc(1G?mVfSXAHckj8|fK zBc6AX_#lN(-D$FDUyAgt8$xZyA3XTQn?DQ!;UZYYg$!{eM>O3YTBZ3CDSmoNSolBr Ck7q^z delta 357 zcmWNMIV{6r0L6bFDi|0LO=znf9JNSAgrw2ILd3#gkuX>c1`&gSxSJ>ve_F?&?yJta z>ej`eo1+%0&Vj@ot8aVBd++!10+xVf)sdLqCS0_OH9Ev5ox($xIKV1S=@vKGM35fw zLa%tE&wZSjBbpUd3=qj6G1!U4K>|Z0F^rxOQWzzJF*0$I%{X~Xkk2FqOi{=*CCpID zEal8m!8}zgP|YGWxTs}`I+kf*g+^9sVvSbTvEs(Y2K{VeH?k#Xw&lc*M0zA*S623< zy)V@fhaBVO1Rq|-sWGX}2*aoNHI?z_L~%hJmuR^n4L>HXm11qZ{+4h8^3EMy1|Mb*C97-^11C#4gCI)9 delta 59 zcmdnUvyo>*C97;611C!{gCI)@gDOiYgC$EDg9}SJgAYpuLljHi3dJg9p;V$lZot$T0|9T!cV^AZU%22FJF*DWSz69JI2bizby=S(Fu& znO!L8W`bKo(&*?YL_>Dw({fr)`P(y?l$*4?ENh4rg;-UDj3!vqG|7u!Pt6wA3dJg9og^(7lE~$T0|9T!bKkAZQJjhQ_wQDWOG0C^gWq3@f@Bgd%Eb zDF~Kyq2>m~v9U3ThU&~`;0&C~&^-~?C|mNfttpZUkkTA!EwZB!@!F5OZJSw*u&Xh0 z8fQ-q`|^|juLlZJ&^(7);Yb@CE5?ZuoGQhc@|>%{g~}Aw5Y=!DXULaAJp_o zU0+=5n;ZSoFc(epack4u*$gcU(6-r0I<`R9mbkZ79&C-Ct@CJMo-D$%MS0CEd!m0r C13ifV diff --git a/bin/fenetres/evaluate$12.class b/bin/fenetres/evaluate$12.class index 17b8518a61d3551f5513eaefdb645f5d0ac01e3c..72477784eaf91f1e21684b829c4628ddcbb69608 100644 GIT binary patch delta 75 zcmV-R0JQ(V5x)_zz6TlD00{)$01*V<03`(9067HU07L}g089kflh+4!A?5%L1m^$~ h1n2-41nB@D1nK}M1nU4V1ndAd1nmGm1n`q?2vLKw7dQX_ delta 75 zcmV-R0JQ(V5x)_zz6Tl900{)y01*V*03`(5067HQ07L}c089kblh+4!A>sfH1mge` h1mpl01myr91m*xI1m^%R1n2-Z1nB@i1niS;2vK^v7We=F diff --git a/bin/fenetres/evaluate$13.class b/bin/fenetres/evaluate$13.class index dc7dcaf3e9752c0ed7545da8f108282d110c9101..4f3e3df487b9d59c73e15267606a930d2abecba7 100644 GIT binary patch delta 128 zcmWN^F%H2{0LS6qOWvQhXcR$Th=mK-Y#lm^ttYTJioG{*0*Te^4ll7y1B(`Q{8#eY!F4)@Y(nOglM4%S2+DsI%RLEKpnL6y$qfpFVeGW=EYQRZD ct{UP0ziZ4>Q(j7W%Ta4)(A)%Clx6q!14SYlaR2}S delta 128 zcmWN^Jr2Qe9LM3$pWm0Zsd|aG*2)EJwhl(I^#m42vG)c}AhDX=p^4RE)JVLCXM2jI zNOtESF7fS7+a65p$;@8N?aji<{WnNm=I~S@Qk8*>vBXq0Qq@_?CsV*mA!{|*C}OK7 c2el~vKdHk-U9ReJQ=gB94#m#XD9^*=4~)ec`~Uy| diff --git a/bin/fenetres/evaluate$14.class b/bin/fenetres/evaluate$14.class index 7fb394af446a42f8678d9a2948065a2764ff4042..2519a902b552d0318e6bde362e260c4386675b74 100644 GIT binary patch delta 75 zcmdliv{`6_I)|(V11GC4gCMIOgDR^&gC(m0gA1!6gAc0_LlmpVWEYMGSu+MUR&xeE eRtpAQR!as`Rx1VzR%-?aRvQKnR=dd$If4Mbmka3t delta 75 zcmdliv{`6_I)|(Z11GB{gCMIGgDR^wgC(mDgA1!JgAc17LlmpZWEYMGStABER$~S} eRucwYR#OI3Rx<_*R&xdiRtp9XR;$SmIf4MSmkX%? diff --git a/bin/fenetres/evaluate$2.class b/bin/fenetres/evaluate$2.class index d5076519f60ca02e97d49da0c5743d69bd2fe1d9..5819214d529e44933cb1620307a852a7a1b3223b 100644 GIT binary patch delta 55 zcmaFP{hWJ)1*@zp11GZ=gDkT*gDSHRgC(;sgA21CgAcPmLlm>?e&JYGR=1`!j Ju*vgTJpeWx3XuQ+ delta 55 zcmaFP{hWJ)1*@zh11GZ^gDkT)e&Hx5B=0KpT Jpvm)DJpeJ03S|HQ diff --git a/bin/fenetres/evaluate$25.class b/bin/fenetres/evaluate$25.class index c17254bb2fcb29164946c4299fd5a3c8bb063733..6d59825b50de11d5ef2b29e558e70ac4c9857d8a 100644 GIT binary patch delta 19 acmbQqI+JySI1{7VWCgOBvjl%NXLB%NeSfD;QdtD;c_(s~9FTS2N6Eu3?zZ bT+6V8xsG8ab3MaG<|c+M%*~UZa_0d6qY@o} delta 123 zcmWN{s}4Z{0D$3t`-{sa3k1O%D2ikf4?u7&49DDW8%Yv`Q*DZ36WF|oXV5$ZU;f_7 zck*$HrK?1(leR(DCV5*FZBw>G&1!g$eJfoe_DI+#<$#Psat8l7qTra46B;hPavy%;!4HW79S{Hj diff --git a/bin/fenetres/evaluate$30.class b/bin/fenetres/evaluate$30.class index c12f41a54a2a0256bedebc266bfef58be5a56b8c..4b95e80fa496f1ada5e7498e8a86b45942aba4a9 100644 GIT binary patch delta 19 acmbQqI+JySI1^*WWCBs;sWwvTAgg*U?9#X2#k_iOb%&7d z5zzxY^%2t}*7bx9J!4ZZ*wQN!dP7?8$Z3EbeITz-9B7ELzHq7$&NW6u-)QOw1O3vk zKRTK)rYYl^F=1fF$X)ZXV8%V0V`ZHY(b@Wfo6S%4K==7j}$Z7au@fvbPg CqB#oy delta 209 zcmV~$y(`249LMp`$NSqke%Ealxqju6!Kjo;T}EZbUtlMT(nT4s*p&Z3QIf@KP&YWv z;`uT16hg?!>s3z6=~^QxRMo<+3e?oap8DC>AaxCKpi!#p?KwBi94f<+avZCT6LoN^ zlrt4MS2q{x;ZnU^sgG-wxY01T8skpm+-s5t&GMuQ&sye18@#HA2bi$X5 xe0zW&m-zJv4NvgrsgS3`p6d)eAK^-5yb#S^imX?n)vJ+sGjiUE{Nh%A`yVB^J465g diff --git a/bin/fenetres/evaluate$7.class b/bin/fenetres/evaluate$7.class index fb93d4c4b3a31d7ae6111f4afefaa19c3a39e0ed..c6876f5bce2f431602a4256f281a3011a917430a 100644 GIT binary patch delta 59 zcmdnTzmI>z12#!X22K_^20<2i22~aX1_KsF1`8G?1~(ST$v@eW1l1VWSkxJKSTq>; PSu`26Sac@mum=GEKu-yy delta 59 zcmdnTzmI>z12#!f22K_!20<2S22~ar1_KsZ1`8HB1~(Sb$v@eW1eF-rSdia71830K04$11C!~gCI)`gDOibgC$EGg9}SMgAYprLljHcia71830K04u11C#3gCI);gDOiTgC$E8g9}SEgAYp#LljHUtk4XFWZ3?eWi6yRDns?5tbs*15U&@=F3ea&mI- zyYKtC_r90>F1fsq_3mfNFaLM`A^^;!)2Ec#X}olz`Jvnb1@AM9f=>{cNJmlpT3S(p zp7adjR=M1+F0ZT8vC`{ucDW2>p}kCsh+oQz$`-9_G8!Ei73JPFE;N1}E_kL~ybU@@$JJPL`k`Z;C?c zQjo=`S(2G8D0tnXi?+&O4qt6aXHzs~u0jqO%;V=RsjNT?<|&jfgVXsvi=EAo!BKhn z3KhxVw;81H3l>#bTwNtwHPB4%&PZmDXl#K(v!v`%eljCr{u~D59pWn5S9@2A3vqQj zTUU!K(YVJLj2p4(^myAn?VWPZ2(46MqDshNptxN45Z@lQFsosL$gyU9_zrnAe{W}+r)=2x>)*i-yoR!Uwg zx%Je>z#J5|v^#3NE$*&b@xeKTwjI_m(0gR4)or8>>eQ2$&$Fge7p>+!)+q%&CVHBr zsHL;4&C?}3%FJ4#u!m`#iPp1OqVrBySDD+nqSf`J!tT%p6Z!ZxYo_k|Ci($4*pk)F zCfWl145C|I?xwD01-$e_6K$jIe5NhKx|4yfc!jq_UdC<{Jp&#Q@Ho4g4b;nkEtT@U zCgSuQ@3mQV`%JW-U$iB#gZv{~%IHH3Vu~FrN{SuLU2Ux;26~Ab?b(Shivw$6Pf2mJ zcX;~*(FiHdk%kTmv2Fd+b(rV&J^}P+Wl(EK~-$v z3Y`jWT_LR1)xlPs7xwCQz+v6T(674-fvC)Z9mV6xm;q4`2S9gu|IE~UykBoUODsTW zJ&nr;p}O8o(PlCPV9{Av79d52bpeX8o`x&Z4^S-sVy5bgliWiZ*Qg1wQSzginMRMq zY}7hghIEG8L1?XtVWHf@}i`p)#yR8N?LS|ViDr9Bb*u?t}KppTrxhrsvjhW zgr-VJABJ*=A$=H9^&?6ik+?xM3{t+N3ngs`)6<4&LzosNH%P{)8V9LJGT##CN3ja^ zSv(9G!;oqWmmL12+hrC-Ris8$!gNW54&ILPAlD_i7&T^)X36TaWyg=jg!$44uf{~G z$H*+=!wYp-7SRN22wCJ?$S=)K%$pn8_fz>n7_XYbWL0EGHAS+U1kV#oCro%evK!1h zYGmG;(lNdo+3y0`Z)`YWZ3IzcBMDH#>QPaOLz?r<4rt@|HWfO*hi!AI8DM=$c6)yi)Uyy2B;3tk_XRG zH@-m|agciP=hTN6=rw$k&fr`04!%tv;1GR=zo5UN?_K%|FTtbYVh?CD52t`#tS-V${lUar$3;gPtFW3*U!I&lx{sa|+d;`Al7M0nBS+zLG*JU!ajuV|_8 z4A{U9h*6vcM(ks?v|M-!USks+)F9j#nhj^DQFtcmg(h+eZxp>FruPcr#iDF)3b6a+ z;XBL9m#;KaOMt%XCr<#j2B`Z5i1V{ALrWavXOk#EYyE7CX38|vp_u{Ayr-EPn&FzM zmxkxgnO`Jn@!b=qOfwyt8PLponz^AFu9AUR%#W$64qx(~bbFx5nG0L`20x9H!DwyTr>(djj;Vu2Hz!Zk26hBHM$BZ1Hv} zi6pA>`RVy;QEs@r{XxneZ8N-OpZ#d0H8Z^uNgkO2Fa%S@ z4EPYD@i!2MAHf9t7&7n*zV$F8^$U-&lW>`S%1g>~=p?<$+sh}%B?k2dAm1G{mZn08xm$NvE>&`gd1 delta 3265 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 Q)$zbv&vS7z&%r1D3p=e%MF0Q* diff --git a/src/MEPTL/commandes.java b/src/MEPTL/commandes.java index 8002da5..fb6f7e2 100644 --- a/src/MEPTL/commandes.java +++ b/src/MEPTL/commandes.java @@ -127,10 +127,24 @@ public class commandes { public static String analyse_hash = ""; public static String analysis_filename = ""; - //** Variables pour l'interface du logiciel + //******************************************** + //** Variables pour l'interface du logiciel ** + //******************************************** + /** + * Titre de l'application
+ * Affiché dans les fenêtre de l'application. + */ public static String Titre = "analyseWriter"; - public static String PathFilenameAnalysis=""; //Chemin vers le fichier d'analyse - public static boolean fichierAnalyseValide = false; //mise à jour de la valeur dans MEPTL.verificationFichierAnalyse + /** + * Chemin absolue vers le fichier d'analyse
+ * Le chemain contient le nom du fichier. + */ + public static String PathFilenameAnalysis=""; + /** + * Flag de mise à jour de la valeur pour la méthode
+ * MEPTL.verificationFichierAnalyse. + */ + public static boolean fichierAnalyseValide = false; public static int analyse_Nbre_Fichier_Student = 0; public static int analyse_index_Fichier_Student = 0; public static StringBuilder message = new StringBuilder(); diff --git a/src/action/actSaveEvaluation.java b/src/action/actSaveEvaluation.java index 2ef61e0..d9b4eae 100644 --- a/src/action/actSaveEvaluation.java +++ b/src/action/actSaveEvaluation.java @@ -11,10 +11,10 @@ import javax.swing.KeyStroke; import MEPTL.commandes; import baseEvaluations.creerNouvelleEvaluation; -import baseEvaluations.ecritureBaseEvaluation; import baseEvaluations.recupeNodeBaseEvaluations; import cXML.node; + public class actSaveEvaluation extends AbstractAction{ /** @@ -33,41 +33,21 @@ public class actSaveEvaluation extends AbstractAction{ if(!commandes.sujet.isVide()) { if(commandes.IndexEvaluationCharger!=-1) { + new creerNouvelleEvaluation(commandes.evaluationChargeEnMemoire); new recupeNodeBaseEvaluations(); - node evaluation = commandes.evaluationsBase.getNodes().get(commandes.IndexEvaluationCharger); - - if(evaluation.getAttributs().get("name").equals(commandes.NameEvaluationCharger)) { - commandes.evaluationsBase.getNodes().add(commandes.IndexEvaluationCharger, new creerNouvelleEvaluation(evaluation, commandes.NameEvaluationCharger, false).getEvaluation()); - new ecritureBaseEvaluation(); - JOptionPane.showMessageDialog(null,"L'évaluation encours " + commandes.NameEvaluationCharger + " a été mise à jour\ndans la base des évaluations."); - }else { - JOptionPane.showMessageDialog(null,"L'évaluation encours n'a été enregistrée\ndans la base des évaluations.\n" - + "Il y a un problème avec l'index de cette évaluation dans la base."); - } - }else { - new recupeNodeBaseEvaluations(); String name = "Nouvelle évaluation"; - name = JOptionPane.showInputDialog(null,"Donner un nom à cette évaluation ?",name); - if(!name.isBlank()) { - new creerNouvelleEvaluation(name,true); - new ecritureBaseEvaluation(); - + new creerNouvelleEvaluation(new node(), name, false); commandes.IndexEvaluationCharger=0; commandes.NameEvaluationCharger=name; - + new recupeNodeBaseEvaluations(); JOptionPane.showMessageDialog(null,"L'évaluation encours " + name + " a été enregistrée\ndans la base des évaluations."); }else { - JOptionPane.showMessageDialog(null,"L'évaluation encours n'a été enregistrée\ndans la base des évaluations."); + JOptionPane.showMessageDialog(null,"L'évaluation encours n'a pas été enregistrée\ndans la base des évaluations."); } } } - - } - - - } diff --git a/src/baseEvaluations/chargeEvaluationSelected.java b/src/baseEvaluations/chargeEvaluationSelected.java index e2d990b..d9a43e4 100644 --- a/src/baseEvaluations/chargeEvaluationSelected.java +++ b/src/baseEvaluations/chargeEvaluationSelected.java @@ -60,8 +60,7 @@ public class chargeEvaluationSelected { + "

Sinon, une nouvelle base de données sera créé dans le dossier de l'application.

"); JOptionPane.showMessageDialog(frame, texte); } - } - + //* Charge le node sujet provisoirement commandes.evaluationChargeEnMemoire = evaluation; @@ -155,9 +154,12 @@ public class chargeEvaluationSelected { //** Remise à zéro de la base dans la mémoire de l'application commandes.evaluationsBase = null; + } + } + /** * Charge le fichier d'analyse de l'évaluation.
* @param file diff --git a/src/baseEvaluations/creerNouvelleEvaluation.java b/src/baseEvaluations/creerNouvelleEvaluation.java index eac9b99..686aa95 100644 --- a/src/baseEvaluations/creerNouvelleEvaluation.java +++ b/src/baseEvaluations/creerNouvelleEvaluation.java @@ -9,44 +9,44 @@ import cXML.node; public class creerNouvelleEvaluation { - node evaluation = new node(); - boolean addBase = false; - - public node getEvaluation() { - return evaluation; - } + boolean majBase = false; - public creerNouvelleEvaluation(String nameEval, boolean addBase) { - this.addBase=addBase; - evaluation = nouvelleEvaluation(evaluation, nameEval); - } - - + /** + * Mise à jour d'une évaluation + * @param evaluation + */ public creerNouvelleEvaluation(node evaluation) { - String name = "Nouvelle évaluation"; - evaluation = nouvelleEvaluation(evaluation, name); + this.majBase=true; + commandes.evaluationChargeEnMemoire = nouvelleEvaluation(evaluation, evaluation.getAttributs().get("name")); } - public creerNouvelleEvaluation(node evaluation, String name, boolean addBase) { - this.addBase = addBase; - evaluation = nouvelleEvaluation(evaluation, name); - commandes.evaluationChargeEnMemoire = evaluation; + public creerNouvelleEvaluation(node evaluation, String name, boolean majBase) { + this.majBase = majBase; + commandes.evaluationChargeEnMemoire = nouvelleEvaluation(evaluation, name); +// if(!majBase) commandes.evaluationChargeEnMemoire = evaluation; } private node nouvelleEvaluation(node evaluation, String nameEvaluation) { + // création du nouveau node evaluation evaluation.setNomElt("evaluation"); - if(addBase) { - Date aujourdhui = new Date(); + + // La date est modifiée à la création de l'évaluation.. + Date aujourdhui = new Date(); try { - evaluation.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui)); + if(!majBase) { + evaluation.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui)); + }else { + evaluation.getAttributs().put("dateModification", calcul.formatDateWriter.DateLibreOffice(aujourdhui)); + } } catch (ParseException e) { e.printStackTrace(); } - } + + // informations de l'évaluation evaluation.getAttributs().put("version", commandes.version); evaluation.getAttributs().put("name", nameEvaluation); evaluation.getAttributs().put("PathFilenameAnalysis", commandes.PathFilenameAnalysis); @@ -111,16 +111,16 @@ public class creerNouvelleEvaluation { } } - if(addBase) { + //Création d'une évaluation + if(!majBase) { if(commandes.evaluationsBase!=null) { commandes.evaluationsBase.getNodes().add(0, evaluation); commandes.IndexEvaluationCharger=0; } - }else { - commandes.evaluationsBase.getNodes().remove(commandes.IndexEvaluationCharger); - commandes.evaluationsBase.getNodes().add(commandes.IndexEvaluationCharger, evaluation); } - + + + new ecritureBaseEvaluation(evaluation); return evaluation; } diff --git a/src/baseEvaluations/ecritureBaseEvaluation.java b/src/baseEvaluations/ecritureBaseEvaluation.java index 8fb488d..2f92b59 100644 --- a/src/baseEvaluations/ecritureBaseEvaluation.java +++ b/src/baseEvaluations/ecritureBaseEvaluation.java @@ -1,20 +1,25 @@ package baseEvaluations; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.regex.Matcher; import java.util.regex.Pattern; import MEPTL.commandes; import cXML.Run; +import cXML.node; public class ecritureBaseEvaluation { - public ecritureBaseEvaluation() { + public ecritureBaseEvaluation(node evaluation) { String directoryName = ""; @@ -45,15 +50,35 @@ public class ecritureBaseEvaluation { } String baseToString = targetString.toString().replace("\t","").replace("\r", "").replace("\n", "").replaceAll(">/{1,}<","><"); - Pattern p = Pattern.compile("<\\bevaluation\\b.*?name=\""+commandes.NameEvaluationCharger+".*?\\bevaluation\\b>"); + Pattern p = Pattern.compile("<\\bevaluation\\b.{1,500}\\bdate\\b=\\\""+ evaluation.getAttributs().get("date") +"\\\".*?<\\/\\bevaluation\\b>"); Matcher m = p.matcher(baseToString.trim()); + String debut; + String fin; + String XMLBase=""; + if(m.find()) { - baseToString=baseToString.substring(0,m.start())+ baseToString.substring(m.start(),baseToString.length()); + System.out.println("match start ="+ m.start()); + System.out.println("match end ="+ m.end()); + //Supprime le node évluation pour le remplacer + debut = baseToString.substring(0,m.start()); + fin = baseToString.substring(m.end()); + String codeXMLEvaluation = Run.ecritureNode(evaluation, 0).toString().replace("\t","").replace("\r", "").replace("\n", "").replaceAll(">/{1,}<","><"); + XMLBase = debut + codeXMLEvaluation + fin; } - // écriture du node - baseToString = Run.ecritureNode(commandes.evaluationChargeEnMemoire, 0).toString().replace("\t","").replace("\r", "").replace("\n", "").replaceAll(">/{1,}<","><") + baseToString; + try { + + // écriture du node + Path outputFilePath = Paths.get("C:/Users/pabr6/Downloads/test.xml"); + BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8); + fichier.write(XMLBase); + fichier.close(); + + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } }catch (Exception e) { diff --git a/src/baseEvaluations/evaluationExist.java b/src/baseEvaluations/evaluationExist.java index b8a7375..de9a86c 100644 --- a/src/baseEvaluations/evaluationExist.java +++ b/src/baseEvaluations/evaluationExist.java @@ -2,14 +2,17 @@ package baseEvaluations; import MEPTL.commandes; +/** + * Classe permettant de savoir si une évaluation est déjà présente dans la base. + * @author pabr6 + * + */ public class evaluationExist { - public static Boolean isEvaluationExist(String nameEvaluation, String date) { - if(commandes.evaluationsBase.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "name", nameEvaluation)!=null) { - if(commandes.evaluationsBase.getAttributs().get("date").equals(date)) { - return true; - } + public static Boolean isEvaluationExist(String date) { + if(commandes.evaluationsBase.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "date", date)!=null) { + return true; } return false; } diff --git a/src/baseEvaluations/recupeNodeBaseEvaluations.java b/src/baseEvaluations/recupeNodeBaseEvaluations.java index 9e5a96f..8dcbc64 100644 --- a/src/baseEvaluations/recupeNodeBaseEvaluations.java +++ b/src/baseEvaluations/recupeNodeBaseEvaluations.java @@ -69,5 +69,52 @@ public class recupeNodeBaseEvaluations { } } + public recupeNodeBaseEvaluations(String directoryName, String NameNewBase) { + + File file = null; + + if(commandes.os.contains("Win")) { + file = new File(directoryName + "\\" + NameNewBase); + }else { + file = new File(directoryName + "/" + NameNewBase); + } + + + if(file!=null) { + BufferedReader br; + try { + br = new BufferedReader( + new InputStreamReader( + new FileInputStream(file.getAbsoluteFile()), "UTF-8")); + String line; + StringBuilder targetString = new StringBuilder(); + while ((line = br.readLine()) != null) { + targetString.append(line); + } + + node evaluations = new node(); + evaluations = evaluations.allFirstNodesEvaluationFichierOnly(targetString.toString().replace("\t","").replace("\r", "").replace("\n", "")); + + if(evaluations!=null) { + if(evaluations.getNodes().size()>0) { + if(evaluations.getNomElt().equals("evaluations")) { + commandes.evaluationsBase = evaluations; + commandes.PathBaseEvaluations = (directoryName); + commandes.NameBaseEvaluations = NameNewBase; + commandes.PathBaseEvaluationDefaut = false; + } + } + } + + }catch (Exception e) { + JFrame frame = new JFrame(); + JLabel texte = new JLabel("

La base de données ne se trouve pas dans le même dossier que celui de l'application.


" + +"

Vous pouvez charger la base de données depuis la fenêtre \"base de données d'évaluation\" de l'application.

" + + "

Sinon, une nouvelle base de données sera créé dans le dossier de l'application.

"); + JOptionPane.showMessageDialog(frame, texte); + } + } + } + } diff --git a/src/fenetres/ChargePathBaseEvaluation.java b/src/fenetres/ChargePathBaseEvaluation.java index 08d3048..cf28702 100644 --- a/src/fenetres/ChargePathBaseEvaluation.java +++ b/src/fenetres/ChargePathBaseEvaluation.java @@ -4,24 +4,14 @@ import java.awt.Component; import java.awt.Dimension; import java.awt.HeadlessException; import java.awt.Image; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; -import java.util.ArrayList; - import javax.swing.ImageIcon; import javax.swing.JDialog; import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; import javax.swing.filechooser.FileNameExtensionFilter; - import MEPTL.commandes; -import cXML.node; +import baseEvaluations.recupeNodeBaseEvaluations; + public class ChargePathBaseEvaluation extends JFileChooser { @@ -81,49 +71,11 @@ public class ChargePathBaseEvaluation extends JFileChooser { commandes.path = file.getPath().substring(0,file.getPath().lastIndexOf("/")); // Sur mac & Linux } - String PathFilenameAnalysis = getCurrentDirectory().getPath(); - String nameSujet = file.getName().toString(); + String directoryName = getCurrentDirectory().getPath(); + String nameNewBase = file.getName().toString(); - BufferedReader br; - try { - br = new BufferedReader( - new InputStreamReader( - new FileInputStream(file.getAbsoluteFile()), "UTF-8")); - String line; - StringBuilder targetString = new StringBuilder(); - while ((line = br.readLine()) != null) { - targetString.append(line); - } - - node nodeEvaluation = new node(targetString.toString().replace("\t","").replace("\r", "").replace("\n", "")); - - if(nodeEvaluation.getNomElt().equals("evaluations")) { - - if(!avecFusion) { - commandes.NameBaseEvaluations=nameSujet; - commandes.PathBaseEvaluations=PathFilenameAnalysis; - commandes.evaluationsBase = nodeEvaluation; - commandes.PathBaseEvaluationDefaut=false; - }else { - ArrayList A = nodeEvaluation.retourneEnfantsByName("evaluation", new ArrayList()); - for(int i = 0 ; i < A.size();i++) { - commandes.evaluationsBase.getNodes().add(A.get(i)); - } - } - - }else { - JFrame frame = new JFrame(); - JLabel texte = new JLabel("

Ce n'est pas une base de données des évaluations.

"); - JOptionPane.showMessageDialog(frame, texte); - } - - - } catch (UnsupportedEncodingException e1) { - e1.printStackTrace(); - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } catch (Exception e) { - } + + new recupeNodeBaseEvaluations(directoryName,nameNewBase); } diff --git a/src/fenetres/baseDonneesEvaluations.java b/src/fenetres/baseDonneesEvaluations.java index 98d6230..3f48d44 100644 --- a/src/fenetres/baseDonneesEvaluations.java +++ b/src/fenetres/baseDonneesEvaluations.java @@ -34,7 +34,6 @@ import MEPTL.commandes; import action.actOpenBaseEvaluation; import baseEvaluations.chargeEvaluationSelected; import baseEvaluations.creerNouvelleEvaluation; -import baseEvaluations.ecritureBaseEvaluation; import baseEvaluations.evaluationExist; import baseEvaluations.myTableBaseEvaluation; import baseEvaluations.recupeNodeBaseEvaluations; @@ -243,7 +242,11 @@ public static baseDonneesEvaluations getInstance() { selectRow(commandes.IndexEvaluationCharger); } isDispose=false; - lblCheminVersBase.setText(commandes.PathBaseEvaluations); + if(commandes.PathBaseEvaluationDefaut) { + lblCheminVersBase.setText(commandes.PathBaseEvaluations); + }else { + lblCheminVersBase.setText(commandes.PathBaseEvaluations+"/"+commandes.NameBaseEvaluations); + } return instance; } @@ -360,7 +363,6 @@ private void ListenerAction() { if(name!=null) { if(!name.isBlank()) { new creerNouvelleEvaluation(new node(),name,true); - new ecritureBaseEvaluation(); new recupeNodeBaseEvaluations(); model.addOrUpdate(); table.setModel(model); @@ -382,7 +384,6 @@ private void ListenerAction() { public void actionPerformed(ActionEvent e) { new ChargePathBaseEvaluation(true); new trierParDateDecroissanteLaBase(); - new ecritureBaseEvaluation(); model.addOrUpdate(); table.setModel(model); selectRow(commandes.IndexEvaluationCharger); @@ -409,7 +410,11 @@ private void ListenerAction() { public void actionPerformed(ActionEvent e) { new ChargePathBaseEvaluation(false); new actOpenBaseEvaluation(); - lblCheminVersBase.setText(commandes.PathBaseEvaluations); + if(commandes.PathBaseEvaluationDefaut) { + lblCheminVersBase.setText(commandes.PathBaseEvaluations); + }else { + lblCheminVersBase.setText(commandes.PathBaseEvaluations+"/"+commandes.NameBaseEvaluations); + } model.addOrUpdate(); table = new JTable(model); } @@ -469,29 +474,25 @@ private void ListenerAction() { btnSaveEvaluation.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(commandes.fichierAnalyseValide) { - String name ="Nom de l'évaluation"; - if(lsm!=null) { if (!lsm.isSelectionEmpty()) { indexSelect = lsm.getMinSelectionIndex(); name = model.getNameEvaluation(indexSelect); } } - - name = JOptionPane.showInputDialog(null,"Donner un nom à cette évaluation ?",name); - + name = JOptionPane.showInputDialog(null,"Donner un nom ou renommer l'évaluation.",name); if(name!=null) { if(!name.isBlank()) { - if(evaluationExist.isEvaluationExist(name ,commandes.evaluationChargeEnMemoire.getAttributs().get("date"))) { - new creerNouvelleEvaluation(commandes.evaluationsBase.retourneFirstNodeByNameAndAttributValueExactStrict("evaluation", "name", name), name,true); + if(evaluationExist.isEvaluationExist(commandes.evaluationChargeEnMemoire.getAttributs().get("date"))) { + //L'évaluation existe déjà + new creerNouvelleEvaluation(commandes.evaluationChargeEnMemoire, name,true); }else { - new creerNouvelleEvaluation(new node(), name, false).getEvaluation(); + // Nouvelle évaluation + new creerNouvelleEvaluation(new node(), name, false); } - - new ecritureBaseEvaluation(); new trierParDateDecroissanteLaBase(); new recupeNodeBaseEvaluations(); @@ -531,7 +532,6 @@ private void ListenerAction() { if(commandes.IndexEvaluationCharger>indexSelect) commandes.IndexEvaluationCharger--; } - new ecritureBaseEvaluation(); new recupeNodeBaseEvaluations(); model.addOrUpdate(); table.setModel(model); @@ -573,7 +573,6 @@ private void ListenerAction() { evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("analysis_filename", nomFichierAnalyse); evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("filenameAnalyse", nomFichierAnalyse); evaluation.getAttributs().put("analysis_filename", nomFichierAnalyse); - new ecritureBaseEvaluation(); new recupeNodeBaseEvaluations(); model.addOrUpdate(); table.setModel(model); @@ -601,7 +600,6 @@ private void ListenerAction() { if(!nomEvaluation.isBlank()) { evaluation.getAttributs().put("name",nomEvaluation); - new ecritureBaseEvaluation(); new recupeNodeBaseEvaluations(); model.addOrUpdate(); table.setModel(model); diff --git a/src/fenetres/evaluate.java b/src/fenetres/evaluate.java index 62bbe32..06a9ff4 100644 --- a/src/fenetres/evaluate.java +++ b/src/fenetres/evaluate.java @@ -547,6 +547,10 @@ public class evaluate extends JFrame { private void createToolBar() { toolBar = new JToolBar(); btnChargeEvaluation = toolBar.add( new actOpenBaseEvaluation()); + btnChargeEvaluation.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); btnChargeEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/chargehistoriqueevaluation.png"))); btnChargeEvaluation.setHideActionText(true); toolBar.add(btnChargeEvaluation);