List of usage examples for javax.xml.stream.events Attribute getValue
public String getValue();
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)) {// w w w . j a v a 2s . co m 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.hp.application.automation.tools.octane.tests.TestResultIterator.java
@Override public boolean hasNext() { try {//from w ww .j a v a 2 s .c om 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: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);/*ww w .jav a 2 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.streamsets.pipeline.lib.salesforce.BulkRecordCreator.java
private Field pullMap(XMLEventReader reader) throws StageException, XMLStreamException { LinkedHashMap<String, Field> map = new LinkedHashMap<>(); String type = null;/*from ww w . j a v a2 s .com*/ while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (event.isStartElement()) { if (event.asStartElement().getName().getLocalPart().equals(TYPE)) { // Move to content event = reader.nextEvent(); type = event.asCharacters().getData().toLowerCase(); // Consume closing tag reader.nextEvent(); } else { String fieldName = event.asStartElement().getName().getLocalPart(); Attribute attr = event.asStartElement().getAttributeByName(XSI_TYPE); if (attr != null && attr.getValue().equals(S_OBJECT)) { // Element is a nested record map.put(fieldName, pullMap(reader)); } else { event = reader.nextEvent(); if (event.isCharacters()) { // Element is a field value String fieldValue = event.asCharacters().getData(); if (type == null) { throw new StageException(Errors.FORCE_38); } com.sforce.soap.partner.Field sfdcField = getFieldMetadata(type, fieldName); Field field = createField(fieldValue, sfdcField); if (conf.createSalesforceNsHeaders) { setHeadersOnField(field, getFieldMetadata(type, fieldName)); } map.put(fieldName, field); // Consume closing tag reader.nextEvent(); } else if (event.isStartElement()) { // Element is a nested list of records // Advance over <done>, <queryLocator> to record list while (!(event.isStartElement() && event.asStartElement().getName().getLocalPart().equals(RECORDS))) { event = reader.nextEvent(); } // Read record list List<Field> recordList = new ArrayList<>(); while (event.isStartElement() && event.asStartElement().getName().getLocalPart().equals(RECORDS)) { recordList.add(pullMap(reader)); event = reader.nextEvent(); } map.put(fieldName, Field.create(recordList)); } } } } else if (event.isEndElement()) { // Done with record return Field.createListMap(map); } } throw new StageException(Errors.FORCE_39); }
From source file:fr.openwide.talendalfresco.rest.client.ClientImportCommand.java
protected void handleResponseContentEvent(XMLEvent event) { String[] resultLog;/* www. j a v a2 s . c om*/ 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.msopentech.odatajclient.testservice.utils.XMLUtilities.java
public static Map.Entry<Integer, XmlElement> getAtomElement(final XMLEventReader reader, final XMLEventWriter discarded, final String name, final Collection<Map.Entry<String, String>> filterAttrs, final int initialDepth, final int minDepth, final int maxDepth, final boolean filterInOr) throws Exception { int depth = initialDepth; StartElement start = null;/*from w w w. ja va2 s . c o m*/ while (reader.hasNext() && start == null) { final XMLEvent event = reader.nextEvent(); if (event.getEventType() == XMLStreamConstants.START_ELEMENT) { depth++; if ((StringUtils.isBlank(name) || name.trim().equals(event.asStartElement().getName().getLocalPart())) && (minDepth < 0 || minDepth <= depth) && (maxDepth < 0 || maxDepth >= depth)) { boolean match = filterAttrs == null || filterAttrs.isEmpty() || !filterInOr; for (Map.Entry<String, String> filterAttr : filterAttrs == null ? Collections.<Map.Entry<String, String>>emptySet() : filterAttrs) { final Attribute attr = event.asStartElement() .getAttributeByName(new QName(filterAttr.getKey().trim())); if (attr == null || !filterAttr.getValue().trim().equals(attr.getValue())) { match = filterInOr ? match : false; } else { match = filterInOr ? true : match; } } if (match) { start = event.asStartElement(); } } } else if (event.getEventType() == XMLStreamConstants.END_ELEMENT) { depth--; } if (start == null) { if (discarded != null) { discarded.add(event); } } } if (start == null) { throw new Exception(String.format("Could not find an element named '%s'", name)); } return new SimpleEntry<Integer, XmlElement>(Integer.valueOf(depth - 1), getAtomElement(start, reader)); }
From source file:org.eclipse.swordfish.core.configuration.xml.XmlToPropertiesTransformerImpl.java
public void loadConfiguration(URL path) { Assert.notNull(path);/*w w w. j a v a 2s. c o m*/ InputStream inputStream = null; try { inputStream = path.openStream(); XMLInputFactory inputFactory = XMLInputFactory.newInstance(); LinkedList<String> currentElements = new LinkedList<String>(); XMLEventReader eventReader = inputFactory.createXMLEventReader(inputStream); Map<String, List<String>> props = new HashMap<String, List<String>>(); // Read the XML document while (eventReader.hasNext()) { XMLEvent event = eventReader.nextEvent(); if (event.isCharacters() && !event.asCharacters().isWhiteSpace()) { putElement(props, getQualifiedName(currentElements), event.asCharacters().getData()); } else if (event.isStartElement()) { currentElements.add(event.asStartElement().getName().getLocalPart()); for (Iterator attrIt = event.asStartElement().getAttributes(); attrIt.hasNext();) { Attribute attribute = (Attribute) attrIt.next(); putElement(props, getQualifiedName(currentElements) + "[@" + attribute.getName() + "]", attribute.getValue()); } } else if (event.isAttribute()) { } else if (event.isEndElement()) { String lastElem = event.asEndElement().getName().getLocalPart(); if (!currentElements.getLast().equals(lastElem)) { throw new UnsupportedOperationException(lastElem + "," + currentElements.getLast()); } currentElements.removeLast(); } } properties = flattenProperties(props); } catch (Exception ex) { throw new SwordfishException(ex); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException ex) { } } } }
From source file:com.amalto.core.load.io.XMLStreamUnwrapper.java
/** * Moves to next record in stream and stores it in {@link #stringWriter}. *//*from w w w.j a va 2 s . c o m*/ private void moveToNext() { try { XMLStreamWriter writer = xmlOutputFactory.createXMLStreamWriter(stringWriter); boolean hasMadeChanges; do { if (!reader.hasNext()) { break; } hasMadeChanges = false; // Keep a state to skip line feeds final XMLEvent event = reader.nextEvent(); if (event.isEndElement()) { level--; } else if (event.isStartElement()) { level++; } else if (event.isEndDocument()) { level--; } if (level >= RECORD_LEVEL) { if (event.isEndElement()) { writer.writeEndElement(); hasMadeChanges = true; } else if (event.isStartElement()) { final StartElement startElement = event.asStartElement(); final QName name = startElement.getName(); writer.writeStartElement(name.getNamespaceURI(), name.getLocalPart()); boolean isRecordRootElement = (RECORD_LEVEL == level - 1); if (isRecordRootElement) { for (int i = 0; i < rootNamespaceList.size(); i++) { Namespace namespace = rootNamespaceList.get(i); writer.writeNamespace(namespace.getPrefix(), namespace.getNamespaceURI()); } } // Declare namespaces (if any) final Iterator elementNamespaces = startElement.getNamespaces(); while (elementNamespaces.hasNext()) { Namespace elementNamespace = (Namespace) elementNamespaces.next(); if (isRecordRootElement) { if (rootNamespaceList.size() > 0) { for (int i = 0; i < rootNamespaceList.size(); i++) { Namespace namespace = rootNamespaceList.get(i); if (!namespace.getPrefix().equals(elementNamespace.getPrefix()) || !namespace.getNamespaceURI() .equals(elementNamespace.getNamespaceURI())) { writer.writeNamespace(elementNamespace.getPrefix(), elementNamespace.getNamespaceURI()); } } } else { writer.writeNamespace(elementNamespace.getPrefix(), elementNamespace.getNamespaceURI()); } } else { writer.writeNamespace(elementNamespace.getPrefix(), elementNamespace.getNamespaceURI()); } } // Write attributes final Iterator attributes = startElement.getAttributes(); while (attributes.hasNext()) { Attribute attribute = (Attribute) attributes.next(); QName attributeName = attribute.getName(); String value = attribute.getValue(); if (StringUtils.isEmpty(attributeName.getNamespaceURI())) { writer.writeAttribute(attributeName.getLocalPart(), value); } else { writer.writeAttribute(attributeName.getNamespaceURI(), attributeName.getLocalPart(), value); } } hasMadeChanges = true; } else if (event.isCharacters()) { final String text = event.asCharacters().getData().trim(); if (!text.isEmpty()) { writer.writeCharacters(text); hasMadeChanges = true; } } } } while (level > RECORD_LEVEL || !hasMadeChanges); writer.flush(); } catch (XMLStreamException e) { throw new RuntimeException("Unexpected parsing exception.", e); } }
From source file:org.fcrepo.serialization.JcrXmlSerializer.java
private void validateJCRXML(final File file) throws InvalidSerializationFormatException, IOException { int depth = 0; try (final FileInputStream fis = new FileInputStream(file)) { final XMLEventReader reader = XMLInputFactory.newFactory().createXMLEventReader(fis); while (reader.hasNext()) { final XMLEvent event = reader.nextEvent(); if (event.isStartElement()) { depth++;/*from w w w . ja va 2 s. co m*/ final StartElement startElement = event.asStartElement(); final Attribute nameAttribute = startElement .getAttributeByName(new QName("http://www.jcp.org/jcr/sv/1.0", "name")); if (depth == 1 && nameAttribute != null && "jcr:content".equals(nameAttribute.getValue())) { throw new InvalidSerializationFormatException( "Cannot import JCR/XML starting with content node."); } if (depth == 1 && nameAttribute != null && "jcr:frozenNode".equals(nameAttribute.getValue())) { throw new InvalidSerializationFormatException("Cannot import historic versions."); } final QName name = startElement.getName(); if (!(name.getNamespaceURI().equals("http://www.jcp.org/jcr/sv/1.0") && (name.getLocalPart().equals("node") || name.getLocalPart().equals("property") || name.getLocalPart().equals("value")))) { throw new InvalidSerializationFormatException( "Unrecognized element \"" + name.toString() + "\", in import XML."); } } else { if (event.isEndElement()) { depth--; } } } reader.close(); } catch (XMLStreamException e) { throw new InvalidSerializationFormatException( "Unable to parse XML" + (e.getMessage() != null ? " (" + e.getMessage() + ")." : ".")); } }
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 av a 2 s . c om 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; }