Example usage for javax.xml.stream.events StartElement getName

List of usage examples for javax.xml.stream.events StartElement getName

Introduction

In this page you can find the example usage for javax.xml.stream.events StartElement getName.

Prototype

public QName getName();

Source Link

Document

Get the name of this event

Usage

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;
}