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

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

Introduction

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

Prototype

public QName getName();

Source Link

Document

Get the name of this event

Usage

From source file:Main.java

public static String getLocalName(EndElement element) {
    return element.getName().getLocalPart();
}

From source file:Main.java

/**
 * /*w  w w .j  ava2s .  c o  m*/
 * @param is
 * @param os
 * @param elementNames
 * @throws XMLStreamException
 * @throws FactoryConfigurationError
 * @throws UnsupportedEncodingException
 */
public static void stripElements(final InputStream is, final OutputStream os,
        final Collection<String> elementNames)
        throws XMLStreamException, UnsupportedEncodingException, FactoryConfigurationError {
    final XMLEventReader xmlEventReader = XMLInputFactory.newInstance()
            .createXMLEventReader(new InputStreamReader(is, Charset.defaultCharset().name()));
    final XMLEventWriter xmlEventWriter = XMLOutputFactory.newInstance().createXMLEventWriter(os);

    String elementName = null;

    while (xmlEventReader.peek() != null) {
        final XMLEvent event = (XMLEvent) xmlEventReader.next();

        switch (event.getEventType()) {
        case XMLStreamConstants.START_DOCUMENT:
        case XMLStreamConstants.END_DOCUMENT: {
            // Ignore.
            break;
        }
        case XMLStreamConstants.START_ELEMENT: {
            final StartElement startElement = event.asStartElement();
            final QName name = startElement.getName();

            if (elementNames.contains(name.getLocalPart())) {
                elementName = name.getLocalPart();
            }

            if (elementName == null) {
                xmlEventWriter.add(event);
            }

            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            final EndElement endElement = event.asEndElement();
            final QName name = endElement.getName();

            if (elementName == null) {
                xmlEventWriter.add(event);
            } else if (elementName.equals(name.getLocalPart())) {
                elementName = null;
            }

            break;
        }
        default: {
            if (elementName == null) {
                xmlEventWriter.add(event);
            }
        }
        }
    }

    xmlEventWriter.flush();
}

From source file:Main.java

