Prof. Guido Russo - Scope - Università degli Studi di Napoli Federico II
Prof. Guido Russo - Scope - Università degli Studi di Napoli Federico II
Prof. Guido Russo - Scope - Università degli Studi di Napoli Federico II
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
else {<br />
return false;<br />
}<br />
return true;<br />
}<br />
/**<br />
* Crea un file in linguaggio DOT contenente la descrizione testuale del grafo delle <strong>di</strong>pendenze<br />
logiche considerando anche il <strong>di</strong>spositivo passato come argomento e le sue <strong>di</strong>pendenze.<br />
* @param String deviceName<br />
* @param Set dependences<br />
*/<br />
public String graph(String deviceName, Set dependences){<br />
Map no<strong>di</strong>=new HashMap();<br />
Set archi=new HashSet();<br />
String tmp=null;<br />
String tmp1,tmp2,tmp5,tmp6,set , source_name,target_name, name_url;<br />
String[]tmp3, tmp4, temp_set, tmp_url;<br />
String target,target2,source, source2 = null;<br />
FileOutputStream file2;<br />
PrintStream Output = null;<br />
// creazione del file DOT<br />
try {<br />
file2 = new FileOutputStream("/usr/local/apache2/htdocs/webdot/grafo_add.dot");<br />
Output = new PrintStream(file2);<br />
}<br />
catch (IOException e) {<br />
System.out.println("Errore: " + e);<br />
System.exit(1);<br />
}<br />
Output.println("<strong>di</strong>graph mainmap {");<br />
NodeList nodes = this.dependency.getElementsByTagName("arc");<br />
//legge le <strong>di</strong>pendenze tra i <strong>di</strong>spositivi nel file <strong>di</strong> configurazione dependences.xml<br />
for (int i = 0; i < nodes.getLength(); ++i) {<br />
Element node = (Element)nodes.item(i);<br />
source=node.getAttribute("source");<br />
target=node.getAttribute("target");<br />
//se la <strong>di</strong>pendenza rappresenta una <strong>di</strong>pendenza fisica la ignora<br />
if(target.equals("atlas")) continue;<br />
else if(source.equals("atlas")) continue;<br />
else if (target.contains("rack")) continue;<br />
else if(source.contains("rack")) continue;<br />
//mo<strong>di</strong>fica il nome dei <strong>di</strong>spositivi che rappresentano la <strong>di</strong>pendenza per rendere<br />
il grafo più leggibile<br />
source_name=getNameDevice(source);<br />
target_name=getNameDevice(target);<br />
tmp1= source.split(".na")[0];<br />
tmp2=target.split(".na")[0];<br />
tmp3=tmp1.split("atlas");<br />
tmp4=tmp2.split("atlas");<br />
if(tmp3.length>1) tmp5=tmp3[1] ;<br />
else tmp5=tmp1 ;<br />
if(tmp4.length>1) tmp6=tmp4[1];<br />
else tmp6=tmp2 ;<br />
//se uno dei due <strong>di</strong>spositivi fa parte <strong>di</strong> un insieme viene sostituito da<br />
quest'ultimo<br />
if (getSet(source)!=null) {<br />
set=getSet(source);<br />
set=set.split(".na")[0];<br />
temp_set=set.split("atlas");<br />
if(temp_set.length>1) set=temp_set[1];<br />
source2="espansioni_"+set;<br />
}<br />
else source2=source_name;<br />
if (getSet(target)!=null) {<br />
set=getSet(target);<br />
set=set.split(".na")[0];<br />
temp_set=set.split("atlas");<br />
Pietro Neroni 566/2833 Pagina 98 <strong>di</strong> 117