List of usage examples for javax.xml.stream.events EndElement getName
public QName getName();
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; }