MAJ V4.3.2 robustesse de la recherche des nodes text:p, text:h,

text:span et text:list
This commit is contained in:
pablo rodriguez 2022-12-07 20:44:00 +01:00
parent 8487f44134
commit 6052aef4dd
82 changed files with 274 additions and 171 deletions

View File

@ -2,11 +2,8 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resources"/>
<classpathentry kind="src" path="icons">
<attributes>
<attribute name="ignore_optional_problems" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="icons"/>
<classpathentry kind="src" path="documentation"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
@ -16,6 +13,6 @@
<classpathentry kind="lib" path="C:/Users/pabr6/git/analyseWriter/MEPTL/miglayout15-swing.jar"/>
<classpathentry kind="lib" path="jgoodies-forms-1.8.0.jar" sourcepath="jgoodies-forms-1.8.0-sources.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/Exportation documentation analyseWriter/plugins/documentation.analyseWriter_1.0.0.202212032022.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar" sourcepath="/cXML"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

Binary file not shown.

Binary file not shown.

4
bin/.gitignore vendored
View File

@ -1,4 +1,4 @@
/resources/
/fenetres/
/list/
/MEPTL/
/evaluer/
/fenetres/

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.

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.

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -34,6 +34,17 @@ public class rechercherUnNodeStudent {
node nodStudent =null;
//************************************************************************************************
//** Recherche le node par le contenu exact du node en intégrant les contenus des nodes enfants **
//** Le contenu exact supprime dans le texte les espaces au début et à la fin et ignore la case **
//************************************************************************************************
if(nodSujet.getAttributs().get("recherche_contenu_exact")!=null){
nodStudent = findNodeParContenuEXACT(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
if(nodStudent!=null) return nodStudent;
}
//************************************************************************************************
//** Recherche le node par le contenu ayant la distance Levenshtein la plus proche de 1 **
//************************************************************************************************
@ -50,46 +61,32 @@ public class rechercherUnNodeStudent {
}
//************************************************************************************************
//** Recherche le node par le contenu exact du node en intégrant les contenus des nodes enfants **
//** Le contenu exact supprime dans le texte les espaces au début et à la fin et ignore la case **
//************************************************************************************************
if(nodSujet.getAttributs().get("recherche_contenu_exact")!=null){
nodStudent = findNodeParContenuEXACT(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
if(nodStudent!=null) return nodStudent;
}
//*************************************************************************
//** Recherche les nodes text:p, text:h, text:span par le contenu textue **
//*************************************************************************
if(nodSujet.getNomElt().contains("text:")) {
nodStudent = findNodeByContenuTextuel(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
// System.out.println("*1-"+nodSujet.retourneLesContenusEnfants(""));
// if(nodStudent!=null) {
// System.out.println("*2-"+nodStudent.retourneLesContenusEnfants(""));
// }else {
// System.out.println("*2-null");
// }
if(nodStudent!=null) return nodStudent;
}
//***********************************
//** Recherche le node par l'index **
//***********************************
if(nodSujet.getAttributs().get("recherche_index")!=null){
nodStudent = findNodeParIndex(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
// System.out.println("Index sujet="+nodSujet.getAttributs().get("index"));
// if(nodStudent!=null) {
// System.out.println("Index student="+nodStudent.getAttributs().get("index"));
// System.out.println("taille child student="+nodStudent.getNodes().size());
// }else {
// System.out.println("Index student=null");
// }
if(nodSujet.getAttributs().get("recherche_index").equals("true")) return nodStudent;
if(nodSujet.getAttributs().get("recherche_index").equals("true")) {
nodStudent = findNodeParIndex(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
return nodStudent;
}
}
//**************************************************************************
//** Recherche les nodes text:p, text:h, text:span par le contenu textuel **
//**************************************************************************
if(nodSujet.getNomElt().contains("text:")) {
nodStudent = findNodeByContenuTextuel(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
if(nodStudent!=null) return nodStudent;
}
//*****************************************************************
//** Recherche le node text:p par les différents contenu du node **
//*****************************************************************
@ -239,16 +236,70 @@ public class rechercherUnNodeStudent {
*/
private static node findNodeByContenuTextuel(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
node nodStudent = null;
if(nodSujet.retourneLesContenusEnfants("").length()<1) return null;
Pattern p = Pattern.compile("^text:p|^text:h|text:span");
Matcher m = p.matcher(nodSujet.getNomElt());
if(m.find()) {
if(!nodSujet.retourneLesContenusEnfants("").isEmpty()) {
String valueAttribut = evaluation.withoutCodeAndPointPourRechercheContenuExact(nodSujet.retourneLesContenusEnfants(""));
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNameNodeByFindContentExactly(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
}
}
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode contenu rigoureusement exact");
if(nodSujet.getAttributs().get("recherche_contenu_exact")!=null) {
if(nodSujet.getAttributs().get("recherche_contenu_exact").equals("true")) {
if(!nodSujet.retourneLesContenusEnfants("").isEmpty()) {
String valueAttribut = evaluation.withoutCodeAndPointPourRechercheContenuExact(nodSujet.retourneLesContenusEnfants(""));
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt());
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
}
}
}
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode contenu exact sans casse et trim()");
nodStudent = findNodeParContenuPlusProcheVoisinSim(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a, 0.95);
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode plus proche voisin avec distance de 0.95");
nodStudent = findNodeParContenuPlusProcheVoisinSim(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a, 0.9);
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode plus proche voisin avec distance de 0.9");
nodStudent = findNodeParContenuPlusProcheVoisinSim(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a, 0.85);
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode plus proche voisin avec distance de 0.85");
nodStudent = findNodeParContenuPlusProcheVoisinSim(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a, 0.8);
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode plus proche voisin avec distance de 0.8");
nodStudent = findNodeParContenuPlusProcheVoisinSim(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a, 0.75);
if(nodStudent!=null) return nodStudent;
System.out.println("n'a pas trouvé par la méthode plus proche voisin avec distance de 0.75");
nodStudent = findNodeParContenuPlusProcheVoisinSim(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a, 0.7);
return nodStudent;
}
/**
* Recherche par le contenu par le plus proche voisin. Englobe les contenus des nodes enfants.</br>
* La distance maximale est de 0.8.</br>
* @param nameNode
* @param nodSujet
* @param nod0Student
* @param nod1Student
* @param nod2Student
* @param a
* @return
*/
private static node findNodeParContenuPlusProcheVoisinSim(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a , double sim) {
node nodStudent = null;
if(!nodSujet.retourneLesContenusEnfants("").isEmpty()) {
String valueAttribut = evaluation.withoutCodeAndPointPourRechercheContenuExact(nodSujet.retourneLesContenusEnfants(""));
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt(),sim,null);
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt(),sim,null);
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneLeNodeByContentPlusProche(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt(),sim,null);
}
return nodStudent;
}

View File

@ -41,8 +41,6 @@ public class analyseLesNodesEnfants {
}
//*****************************
//** Ajoute un saut de ligne **
//*****************************

View File

@ -308,6 +308,12 @@ public class analyseLesNodesPrincipaux {
node nodSujet = sujet.get(i);
String namenode = nodSujet.getNomElt();
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujet.getAttributs().get("evaluer")==null) continue;
if(!nodSujet.getAttributs().get("evaluer").equals("true")) continue;
//*****************************
//** Ajoute un saut de ligne **
//*****************************
@ -393,6 +399,13 @@ public class analyseLesNodesPrincipaux {
//** Parcours les nodes enfants du node <text:section> **
//*******************************************************
for(int i = 0 ; i < nodSujetSections.getNodes().size(); i++) {
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetSections.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetSections.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetSections.getNodes().get(i).getNomElt().equals("text:section")) {
node sectionSujet = nodSujetSections.getNodes().get(i);
int pointDebut = evaluation.getPointsClass();
@ -480,6 +493,13 @@ public class analyseLesNodesPrincipaux {
//** Parcours les nodes enfants du node <text:sequence-decl> **
//*************************************************************
for(int i = 0 ; i < nodSujetSequence.getNodes().size(); i++) {
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetSequence.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetSequence.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetSequence.getNodes().get(i).getNomElt().equals("text:sequence-decl")) {
node seqSujet = nodSujetSequence.getNodes().get(i);
int pointDebut = evaluation.getPointsClass();
@ -563,6 +583,13 @@ public class analyseLesNodesPrincipaux {
//** Parcours les nodes enfants du node <table:table> **
//******************************************************
for(int i = 0 ; i < nodSujetTableaux.getNodes().size(); i++) {
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetTableaux.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetTableaux.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetTableaux.getNodes().get(i).getNomElt().equals("table:table")) {
int pointDebut = evaluation.getPointsClass();
int pointTotalDebut = evaluation.getPointTotal();
@ -598,67 +625,6 @@ public class analyseLesNodesPrincipaux {
//************************************
tableau = analyseLesNodesEnfants.nodeNext(tableau, "ana:tableau", tableauStudent, null, null, tableSujet, null, null,nodmenu, a);
// // les enfants du premier niveau du node
// for(int j = 0 ; j < tableSujet.getNodes().size();j++ ) { //niveau 2
//
// node nodSujet = tableSujet.getNodes().get(j);
// String nameNode = nodSujet.getNomElt();
// node nodStudent = null;
//
// if(tableauStudent!=null) nodStudent = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode,nodSujet,null,null,tableauStudent,a);
//
// //insère un saut si titre pas vide et saut=true
// tableau=addNodeSautTitre(nodSujet, tableau);
//
//
// // analyse attribut et contenu des enfants du premier niveau
// tableau = analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, tableau, "ana:tableau",nameNode);
//
//
// for(int k = 0 ; k < nodSujet.getNodes().size();k++) { //niveau 3
// node nod2Sujet = nodSujet.getNodes().get(k);
// String nameNode2 = nod2Sujet.getNomElt();
// node nod2Student = null;
//
// if(tableauStudent!=null) nod2Student = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode2,nod2Sujet,null,tableauStudent,nodStudent,a);
//
// //insère un saut si titre pas vide et saut=true
// tableau=addNodeSautTitre(nod2Sujet, tableau);
//
// // analyse attribut et contenu des enfants du second niveau
// tableau = analyseLesAttributEtContenuDuNode(nod2Student, nod2Sujet, tableau, "ana:tableau",nameNode2 );
//
//
// for(int l = 0 ; l < nod2Sujet.getNodes().size();l++) { //niveau 4
// node nod3Sujet = nod2Sujet.getNodes().get(l);
// String nameNode3 = nod3Sujet.getNomElt();
// node nod3Student = null;
//
// if(tableauStudent!=null) nod3Student = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode3,nod3Sujet,tableauStudent,nodStudent,nod2Student,a);
//
// //insère un saut si titre pas vide et saut=true
// tableau=addNodeSautTitre(nod3Sujet, tableau);
//
// // analyse attribut et contenu des enfants du second niveau
// tableau = analyseLesAttributEtContenuDuNode(nod3Student, nod3Sujet, tableau, "ana:tableau", nameNode3);
//
//
// for(int m = 0 ; m < nod3Sujet.getNodes().size();m++) { //niveau 5
// node nod4Sujet = nod3Sujet.getNodes().get(m);
// String nameNode4 = nod4Sujet.getNomElt();
// node nod4Student = null;
//
// if(tableauStudent!=null) nod4Student = rechercherUnNodeStudent.rechercheLeNodeEnCascade(nameNode4,nod4Sujet,nodStudent,nod2Student,nod3Student,a);
//
// //insère un saut si titre pas vide et saut=true
// tableau=addNodeSautTitre(nod4Sujet, tableau);
//
// // analyse attribut et contenu des enfants du second niveau
// tableau = analyseLesAttributEtContenuDuNode(nod4Student, nod4Sujet, tableau, "ana:tableau", nameNode4);
// }
// }
// }
// }
//****************************************************************
//** Insère les attributs des points dans les node de l'analyse **
//****************************************************************
@ -707,7 +673,11 @@ public class analyseLesNodesPrincipaux {
for(int i = 0 ; i < nodSujetTableI.getNodes().size(); i++) {
//text:illustration-index-sourceIllustrations
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetTableI.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetTableI.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetTableI.getNodes().get(i).getNomElt().equals("text:illustration-index")) {
int pointDebut = evaluation.getPointsClass();
@ -847,6 +817,14 @@ public class analyseLesNodesPrincipaux {
for(int i = 0 ; i < nodSujetTableM.getNodes().size(); i++) {
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetTableM.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetTableM.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetTableM.getNodes().get(i).getNomElt().equals("text:table-of-content")) {
node table = new node();
table.setNomElt("tablematiere");
@ -911,15 +889,8 @@ public class analyseLesNodesPrincipaux {
table.getAttributs().put("point", String.valueOf(evaluation.getPointsClass()-pointDebut));
table.getAttributs().put("pointTotal", String.valueOf(evaluation.getPointTotal()-pointTotalDebut));
nodTablesMs.getNodes().add(table);
}
}
//*****************************************************************
//** Insère les attributs des points dans les nodes de l'analyse **
@ -962,6 +933,12 @@ public class analyseLesNodesPrincipaux {
//****************************************
for(int i = 0 ; i < nodSujetPage.getNodes().size(); i++) {
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetPage.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetPage.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetPage.getNodes().get(i).getNomElt().equals("style:master-page")) {
node pageSujet = nodSujetPage.getNodes().get(i);
int pointDebut = evaluation.getPointsClass();
@ -1143,6 +1120,13 @@ public class analyseLesNodesPrincipaux {
//** Parcours les nodes enfants du node <structurepage> **
//********************************************************
for(int i = 0 ; i < nodSujetS.getNodes().size(); i++) {
//************************************
//** Analyser que les nodes évaluer **
//************************************
if(nodSujetS.getNodes().get(i).getAttributs().get("evaluer")==null) continue;
if(!nodSujetS.getNodes().get(i).getAttributs().get("evaluer").equals("true")) continue;
if(nodSujetS.getNodes().get(i).getNomElt().equals("page")) {
node pageSujet = nodSujetS.getNodes().get(i);
int pointDebut = evaluation.getPointsClass();

View File

@ -110,6 +110,10 @@ public class afficheText extends JEditorPane {
if(nod.getAttributs().size()==1) sb.append("<br><h4><u>PAS D'ATTRIBUT DANS CE NODE</u></h4>");
}
if(nod.getNomElt().equals("OU")) {
sb.append("<li class=\"p4\">"+ imageOU + " <b> Méthode OU </b></li>");
}
Enumeration<String> key = nod.getAttributs().keys();
List<String> Lesattributsdunode = new ArrayList<String>();
while(key.hasMoreElements()) {
@ -201,11 +205,6 @@ public class afficheText extends JEditorPane {
if(Lesattributsdunode.get(i).equals("evalPiedPageActive") && !nod.getAttributs().get(Lesattributsdunode.get(i)).equals("0")) {
sb.append("<li class=\"p4\">"+imagePiedPageActive + " <b>" + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"</b></li>");
}
if(Lesattributsdunode.get(i).equals("pointOuMax")) {
sb.append("<li class=\"p4\">"+imageOU+ " <b>" + Lesattributsdunode.get(i) + " = \"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"</b></li>");
}
// sb.append("<li class=\"p4\"><b>" + Lesattributsdunode.get(i) + "=\"" + nod.getAttributs().get(Lesattributsdunode.get(i))+"\"</b></li>");
}

View File

@ -1,5 +1,8 @@
package fenetres.create_act;
import java.awt.Component;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
@ -8,6 +11,7 @@ import java.io.IOException;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.KeyStroke;
import javax.swing.filechooser.FileNameExtensionFilter;
@ -38,7 +42,18 @@ public class actNewFichierAnalyse extends AbstractAction{
}
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
JFileChooser chooser = new JFileChooser(){
private static final long serialVersionUID = 1L;
@Override
protected JDialog createDialog( Component parent ) throws HeadlessException {
JDialog dialog = super.createDialog( parent );
Image img = new ImageIcon(getClass().getResource("/evalwriter.png") ).getImage();
dialog.setIconImage(img);
return dialog;
}
};
chooser.setDialogTitle("Choisir un fichier ODF");
chooser.setCurrentDirectory(new java.io.File(commandes.path));
@ -64,11 +79,11 @@ public class actNewFichierAnalyse extends AbstractAction{
//Supprime l'historique des modifications
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:deletion");
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-start");
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-end");
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change");
// commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:deletion");
// commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-start");
// commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-end");
// commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
// commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change");
commandes.sujet = meptl.LectureFichierEtudiantSousFormeDeNode(commandes.sujet,b,0);

View File

@ -31,7 +31,6 @@ public class actOu extends AbstractAction{
nodeOu.setNomElt("OU");
nodeOu.setLevel(nod.getLevel()+1);
nodeOu.setParent(nod);
nodeOu.getAttributs().put("pointOuMax","1");
nodeOu.getAttributs().put("evaluer","true");
nodeOu.setClose(true);
nod.getNodes().add(nodeOu);

View File

@ -1,10 +1,14 @@
package fenetres;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.IOException;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
@ -13,29 +17,28 @@ import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import MEPTL.commandes;
import MEPTL.meptl;
import cXML.Run;
import cXML.node;
import fenetres.create_act.actAbout;
import javax.swing.SwingConstants;
import javax.swing.JScrollPane;
import net.miginfocom.swing.MigLayout;
import java.awt.event.InputEvent;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JOptionPane;
import java.awt.Color;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import java.awt.event.ActionListener;
public class evaluate extends JFrame {
@ -938,7 +941,10 @@ public class evaluate extends JFrame {
@Override public void actionPerformed( ActionEvent e ) {
};
};
/**

View File

@ -1,6 +1,9 @@
package fenetres;
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;
@ -8,6 +11,8 @@ import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
@ -26,6 +31,7 @@ public class filechooserXML extends JFileChooser {
public filechooserXML() {
setDialogTitle("Choisir un fichier d'analyse");
FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichier d'analyse .XML", "xml");
@ -54,6 +60,13 @@ public class filechooserXML extends JFileChooser {
}
}
@Override
protected JDialog createDialog( Component parent ) throws HeadlessException {
JDialog dialog = super.createDialog( parent );
Image img = new ImageIcon(getClass().getResource("/evalwriter.png") ).getImage();
dialog.setIconImage(img);
return dialog;
}
/**

View File

@ -21,7 +21,6 @@ import javax.swing.DefaultComboBoxModel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import net.miginfocom.swing.MigLayout;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JTextArea;
@ -64,6 +63,9 @@ public final class proprieteFichierAnalyse extends JFrame {
private JButton btnAideControleDateCreation;
private JButton btnAideInitial_Creator;
private JButton btnAidecontrole_Initial_Creator;
private JButton btnAidecontrole_URLAide;
private JButton btnAidecontrole_URLSujet;
private JButton btnAidecontrole_Commentaire;
private JButton btnVoirBaremeABC;
private JButton btnVoirBaremeNumeric;
private static proprieteFichierAnalyse instance;
@ -75,10 +77,14 @@ public final class proprieteFichierAnalyse extends JFrame {
* Create the frame.
*/
public proprieteFichierAnalyse() {
setIconImage(Toolkit.getDefaultToolkit().getImage(proprieteFichierAnalyse.class.getResource("/resources/evalwriter.ico")));
setBounds(0, 0, 630, 700);
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
setTitle("Propriétés du fichier d'analyse - " + commandes.version + " " + commandes.branch);
setIconImage(img.getImage());
setBounds(0, 0, 630, 715);
setResizable(false);
setTitle("Propriété du fichier d'analyse");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
@ -135,6 +141,7 @@ public final class proprieteFichierAnalyse extends JFrame {
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_2, "cell 0 2,alignx left,aligny center");
// Meta
textFieldMetaSujet = new JTextField();
textFieldMetaSujet.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(textFieldMetaSujet, "cell 1 2,grow");
@ -142,7 +149,6 @@ public final class proprieteFichierAnalyse extends JFrame {
if(commandes.sujet.getAttributs().get("metaSujet")!=null){
textFieldMetaSujet.setText(commandes.sujet.getAttributs().get("metaSujet"));
}
btnAideMetaSujet = new JButton("");
btnAideMetaSujet.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@ -155,6 +161,7 @@ public final class proprieteFichierAnalyse extends JFrame {
btnAideMetaSujet.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png")));
contentPane.add(btnAideMetaSujet, "cell 2 2");
JLabel lblNewLabel_3 = new JLabel("<HTML><p>Propriété personnalisé Sujet obligatoire<br>dans les fichiers des étudiants.</p></HTML>" );
lblNewLabel_3.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_3, "cell 0 3,alignx left,aligny center");
@ -375,6 +382,21 @@ public final class proprieteFichierAnalyse extends JFrame {
lblNewLabel_11 = new JLabel("Lien URL de l'aide");
lblNewLabel_11.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_11, "cell 0 12,alignx left");
btnAidecontrole_URLAide = new JButton("");
btnAidecontrole_URLAide.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showInternalMessageDialog(null, "<html>Si vous indiquez une URL alors elle apparaîtra dans"
+ "le feedback des étudiants.<html>");
}
});
btnAidecontrole_URLAide.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png")));
contentPane.add(btnAidecontrole_URLAide, "cell 2 12");
// URL Aide
lblNewLabel_12 = new JLabel("Lien URL du sujet");
lblNewLabel_12.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_12, "cell 0 13,alignx left");
textFieldlink_help = new JTextField();
textFieldlink_help.setFont(new Font("Tahoma", Font.PLAIN, 12));
@ -384,16 +406,7 @@ public final class proprieteFichierAnalyse extends JFrame {
textFieldlink_help.setText(commandes.sujet.getAttributs().get("link_help"));
}
lblNewLabel_12 = new JLabel("Lien URL du sujet");
lblNewLabel_12.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_12, "cell 0 13,alignx left");
textFieldlink_sujet = new JTextField();
contentPane.add(textFieldlink_sujet, "cell 1 13,growx");
textFieldlink_sujet.setColumns(10);
if(commandes.sujet.getAttributs().get("link_sujet")!=null){
textFieldlink_sujet.setText(commandes.sujet.getAttributs().get("link_sujet"));
}
btnVoirBaremeABC = new JButton("");
btnVoirBaremeABC.addActionListener(new ActionListener() {
@ -406,6 +419,49 @@ public final class proprieteFichierAnalyse extends JFrame {
btnVoirBaremeABC.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/voirmini.png")));
contentPane.add(btnVoirBaremeABC, "cell 2 4");
// URL Sujet Ligne 13
textFieldlink_sujet = new JTextField();
contentPane.add(textFieldlink_sujet, "cell 1 13,growx");
textFieldlink_sujet.setColumns(10);
if(commandes.sujet.getAttributs().get("link_sujet")!=null){
textFieldlink_sujet.setText(commandes.sujet.getAttributs().get("link_sujet"));
}
btnAidecontrole_URLSujet = new JButton("");
btnAidecontrole_URLSujet.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showInternalMessageDialog(null, "<html>Si vous indiquez une URL alors elle apparaîtra dans"
+ "le feedback des étudiants.<html>");
}
});
btnAidecontrole_URLSujet.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png")));
contentPane.add(btnAidecontrole_URLSujet, "cell 2 13");
// Commentaire exercice Ligne 14
lblNewLabel_13 = new JLabel("Commentaire sur l'exercice");
lblNewLabel_13.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_13, "cell 0 14,alignx left");
textAreaCommentaire = new JTextArea();
textAreaCommentaire.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(textAreaCommentaire, "cell 1 14,grow");
if(!commandes.sujet.getContenu().isEmpty()) {
if(commandes.sujet.getContenu().get(0)!=null) {
String textCommentaire = commandes.sujet.getContenu().get(0).replace("-NewLine-", "\n");
textAreaCommentaire.setText(textCommentaire);
}
}
btnAidecontrole_Commentaire = new JButton("");
btnAidecontrole_Commentaire.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showInternalMessageDialog(null, "<html>Si vous tapez un commentaire, "
+ "il apparaîtra dans les feedbacks des étudiants.<html>");
}
});
btnAidecontrole_Commentaire.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/whatmini.png")));
contentPane.add(btnAidecontrole_Commentaire, "cell 2 14");
// Bouton de calcul de la base numérique
btnVoirBaremeNumeric = new JButton("");
btnVoirBaremeNumeric.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@ -418,21 +474,8 @@ public final class proprieteFichierAnalyse extends JFrame {
btnVoirBaremeNumeric.setIcon(new ImageIcon(proprieteFichierAnalyse.class.getResource("/resources/voirmini.png")));
contentPane.add(btnVoirBaremeNumeric, "cell 2 5");
lblNewLabel_13 = new JLabel("Commentaire sur l'exercice");
lblNewLabel_13.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(lblNewLabel_13, "cell 0 14,alignx left");
textAreaCommentaire = new JTextArea();
textAreaCommentaire.setFont(new Font("Tahoma", Font.PLAIN, 12));
contentPane.add(textAreaCommentaire, "cell 1 14,grow");
if(!commandes.sujet.getContenu().isEmpty()) {
if(commandes.sujet.getContenu().get(0)!=null) {
String textCommentaire = commandes.sujet.getContenu().get(0).replace("-NewLine-", "\n");
textAreaCommentaire.setText(textCommentaire);
}
}
// Bouton pour validation
JButton btnNewButton = new JButton("Valider");
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 14));
contentPane.add(btnNewButton, "cell 1 15,grow");

View File

@ -92,7 +92,7 @@ public final class setting extends JFrame {
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
setIconImage(img.getImage());
setTitle(commandes.Titre + commandes.version + " - Les paramètres pour l'évaluation");
setTitle(commandes.Titre +" "+ commandes.version +" "+commandes.branch+" - Les paramètres pour l'évaluation");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
@ -332,8 +332,7 @@ public final class setting extends JFrame {
textFieldNbrMiniModification.setText(nodTriche.getAttributs().get("mini_number_modification"));
panelPlagiarism.add(textFieldNbrMiniModification);
JLabel lblNewLabel_2 = new JLabel("<html>L'étudiants n'a pas réaliser assez de travaux.<br>"
+ "si valuer = -1 alors n'est pas pris en compte.</html>");
JLabel lblNewLabel_2 = new JLabel("<html>L'étudiants n'a pas réaliser assez de travaux.<br>si valeur = -1 alors n'est pas pris en compte.</html>");
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 11));
lblNewLabel_2.setVerticalAlignment(SwingConstants.TOP);
lblNewLabel_2.setBounds(430, 297, 239, 41);
@ -760,7 +759,7 @@ public final class setting extends JFrame {
nodImportMoodle.getAttributs().put("firstname","prenom");
nodImportMoodle.getAttributs().put("id","identification");
node nodZIP = commandes.sujet.retourneFirstEnfantsByName("zip");
nodZIP.getAttributs().put("size","48000000");
nodZIP.getAttributs().put("size","50");
nodZIP.getAttributs().put("nameZip","feedbackMoodle");
node nodplagiarism = commandes.sujet.retourneFirstEnfantsByName("plagiarism");
nodplagiarism.getAttributs().put("number_match","2");

View File

@ -72,7 +72,6 @@ public class listeAttributsAnalyseWriter {
//Le node OU
if(attribut.equals("OU")) return true;
if(attribut.equals("pointOuMax")) return true;
// if(attribut.equals("page_start:text_contenu_index")) return true;