1 package cve.esecutori.components.specificaLV; 2 3 import cve.esecutori.servizioEACesec.*; 4 import cve.staticLayout.*; 5 6 import java.io.*; 7 import java.util.*; 8 9 import org.jdom.*; 10 import org.jdom.input.SAXBuilder; 11 import org.jdom.output.XMLOutputter; 12 13 import org.apache.log4j.Logger; 14 15 public class AnalizzaRegoleW { 16 22 public static HashSet freeCreation(Element rootReg) { 23 24 Cve.errLog.debug(""); 25 HashSet elementFree=new HashSet(); 26 ViewLog.writeInLog(" Elenco degli elementi che possono essere creati liberamente "); 27 List figliReg=rootReg.getChildren("Rule"); for (int i=0; i<figliReg.size(); i++){ 30 Element reg=(Element)(figliReg.get(i)); List ant=reg.getChild("Antecedent").getChildren(); if (ant.size()==0) { Element eleXml=reg.getChild("Conseguente").getChild("ElementCons"); String name=reg.getChild("Conseguente").getChild("ElementCons").getAttributeValue("name"); elementFree.add(name); 37 ViewLog.writeInLog(" free elemento "+name ); 38 } 39 } 40 return elementFree; 41 } 42 43 54 public static Element isInConseguente(Element rule, Element ele) { 55 Cve.errLog.debug(""); 56 Attribute attributeName=ele.getAttribute("name"); 57 String nameEle=attributeName.getValue(); 58 List setElem=rule.getChild("Conseguente").getChildren(); 60 int i=0; 62 boolean trovatoEle=false; 63 while ( (trovatoEle==false)&(i<setElem.size()) ){ 65 String nameEleCons=((Attribute)((Element)(setElem.get(i))).getAttribute("name")).getValue(); 66 if (nameEleCons.equals(nameEle) ){ 68 trovatoEle=true; 69 return ( (Element)(setElem.get(i)) ); 72 } 73 i++; 74 } 75 return null; 76 } 77 78 88 public static String findValueAttriEle(String nomeAttrCerc ,Element ele) { 89 Cve.errLog.debug(""); 90 List attributi=ele.getChildren("Attribute"); System.out.println(" cerco il valore attributo "+nomeAttrCerc+" Elemento:"+ ele.getName()+" Numero Attr:"+attributi.size()); 92 93 int i=0; 94 boolean trovato=false; 95 while ((i<=attributi.size())&(trovato==false)){ 96 97 String nomeAttrEsam= ((Element)attributi.get(i)).getAttributeValue("name"); 98 System.out.println(" attributo esaminato e' "+nomeAttrEsam); 99 if (nomeAttrEsam.equals(nomeAttrCerc)){ 100 trovato=true; 101 String valueAttrEsam= ((Element)attributi.get(i)).getAttributeValue("value"); 104 System.out.println(" Valore Trovato per "+nomeAttrEsam+": "+valueAttrEsam); 105 return valueAttrEsam; 106 } 109 i++; 110 } 111 return null; 112 } 113 114 125 public static Element findIdElementAnt(Element rule, String idFind) { 126 Cve.errLog.debug(""); 127 System.out.println(" cerco antecedente con id voluto " + idFind+ " Regola: " +rule.getName()); 128 List setEleAnt=rule.getChild ("Antecedent").getChildren(); 129 130 int i=0; 131 boolean trovatoId=false; 132 while ( (i<setEleAnt.size())&(trovatoId==false) ){ 133 Attribute id=(Attribute)((Element)(setEleAnt.get(i))).getAttribute("id"); 134 String idEle=id.getValue(); 135 System.out.println(" id Ele esaminato e' "+idEle+" mentre l'elemento cercato "+idFind); 136 if (idEle.equals(idFind)){ 137 trovatoId=true; 138 return ((Element)(setEleAnt.get(i))); 140 } 141 i++; 142 } 143 return null; 145 } 146 } | Popular Tags |