public void endElement(String uri, String name, String qName) { if (equalsOrSuffix(qName, "Children")) { inChildren = false; Vm vm = vmHandler.getResult(); if (vm != null) this.children.add(vmHandler.getResult()); } else if (equalsOrSuffix(qName, "Tasks")) { inTasks = false; this.tasks.add(taskHandler.getResult()); } else if (equalsOrSuffix(qName, "NetworkSection")) { inNetworkSection = false; this.networkSection = networkSectionHandler.getResult(); } if (inChildren) { vmHandler.endElement(uri, name, qName); } else if (inTasks) { taskHandler.endElement(uri, name, qName); } else if (inNetworkSection) { networkSectionHandler.endElement(uri, name, qName); } else if (equalsOrSuffix(qName, "Description")) { description = currentOrNull(); } else if (equalsOrSuffix(qName, "VAppScopedLocalId")) { vAppScopedLocalId = currentOrNull(); } else if (equalsOrSuffix(qName, "ovfDescriptorUploaded")) { ovfDescriptorUploaded = Boolean.parseBoolean(currentOrNull()); } currentText = new StringBuilder(); }
@Override public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException { Map<String, String> attributes = SaxUtils.cleanseAttributes(attrs); if (equalsOrSuffix(qName, "Children")) { inChildren = true; } else if (equalsOrSuffix(qName, "Tasks")) { inTasks = true; } else if (equalsOrSuffix(qName, "NetworkSection")) { inNetworkSection = true; } if (inChildren) { vmHandler.startElement(uri, localName, qName, attrs); } else if (inTasks) { taskHandler.startElement(uri, localName, qName, attrs); } else if (inNetworkSection) { networkSectionHandler.startElement(uri, localName, qName, attrs); } else if (equalsOrSuffix(qName, "VAppTemplate")) { template = newReferenceType(attributes); if (attributes.containsKey("status")) this.status = Status.fromValue(Integer.parseInt(attributes.get("status"))); } else if (equalsOrSuffix(qName, "Link") && "up".equals(attributes.get("rel"))) { vdc = newReferenceType(attributes); } }
public void characters(char ch[], int start, int length) { if (inTasks) taskHandler.characters(ch, start, length); else if (inChildren) vmHandler.characters(ch, start, length); else if (inNetworkSection) networkSectionHandler.characters(ch, start, length); else currentText.append(ch, start, length); }