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.

* Inserisce nel file <strong>di</strong> configurazione dependences.xml la <strong>di</strong>pendenza che rappresenta<br />

l'appartenenza del <strong>di</strong>spositivo deviceName alla farm farmName<br />

* @param String farmName<br />

* @param String deviceName<br />

* @return boolean<br />

*/<br />

public boolean setFarmOfDevice(String farmName, String deviceName)<br />

{<br />

if (!(Arrays.asList(getDevices()).contains(deviceName))) {<br />

return false;<br />

}<br />

if (!(Arrays.asList(getFarms()).contains(farmName))) {<br />

addFarm(farmName);<br />

}<br />

String oldFarmName = getFarmOfDevice(deviceName);<br />

if (farmName.equals(oldFarmName)) {<br />

return true;<br />

}<br />

if ((oldFarmName != null) && (!(removeDeviceOfFarm(deviceName, oldFarmName)))) {<br />

return false;<br />

}<br />

Element arcElement = this.dependency.createElement("arc");<br />

if (arcElement == null) {<br />

return false;<br />

}<br />

arcElement.setAttribute("source", farmName);<br />

arcElement.setAttribute("target", deviceName);<br />

this.dependency.getLastChild().appendChild(arcElement);<br />

Document tmp = saveDocument(this.dependency, this.dependencyFile,<br />

this.dependencyDtdFileName);<br />

if (tmp != null)<br />

this.dependency = tmp;<br />

else {<br />

return false;<br />

}<br />

return true;<br />

}<br />

/**<br />

* Rimuove dal file <strong>di</strong> configurazione dependences.xml la <strong>di</strong>pendenza che rappresenta<br />

l'appartenenza del <strong>di</strong>spositivo deviceName alla farm farmName<br />

* @param String farmName<br />

* @param String deviceName<br />

* @return boolean<br />

*/<br />

public boolean removeDeviceOfFarm(String deviceName, String farmName)<br />

{<br />

String oldFarmName;<br />

if ((!(Arrays.asList(getFarms()).contains(farmName))) ||<br />

(!(Arrays.asList(getDevices()).contains(deviceName))) ||<br />

((oldFarmName = getFarmOfDevice(deviceName)) == null))<br />

{<br />

return false;<br />

}<br />

NodeList nodes = XPath("dependencies/arc[@source=\"" + farmName + "\"][@target=\"" +<br />

deviceName + "\"]", this.dependency);<br />

if (nodes == null) {<br />

return false;<br />

}<br />

Node arcElement = nodes.item(0);<br />

arcElement.getParentNode().removeChild(arcElement);<br />

Document tmp = saveDocument(this.dependency, this.dependencyFile,<br />

this.dependencyDtdFileName);<br />

if (tmp != null)<br />

this.dependency = tmp;<br />

else {<br />

return false;<br />

}<br />

Pietro Neroni 566/2833 Pagina 88 <strong>di</strong> 117

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

Saved successfully!

Ooh no, something went wrong!