private static void writeAsEncodedUnicode(EndElement element, Writer writer) throws XMLStreamException {
    try {/*from  w  w  w .  j av a 2  s  .c o  m*/
        // Write end tags.
        writer.write("</");
        QName name = element.getName();
        String prefix = name.getPrefix();
        if (prefix != null && prefix.length() > 0) {
            writer.write(prefix);
            writer.write(':');
        }
        writer.write(name.getLocalPart());
        writer.write('>');
    } catch (IOException ioe) {
        throw new XMLStreamException(ioe);
    }
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static Result parseMaxLatencyResult(XMLEventReader reader) throws XMLStreamException {
    Long maxLatency = null;//from   w  ww  .j a  v a2  s.c  o m
    while (reader.hasNext()) {
        XMLEvent xmlEvent = reader.nextEvent();
        if (xmlEvent.isCharacters()) {
            maxLatency = Long.parseLong(xmlEvent.asCharacters().getData());
        } else if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            if (!MAX_LATENCY.matches(endElement.getName().getLocalPart())) {
                throw new XMLStreamException("Unexpected end element " + endElement.getName());
            }
            if (maxLatency == null) {
                throw new XMLStreamException("Unexpected end element " + MAX_LATENCY.getName());
            }
            return new MaxLatencyResult(maxLatency);
        }
    }
    throw new XMLStreamException("Unexpected end of stream");
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static void parseBuckets(XMLEventReader reader, LinearHistogram histogram) throws XMLStreamException {
    while (reader.hasNext()) {
        XMLEvent xmlEvent = reader.nextEvent();
        if (xmlEvent.isStartElement()) {
            StartElement startElement = xmlEvent.asStartElement();
            if (LATENCY_DIST_BUCKET.matches(startElement.getName().getLocalPart())) {
                parseBucket(reader, startElement, histogram);
            }/*from  www  . j  a  v a 2 s .c  o  m*/
        } else if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            if (!LATENCY_DIST_BUCKETS.matches(endElement.getName().getLocalPart())) {
                throw new XMLStreamException("Unexpected end element " + endElement.getName());
            }
            return;
        }
    }
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static Result parseHdrLatencyProbeResult(XMLEventReader reader) throws XMLStreamException {
    String encodedData = null;//from w  w  w. jav a 2 s . com
    while (reader.hasNext()) {
        XMLEvent xmlEvent = reader.nextEvent();
        if (xmlEvent.isCharacters()) {
            encodedData = xmlEvent.asCharacters().getData();
        } else if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            if (!HDR_LATENCY_DATA.matches(endElement.getName().getLocalPart()) || encodedData == null) {
                throw new XMLStreamException("Unexpected end element " + endElement.getName());
            }
            try {
                byte[] bytes = Base64.decodeBase64(encodedData);
                Histogram histogram = Histogram.decodeFromCompressedByteBuffer(ByteBuffer.wrap(bytes), 0);
                return new HdrLatencyDistributionResult(histogram);
            } catch (DataFormatException e) {
                throw new RuntimeException(e);
            }
        }
    }
    throw new XMLStreamException("Unexpected end of stream");
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static void parseProbesResult(XMLEventReader reader, Map<String, Result> result)
        throws XMLStreamException {
    while (reader.hasNext()) {
        XMLEvent event = reader.nextEvent();
        if (event.isStartElement()) {
            StartElement startElement = event.asStartElement();
            if (PROBE.matches(startElement.getName().getLocalPart())) {
                parseProbe(reader, startElement, result);
            }//from  ww w .j a  v  a  2s .  co m
        } else if (event.isEndElement()) {
            EndElement endElement = event.asEndElement();
            boolean isProbeEnd = PROBE.matches(endElement.getName().getLocalPart());
            boolean isProbeResultEnd = PROBES_RESULT.matches(endElement.getName().getLocalPart());
            if (!isProbeEnd && !isProbeResultEnd) {
                throw new XMLStreamException("Unexpected end element " + endElement.getName());
            }
            if (isProbeResultEnd) {
                return;
            }
        }
    }
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static void parseBucket(XMLEventReader reader, StartElement element, LinearHistogram histogram)
        throws XMLStreamException {
    String upperBound = element.getAttributeByName(new QName(LATENCY_DIST_UPPER_BOUND.getName())).getValue();
    String values = element.getAttributeByName(new QName(LATENCY_DIST_VALUES.getName())).getValue();
    histogram.addMultipleValues(Integer.parseInt(upperBound) - 1, Integer.parseInt(values));

    while (reader.hasNext()) {
        XMLEvent xmlEvent = reader.nextEvent();
        if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            if (LATENCY_DIST_BUCKET.getName().equals(endElement.getName().getLocalPart())) {
                return;
            }/*  w  w w  .j  a v a 2s .  c o  m*/
        }
    }
    throw new XMLStreamException("Unexpected end of the document");
}

From source file:fr.openwide.talendalfresco.rest.client.ClientCommandBase.java

protected void handleResponseTopLevelEvent(XMLEvent event) {
    switch (event.getEventType()) {
    case XMLEvent.CHARACTERS:
    case XMLEvent.CDATA:
        if (singleLevelTextBuf != null) {
            singleLevelTextBuf.append(event.asCharacters().getData());
        } // else element not meaningful
        break;//from w  ww  .j av  a  2  s  . c  om
    case XMLEvent.START_ELEMENT:
        StartElement startElement = event.asStartElement();
        String elementName = startElement.getName().getLocalPart();
        if (defaultResultElementSet.contains(elementName)) {
            // reinit buffer at start of meaningful elements
            singleLevelTextBuf = new StringBuffer();
        } else if (RestConstants.TAG_CONTENT.equals(elementName)) {
            // switch to content mode
            isInCommandResponseContent = true;
        } else {
            singleLevelTextBuf = null; // not useful
        }
        break;
    case XMLEvent.END_ELEMENT:
        if (singleLevelTextBuf == null) {
            break; // element not meaningful
        }

        // TODO or merely put it in the map since the element has been tested at start
        EndElement endElement = event.asEndElement();
        elementName = endElement.getName().getLocalPart();
        if (defaultResultElementSet.contains(elementName)) {
            String value = singleLevelTextBuf.toString();
            elementValueMap.put(elementName, value);
            // TODO test if it is code and it is not OK, break to error handling
        }
        // singleLevelTextBuf = new StringBuffer(); // no ! in start
        break;
    }
}

From source file:fr.dutra.confluence2wordpress.core.sync.DefaultAttachmentsSynchronizer.java

private Set<Attachment> parseForAttachments(ContentEntityObject page) throws SynchronizationException {
    Set<Attachment> attachments = new HashSet<Attachment>();
    try {/*from  w w w  . j a  v  a2  s  .com*/
        XMLEventReader r = StaxUtils.getReader(page);
        String fileName = null;
        String pageTitle = null;
        String spaceKey = null;
        try {
            while (r.hasNext()) {
                XMLEvent e = r.nextEvent();
                if (e.isStartElement()) {
                    StartElement startElement = e.asStartElement();
                    QName name = startElement.getName();
                    if (name.equals(ATTACHMENT_QNAME)) {
                        Attribute att = startElement.getAttributeByName(FILENAME_QNAME);
                        if (att != null) {
                            fileName = att.getValue();
                        }
                    } else if (name.equals(PAGE_QNAME)) {
                        Attribute title = startElement.getAttributeByName(TITLE_QNAME);
                        if (title != null) {
                            pageTitle = title.getValue();
                        }
                        Attribute space = startElement.getAttributeByName(SPACE_QNAME);
                        if (space != null) {
                            spaceKey = space.getValue();
                        }
                    }
                } else if (e.isEndElement()) {
                    EndElement endElement = e.asEndElement();
                    if (endElement.getName().equals(ATTACHMENT_QNAME)) {
                        ContentEntityObject attachmentPage;
                        if (pageTitle == null) {
                            attachmentPage = page;
                        } else {
                            attachmentPage = pageManager.getPage(spaceKey, pageTitle);
                        }
                        Attachment attachment = attachmentManager.getAttachment(attachmentPage, fileName);
                        attachments.add(attachment);
                        fileName = null;
                        pageTitle = null;
                        spaceKey = null;
                    }
                }
            }
        } finally {
            r.close();
        }
    } catch (XMLStreamException e) {
        throw new SynchronizationException("Cannot read page: " + page.getTitle(), e);
    }
    return attachments;
}