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.
* 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