List of usage examples for javax.xml.stream.events StartElement getName
public QName getName();
From source file:StAXEventTreeViewer.java
public void buildTree(DefaultTreeModel treeModel, DefaultMutableTreeNode current, File file) throws XMLStreamException, FileNotFoundException { XMLInputFactory inputFactory = XMLInputFactory.newInstance(); XMLEventReader reader = inputFactory.createXMLEventReader(new FileInputStream(file)); while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); switch (event.getEventType()) { case XMLStreamConstants.START_DOCUMENT: StartDocument startDocument = (StartDocument) event; DefaultMutableTreeNode version = new DefaultMutableTreeNode(startDocument.getVersion()); current.add(version);//w w w . ja v a2 s.c o m current.add(new DefaultMutableTreeNode(startDocument.isStandalone())); current.add(new DefaultMutableTreeNode(startDocument.standaloneSet())); current.add(new DefaultMutableTreeNode(startDocument.encodingSet())); current.add(new DefaultMutableTreeNode(startDocument.getCharacterEncodingScheme())); break; case XMLStreamConstants.START_ELEMENT: StartElement startElement = (StartElement) event; QName elementName = startElement.getName(); DefaultMutableTreeNode element = new DefaultMutableTreeNode(elementName.getLocalPart()); current.add(element); current = element; if (!elementName.getNamespaceURI().equals("")) { String prefix = elementName.getPrefix(); if (prefix.equals("")) { prefix = "[None]"; } DefaultMutableTreeNode namespace = new DefaultMutableTreeNode( "prefix=" + prefix + ",URI=" + elementName.getNamespaceURI()); current.add(namespace); } for (Iterator it = startElement.getAttributes(); it.hasNext();) { Attribute attr = (Attribute) it.next(); DefaultMutableTreeNode attribute = new DefaultMutableTreeNode("Attribute (name=" + attr.getName().getLocalPart() + ",value=" + attr.getValue() + "')"); String attURI = attr.getName().getNamespaceURI(); if (!attURI.equals("")) { String attPrefix = attr.getName().getPrefix(); if (attPrefix.equals("")) { attPrefix = "[None]"; } attribute.add(new DefaultMutableTreeNode("prefix = " + attPrefix + ", URI = " + attURI)); } current.add(attribute); } break; case XMLStreamConstants.END_ELEMENT: current = (DefaultMutableTreeNode) current.getParent(); break; case XMLStreamConstants.CHARACTERS: Characters characters = (Characters) event; if (!characters.isIgnorableWhiteSpace() && !characters.isWhiteSpace()) { String data = characters.getData(); if (data.length() != 0) { current.add(new DefaultMutableTreeNode(characters.getData())); } } break; case XMLStreamConstants.DTD: DTD dtde = (DTD) event; current.add(new DefaultMutableTreeNode(dtde.getDocumentTypeDeclaration())); default: System.out.println(event.getClass().getName()); } } }
From source file:com.hp.mqm.clt.xml.JunitXmlIterator.java
@Override protected void onEvent(XMLEvent event) throws IOException { if (event instanceof StartElement) { StartElement element = (StartElement) event; String localName = element.getName().getLocalPart(); if ("testcase".equals(localName)) { // NON-NLS packageName = ""; className = ""; testName = ""; status = TestResultStatus.PASSED; duration = 0;/* w ww. j a v a2s .c o m*/ Iterator iterator = element.getAttributes(); while (iterator.hasNext()) { Attribute attribute = (Attribute) iterator.next(); if ("classname".equals(attribute.getName().toString())) { parseClassname(attribute.getValue()); } else if ("name".equals(attribute.getName().toString())) { testName = attribute.getValue(); } else if ("time".equals(attribute.getName().toString())) { duration = parseTime(attribute.getValue()); } } } else if ("skipped".equals(localName)) { // NON-NLS status = TestResultStatus.SKIPPED; } else if ("failure".equals(localName)) { // NON-NLS // This should cover the rerunFailure as well status = TestResultStatus.FAILED; } else if ("error".equals(localName)) { // NON-NLS status = TestResultStatus.FAILED; } } else if (event instanceof EndElement) { EndElement element = (EndElement) event; String localName = element.getName().getLocalPart(); if ("testcase".equals(localName) && StringUtils.isNotEmpty(testName)) { // NON-NLS addItem(new TestResult(packageName, className, testName, status, duration, started)); } } }
From source file:com.hp.application.automation.tools.octane.tests.TestResultIterator.java
@Override public boolean hasNext() { try {/*ww w .j a v a2 s . co m*/ while (items.isEmpty() && !closed) { if (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (event instanceof StartElement) { StartElement element = (StartElement) event; String localName = element.getName().getLocalPart(); if ("test_run".equals(localName)) { String moduleName = element.getAttributeByName(new QName("module")).getValue(); String packageName = element.getAttributeByName(new QName("package")).getValue(); String className = element.getAttributeByName(new QName("class")).getValue(); String testName = element.getAttributeByName(new QName("name")).getValue(); long duration = Long .valueOf(element.getAttributeByName(new QName("duration")).getValue()); TestResultStatus status = TestResultStatus .fromPrettyName(element.getAttributeByName(new QName("status")).getValue()); long started = Long .valueOf(element.getAttributeByName(new QName("started")).getValue()); items.add(new JUnitTestResult(moduleName, packageName, className, testName, status, duration, started, null, null)); } else if ("build".equals(localName)) { serverId = element.getAttributeByName(new QName("server_id")).getValue(); jobId = element.getAttributeByName(new QName("job_id")).getValue(); buildId = element.getAttributeByName(new QName("build_id")).getValue(); Attribute subType = element.getAttributeByName(new QName("sub_type")); if (subType != null) { this.subType = subType.getValue(); } } } } else { closed = true; IOUtils.closeQuietly(input); reader.close(); } } return !items.isEmpty(); } catch (XMLStreamException e) { throw new RuntimeException(e); } }
From source file:com.hp.application.automation.tools.octane.tests.detection.ResultFieldsXmlReader.java
public TestResultContainer readXml() { boolean fieldsElement = false; try {/* w w w. j av a 2 s .co m*/ while (eventReader.hasNext()) { XMLEvent event = eventReader.nextEvent(); if (event instanceof StartElement) { StartElement element = (StartElement) event; String localName = element.getName().getLocalPart(); if ("test_fields".equals(localName)) { fieldsElement = true; } if ("test_field".equals(localName)) { if (!fieldsElement) { Assert.fail( "<test_field> element found, but surrounding element '<test_fields>' is missing in the XML file"); } String type = element.getAttributeByName(new QName("type")).getValue(); String value = element.getAttributeByName(new QName("value")).getValue(); if (type.equals("Framework")) { resultFields.setFramework(value); } else if (type.equals("Testing_Tool_Type")) { resultFields.setTestingTool(value); } else if (type.equals("Test_Level")) { resultFields.setTestLevel(value); } } if ("test_run".equals(localName)) { String moduleName = element.getAttributeByName(new QName("module")).getValue(); String packageName = element.getAttributeByName(new QName("package")).getValue(); String className = element.getAttributeByName(new QName("class")).getValue(); String testName = element.getAttributeByName(new QName("name")).getValue(); testAttributes.add(new TestAttributes(moduleName, packageName, className, testName)); } } } IOUtils.closeQuietly(input); eventReader.close(); } catch (XMLStreamException e) { throw new RuntimeException(e); } return new TestResultContainer(testAttributes, resultFields); }
From source file:com.vistatec.ocelot.xliff.okapi.OkapiXLIFFFactory.java
@Override public XLIFFVersion detectXLIFFVersion(File detectVersion) throws IOException, XMLStreamException { try (BOMInputStream bomInputStream = new BOMInputStream(new FileInputStream(detectVersion), ByteOrderMark.UTF_8, ByteOrderMark.UTF_16BE, ByteOrderMark.UTF_16LE, ByteOrderMark.UTF_32BE, ByteOrderMark.UTF_32LE)) {/*from w w w . j a v a 2 s. c om*/ String bom = "UTF-8"; if (bomInputStream.hasBOM()) { bom = bomInputStream.getBOMCharsetName(); } XMLInputFactory xml = XMLInputFactory.newInstance(); XMLEventReader reader = xml.createXMLEventReader(bomInputStream, bom); while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); switch (event.getEventType()) { case XMLEvent.START_ELEMENT: StartElement startElement = (StartElement) event; String localPart = startElement.getName().getLocalPart(); if (localPart.equals("xliff")) { @SuppressWarnings("unchecked") Iterator<Attribute> attrs = startElement.getAttributes(); while (attrs.hasNext()) { Attribute attr = attrs.next(); if (isXliffVersionAttributeName(attr.getName())) { String value = attr.getValue(); reader.close(); if ("2.0".equals(value)) { return XLIFFVersion.XLIFF20; } else { return XLIFFVersion.XLIFF12; } } } } break; default: break; } } throw new IllegalStateException("Could not detect XLIFF version"); } }
From source file:com.predic8.membrane.core.interceptor.xmlprotection.XMLProtector.java
public boolean protect(InputStreamReader isr) { try {/*w w w.j a va 2 s . c om*/ XMLEventReader parser; synchronized (xmlInputFactory) { parser = xmlInputFactory.createXMLEventReader(isr); } while (parser.hasNext()) { XMLEvent event = parser.nextEvent(); if (event.isStartElement()) { StartElement startElement = (StartElement) event; if (maxElementNameLength != -1) if (startElement.getName().getLocalPart().length() > maxElementNameLength) { log.warn("Element name length: Limit exceeded."); return false; } if (maxAttibuteCount != -1) { @SuppressWarnings("rawtypes") Iterator i = startElement.getAttributes(); for (int attributeCount = 0; i.hasNext(); i.next()) if (++attributeCount == maxAttibuteCount) { log.warn("Number of attributes per element: Limit exceeded."); return false; } } } if (event instanceof javax.xml.stream.events.DTD) { if (removeDTD) { log.debug("removed DTD."); continue; } } writer.add(event); } writer.flush(); } catch (XMLStreamException e) { log.warn("Received not-wellformed XML."); return false; } return true; }
From source file:com.microfocus.application.automation.tools.octane.tests.TestResultIterator.java
@Override public boolean hasNext() { try {// w w w. j a va2 s.c o m while (items.isEmpty() && !closed) { if (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (event instanceof StartElement) { Attribute attribute; StartElement element = (StartElement) event; String localName = element.getName().getLocalPart(); if ("test_run".equals(localName)) { String moduleName = element.getAttributeByName(new QName("module")).getValue(); String packageName = element.getAttributeByName(new QName("package")).getValue(); String className = element.getAttributeByName(new QName("class")).getValue(); String testName = element.getAttributeByName(new QName("name")).getValue(); long duration = Long .valueOf(element.getAttributeByName(new QName("duration")).getValue()); TestResultStatus status = TestResultStatus .fromPrettyName(element.getAttributeByName(new QName("status")).getValue()); long started = Long .valueOf(element.getAttributeByName(new QName("started")).getValue()); items.add(new JUnitTestResult(moduleName, packageName, className, testName, status, duration, started, null, null)); } else if ("build".equals(localName)) { attribute = element.getAttributeByName(new QName("server_id")); if (attribute != null) { serverId = attribute.getValue(); } attribute = element.getAttributeByName(new QName("job_id")); if (attribute != null) { jobId = attribute.getValue(); } attribute = element.getAttributeByName(new QName("build_id")); if (attribute != null) { buildId = attribute.getValue(); } attribute = element.getAttributeByName(new QName("sub_type")); if (attribute != null) { this.subType = attribute.getValue(); } } } } else { closed = true; IOUtils.closeQuietly(input); reader.close(); } } return !items.isEmpty(); } catch (XMLStreamException e) { throw new RuntimeException(e); } }
From source file:fr.openwide.talendalfresco.rest.client.ClientImportCommand.java
protected void handleResponseContentEvent(XMLEvent event) { String[] resultLog;//from ww w . j av a2 s .c o m boolean isSuccessLog; switch (event.getEventType()) { case XMLEvent.START_ELEMENT: StartElement startElement = event.asStartElement(); String elementName = startElement.getName().getLocalPart(); if (RestConstants.RES_IMPORT_SUCCESS.equals(elementName)) { isSuccessLog = true; } else if (RestConstants.RES_IMPORT_ERROR.equals(elementName)) { isSuccessLog = false; } else { break; } Attribute noderefAttr = startElement.getAttributeByName(new QName(RestConstants.RES_IMPORT_NODEREF)); String noderef = (noderefAttr == null) ? null : noderefAttr.getValue(); Attribute doctypeAttr = startElement.getAttributeByName(new QName(RestConstants.RES_IMPORT_DOCTYPE)); String doctype = (doctypeAttr == null) ? null : doctypeAttr.getValue(); resultLog = new String[] { elementName, // error or success startElement.getAttributeByName(new QName(RestConstants.RES_IMPORT_NAMEPATH)).getValue(), startElement.getAttributeByName(new QName(RestConstants.RES_IMPORT_MESSAGE)).getValue(), startElement.getAttributeByName(new QName(RestConstants.RES_IMPORT_DATE)).getValue(), noderef, doctype }; resultLogs.add(resultLog); if (isSuccessLog) { successLogs.add(resultLog); } else { // errorLog errorLogs.add(resultLog); } break; } }
From source file:com.predic8.membrane.core.ws.relocator.Relocator.java
@SuppressWarnings("unchecked") private XMLEvent replace(XMLEvent event, String attribute) { StartElement startElement = event.asStartElement(); return fac.createStartElement(startElement.getName(), new ReplaceIterator(fac, attribute, startElement.getAttributes()), startElement.getNamespaces()); }
From source file:HTTPChunkLocator.java
/** * parses a chunk info part// w ww. j a v a 2s .c o m * <p/> * <pre> * <chunk_list> * <chunk offset="0" chunk_size="67108864"> * <map> * <copy ip_addr="10.10.2.200" name="vistasn1" snid="1" vid="1" /> * <copy ip_addr="10.10.2.201" name="vistasn2" snid="2" vid="3" /> * </map> * </chunk> * </chunk_list> * </pre> */ private List<ChunkLocation> parseChunks(final XMLEventReader reader, final long fileSizeInBytes) throws XMLStreamException, IOException { long offset = -1; long length = -1; final List<ChunkLocation> locations = new ArrayList<ChunkLocation>(5); final List<StorageNodeInfo> sninfo = new ArrayList<StorageNodeInfo>(); final List<Integer> volumeIds = new ArrayList<Integer>(); while (reader.hasNext()) { final XMLEvent nextEvent = reader.nextEvent(); if (!(nextEvent instanceof StartElement)) { continue; } final StartElement start = (StartElement) nextEvent; if (CHUNK_ID.equals(start.getName().getLocalPart())) { if (sninfo.size() > 0) { final ChunkInfo chunkInfo = new ChunkInfo(offset, length, volumeIds.toArray(new Integer[0])); locations.add( new ChunkLocation(sninfo.toArray(new StorageNodeInfo[0]), chunkInfo, fileSizeInBytes)); sninfo.clear(); volumeIds.clear(); } offset = Long.parseLong(get(start, Q_OFFSET)); length = Long.parseLong(get(start, Q_CHUNK_SIZE)); } else if (COPY_ID.equals(start.getName().getLocalPart())) { final InetAddress ip = InetAddress.getByName(get(start, Q_IP_ADDR)); final int vid = Integer.parseInt(get(start, Q_VID)); final String name = get(start, Q_NAME); sninfo.add(new StorageNodeInfo(name, ip.getHostAddress(), true, true)); volumeIds.add(Integer.valueOf(vid)); } } if (sninfo.size() > 0) { final ChunkInfo chunkInfo = new ChunkInfo(offset, length, volumeIds.toArray(new Integer[0])); locations.add(new ChunkLocation(sninfo.toArray(new StorageNodeInfo[0]), chunkInfo, fileSizeInBytes)); } return locations; }