package calcul; import java.util.Enumeration; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.swing.JOptionPane; import cXML.node; public class calculNombrePointEvaluation { public static int calculNombreDepoint(node nod, int point) { if(nod.getAttributs().get("evaluer")!=null) if(nod.getAttributs().get("evaluer").equalsIgnoreCase("true")){ if(nod.getAttributs().get("allContent")!=null) { Pattern pt = Pattern.compile("[0-9]{1,}$"); Matcher match= pt.matcher(nod.getAttributs().get("allContent")); if(match.find()) { String s= match.group(); try { point = point + Integer.valueOf(s); } catch (Exception e) { JOptionPane.showInternalMessageDialog(null, "Erreur dans la valeur de l'attribut allContent"); } System.out.println("match point pour allcontent = " + s); } } if(nod.getAttributs().get("evalNameInitialCreator")!=null) { try { point = point + Integer.valueOf(nod.getAttributs().get("evalNameInitialCreator")); } catch (Exception e) { JOptionPane.showInternalMessageDialog(null, "Erreur dans la valeur de l'attribut evalNameInitialCreator"); } } if(nod.getAttributs().get("evalNameCreator")!=null) { try { point = point + Integer.valueOf(nod.getAttributs().get("evalNameCreator")); } catch (Exception e) { JOptionPane.showInternalMessageDialog(null, "Erreur dans la valeur de l'attribut evalNameCreator"); } } if(nod.getAttributs().get("evalNameNode")!=null) { try { point = point + Integer.valueOf(nod.getAttributs().get("evalNameNode")); } catch (Exception e) { JOptionPane.showInternalMessageDialog(null, "Erreur dans la valeur de l'attribut evalNameCreator"); } } Enumeration key = nod.getAttributs().keys(); while(key.hasMoreElements()) { String k = key.nextElement(); if(nod.getAttributs().get(k).contains("‽")||nod.getAttributs().get(k).contains("‼")) { Pattern pt = Pattern.compile("[0-9]{1,}$"); Matcher match= pt.matcher(nod.getAttributs().get(k)); if(match.find()) { String s= match.group(); try { point = point + Integer.valueOf(s); } catch (Exception e) { JOptionPane.showInternalMessageDialog(null, "Erreur dans la valeur de l'attribut "+ k); } } } } for(int i = 0 ; i < nod.getNodes().size();i++) { if(nod.getNodes().get(i)!=null) { point = calculNombreDepoint(nod.getNodes().get(i), point); } } } return point; } }