09.01.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!