});
final Value value = definedOnHostComboBoxHash.get(host.getName()).getValue();
final boolean needConsole = needConsole();
if (DEFINED_ON_HOST_TRUE.equals(value)) {
final Node domainNode;
VmsXml vmsXml;
if (getResource().isNew()) {
vmsXml = new VmsXml(host);
getBrowser().vmsXmlPut(host, vmsXml);
domainNode = vmsXml.createDomainXML(getUUID(), getDomainName(), parameters, needConsole);
for (final HardwareInfo hi : allHWP.keySet()) {
hi.modifyXML(vmsXml, domainNode, getDomainName(), allHWP.get(hi));
hi.getResource().setNew(false);
}
vmsXml.saveAndDefine(domainNode, getDomainName(), getVirshOptions());
} else {
vmsXml = getBrowser().getVmsXml(host);
if (vmsXml == null) {
vmsXml = new VmsXml(host);
getBrowser().vmsXmlPut(host, vmsXml);
}
if (vmsXml.getDomainNames().contains(getDomainName())) {
domainNode = vmsXml.modifyDomainXML(getDomainName(), parameters);
if (domainNode != null) {
for (final HardwareInfo hi : allModifiedHWP.keySet()) {
if (hi.checkResourceFields(null, hi.getRealParametersFromXML(), true).isChanged()) {
hi.modifyXML(vmsXml, domainNode, getDomainName(), allModifiedHWP.get(hi));
hi.getResource().setNew(false);
}
}
}
} else {
/* new on this host */
domainNode = vmsXml.createDomainXML(getUUID(), getDomainName(), parameters, needConsole);
if (domainNode != null) {
for (final HardwareInfo hi : allHWP.keySet()) {
hi.modifyXML(vmsXml, domainNode, getDomainName(), allHWP.get(hi));
hi.getResource().setNew(false);
}
}
}
}
if (domainNode != null) {
domainNodesToSave.put(domainNode, vmsXml);
}
definedOnHosts.add(host);
} else {
final VmsXml vmsXml = getBrowser().getVmsXml(host);
if (vmsXml != null && vmsXml.getDomainNames().contains(getDomainName())) {
VIRSH.undefine(host, getDomainName(), getVirshOptions());
}
}
}
for (final Node dn : domainNodesToSave.keySet()) {