KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cve > esecutori > components > specificaLV > AnalizzaAlfabetoW


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 AnalizzaAlfabetoW {
16    /**
17    * Logica:Viene lanciata da partionElement per ogni elemento alfabeto
18    * Result: metto in rappresentation (icon, cpRappresentation) di ogni
19    * elemento in HashMap
20    */

21    public static Representation setRappres(Element ele,String JavaDoc nameEle, boolean rel,boolean ori,String JavaDoc nameS,String JavaDoc nameT){
22
23       Cve.errLog.debug("");
24       Vector name=new Vector();
25       Representation rapp=new Representation();
26
27       //Valorizzazione Attributi d'istanza
28
//Nuova Valorizzazione Attributi Elemento Alfabeto
29
rapp.putAttribute("name",nameEle);
30       rapp.putAttribute("relation", String.valueOf(rel));
31       if (nameS!=null){ rapp.putAttribute("source",nameS); }
32       if (nameT!=null){ rapp.putAttribute("target",nameT); }
33       if (nameS!=null){ rapp.putAttribute("oriented",String.valueOf(ori)); }
34
35       //Valorizzazione Attributi Statici da Alphabet
36
//icon
37
List iconList=ele.getChildren("Icon");
38       for (int i=0; i<iconList.size(); i++){
39          // prendo un singolo attributo
40
Element attr=(Element)(iconList.get(i));
41          String JavaDoc nomeIcon=attr.getAttributeValue("name");
42          rapp.putAttribute("icon",nomeIcon);
43       }
44
45       //CpRappresentation
46
List cpList=ele.getChildren("CpRappresentation");
47       for (int i=0; i<cpList.size(); i++){
48          // prendo un singolo attributo
49
Element attr=(Element)(cpList.get(i));
50          String JavaDoc nomeCp=attr.getAttributeValue("name");
51          System.out.println(" nome rappresentation "+nomeCp);
52          rapp.putAttribute("cp",nomeCp);
53
54          String JavaDoc typeCp=attr.getAttributeValue("type");
55          System.out.println(" type rappresentation "+typeCp);
56          rapp.putAttribute("cpType",typeCp);
57       }
58
59       //Identificatore
60
List idList=ele.getChildren("Attribute");
61       for (int i=0; i<idList.size(); i++){
62          // prendo un singolo attributo
63
Element attr=(Element)(idList.get(i));
64          String JavaDoc tipo=attr.getAttributeValue("type");
65          String JavaDoc nomeId=attr.getAttributeValue("name");
66          if (tipo!=null){
67             if (tipo.equals("Identificatore")){
68                //System.out.println(" nome id "+nomeId);
69
rapp.putAttribute("nameId",nomeId);
70             }
71          }
72       }
73
74       //Holder
75
//GF 30-12-2003 Nuovo parametro Holder
76
List holderList=ele.getChildren("Holder");
77       for (int i=0; i<holderList.size(); i++){
78          // prendo un singolo attributo
79
Element attr=(Element)(holderList.get(i));
80          String JavaDoc flag=attr.getAttributeValue("flag");
81          //System.out.println(" nome icon "+nomeIcon);
82
rapp.putAttribute("holder",flag);
83       }
84
85       //----------AGGIUNTA ATTRIBUTI ACCESSORI-------------------
86
//max_token
87
idList=ele.getChildren("Attribute");
88       for (int i=0; i<idList.size(); i++){
89          // prendo un singolo attributo
90
Element attr=(Element)(idList.get(i));
91          String JavaDoc nomeId=attr.getAttributeValue("name");
92          if (nomeId.equals("max_token")){
93             rapp.putAttribute("max_token",String.valueOf(1));
94          }
95       }
96
97       //weight
98
idList=ele.getChildren("Attribute");
99       for (int i=0; i<idList.size(); i++){
100          // prendo un singolo attributo
101
Element attr=(Element)(idList.get(i));
102          String JavaDoc nomeId=attr.getAttributeValue("name");
103          if (nomeId.equals("weight")){
104             rapp.putAttribute("weight",String.valueOf(1));
105          }
106       }
107
108       // metto come chiave il nome dell'elemento e come valore
109
//il vettore composto da nameIcon e nameCp
110
return rapp;
111    }
112
113    /**
114    * Logica: Viene lanciata da partionElement per ogni elemento alfabeto
115    * Result: 1)metto lo scheletro dell'alfabeto all'interno della HashMap scheletro,
116    * ossia per ogni tipo tutti i nomi e i tipi dei suoi attributi
117    */

118    public static Vector setScheletro(Element ele,String JavaDoc nameEle){
119       Cve.errLog.debug("");
120       Vector nameTipo=new Vector();
121       // predo tutti gli attributi di un elemento
122
ViewLog.writeInLog(" nome elemento "+nameEle+"\n");
123       List attributeList=ele.getChildren("Attribute");
124       for (int i=0; i<attributeList.size(); i++){
125          // prendo un singolo attributo
126
Element attr=(Element)(attributeList.get(i));
127          String JavaDoc nome=attr.getAttributeValue("name");
128          String JavaDoc tipo=attr.getAttributeValue("type");
129          ViewLog.writeInLog(" nome attributo "+nome+" di tipo "+tipo+"\n");
130          nameTipo.add(nome);
131          nameTipo.add(tipo);
132       }
133       return nameTipo;
134    }
135
136    /**
137    * pre: ogni elemento dell'alfabeto ha un unico identificatore
138    * post:result il nome dell'attributo di tipo identificatore.
139    *
140    * @param il nome dell'elemento di cui si cerca l'identificatore
141    * Logica: cerco nell'alfabeto l'elemento analizzato e poi prendo
142    * il nome del suo identificatore
143    *
144    */

145    public static String JavaDoc findNameId(String JavaDoc nameEle,Element rootAlf){
146       Cve.errLog.debug("");
147       // prendo l'alfabeto
148
//Element rootAlf=docAlf.getRootElement();
149
List figliAlf=rootAlf.getChildren(); // prendo elementi alfabeto
150
for (int j=0; j<figliAlf.size(); j++){
151          // prendo un singolo elemento
152
Element ele=(Element)(figliAlf.get(j));
153          String JavaDoc nameElement=ele.getAttributeValue("name");
154          //System.out.println(" element "+nameElement);
155
// se e' le'elemento cercato
156
if (nameElement.equals(nameEle)){
157             List attributi=ele.getChildren();
158             // per ogni suo sottoelemento attributo
159
for (int k=0;k<attributi.size();k++) {
160                Element attributo=(Element)(attributi.get(k));
161                String JavaDoc tipo=attributo.getAttributeValue("type");
162                if (tipo.equals("Identificatore")){
163                   String JavaDoc nomeAttrId=attributo.getAttributeValue("name");
164                   return nomeAttrId;
165                }
166             }
167          }
168       }
169       return null;
170    }
171
172
173 }
Popular Tags