Example usage for javax.xml.stream XMLStreamReader next

List of usage examples for javax.xml.stream XMLStreamReader next

Introduction

In this page you can find the example usage for javax.xml.stream XMLStreamReader next.

Prototype

public int next() throws XMLStreamException;

Source Link

Document

Get next parsing event - a processor may return all contiguous character data in a single chunk, or it may split it into several chunks.

Usage

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final DmElement readMixedElement(final XMLStreamReader reader) throws XMLStreamException {
    final QName name = reader.getName();
    final List<DmNode> children = new LinkedList<DmNode>();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            children.add(readMixedElement(reader));
            break;
        }//from  w w  w . j  a  va 2s  . c o  m
        case XMLStreamConstants.END_ELEMENT: {
            if (name.equals(reader.getName())) {
                return new DmElement(name, children);
            } else {
                throw new AssertionError(reader.getLocalName());
            }
        }
        case XMLStreamConstants.CHARACTERS: {
            // Assume that the element will coalesce text nodes.
            children.add(new DmText(reader.getText()));
            break;
        }
        case XMLStreamConstants.COMMENT: {
            // Ignore for now.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final Param readParam(final XMLStreamReader reader) throws XMLStreamException {
    assertName(WadlElementName.PARAM, reader);
    final String name = getName(reader, null);
    final ParamStyle style = getParamStyle(reader, WadlAttributeName.STYLE);
    final String id = getId(reader);
    final QName type = getQNameAttribute(WadlAttributeName.TYPE,
            new QName("http://www.w3.org/2001/XMLSchema", "string"), reader);
    final String defaultValue = getStringAttribute(WadlAttributeName.DEFAULT_VALUE, null, reader);
    final boolean required = getBooleanAttribute(WadlAttributeName.REQUIRED, false, reader);
    final boolean repeating = getBooleanAttribute(WadlAttributeName.REPEATING, false, reader);
    final String fixed = getStringAttribute(WadlAttributeName.FIXED, null, reader);
    final String path = getStringAttribute(WadlAttributeName.PATH, null, reader);
    final List<Documentation> doc = new LinkedList<Documentation>();
    final List<Option> options = new LinkedList<Option>();
    final Link link = null;
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            if (match(WadlElementName.DOCUMENTATION, reader)) {
                doc.add(readDocumentation(reader));
            } else if (match(WadlElementName.OPTION, reader)) {
                options.add(readOption(reader));
            } else {
                skipForeignNamespaceElement(reader);
            }//from ww w . j  ava 2s.  c  o m
            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            assertName(WadlElementName.PARAM, reader);
            return new Param(name, style, id, type, defaultValue, required, repeating, fixed, path, doc,
                    options, link);
        }
        case XMLStreamConstants.CHARACTERS: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final Representation readRepresentation(final XMLStreamReader reader) throws XMLStreamException {
    assertName(WadlElementName.REPRESENTATION, reader);
    final String id = getId(reader);
    final QName element = getQNameAttribute(WadlAttributeName.ELEMENT, null, reader);
    final String mediaType = getStringAttribute(WadlAttributeName.MEDIA_TYPE, null, reader);
    @SuppressWarnings("unused")
    final String href = getHRef(reader, null);
    final List<String> profiles = getStringListType(WadlAttributeName.PROFILE, reader);
    final List<Param> params = new LinkedList<Param>();
    final List<Documentation> documentation = new LinkedList<Documentation>();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            skipForeignNamespaceElement(reader);
            break;
        }// w  w  w.  j a  v a2s . co m
        case XMLStreamConstants.END_ELEMENT: {
            assertName(WadlElementName.REPRESENTATION, reader);
            return new Representation(id, element, mediaType, profiles, documentation, params);
        }
        case XMLStreamConstants.CHARACTERS: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final Request readRequest(final XMLStreamReader reader) throws XMLStreamException {
    assertName(WadlElementName.REQUEST, reader);
    final List<Param> params = new LinkedList<Param>();
    final List<Representation> representations = new LinkedList<Representation>();
    final List<Documentation> documentation = new LinkedList<Documentation>();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            if (match(WadlElementName.REPRESENTATION, reader)) {
                representations.add(readRepresentation(reader));
            } else if (match(WadlElementName.PARAM, reader)) {
                params.add(readParam(reader));
            } else {
                skipForeignNamespaceElement(reader);
            }//from   ww w .ja v a2  s. c  om
            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            assertName(WadlElementName.REQUEST, reader);
            return new Request(documentation, params, representations);
        }
        case XMLStreamConstants.CHARACTERS: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final Resource readResource(final XMLStreamReader reader) throws XMLStreamException {
    assertName(WadlElementName.RESOURCE, reader);
    final String id = getId(reader);
    final List<String> type = getStringListType(WadlAttributeName.TYPE, reader);
    final String queryType = getQueryType(reader, WadlSyntax.QUERY_TYPE_APPLICATION_X_WWW_FORM_URLENCODED);
    final String path = getStringAttribute(WadlAttributeName.PATH, null, reader);
    final String resourceClass = getStringAttribute(WadlAttributeName.RESOURCE_CLASS, null, reader);
    final List<Documentation> documentation = new LinkedList<Documentation>();
    final List<Param> params = new LinkedList<Param>();
    final List<Method> methods = new LinkedList<Method>();
    final List<Resource> resources = new LinkedList<Resource>();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            if (match(WadlElementName.RESOURCE, reader)) {
                resources.add(readResource(reader));
            } else if (match(WadlElementName.DOCUMENTATION, reader)) {
                documentation.add(readDocumentation(reader));
            } else if (match(WadlElementName.PARAM, reader)) {
                params.add(readParam(reader));
            } else if (match(WadlElementName.METHOD, reader)) {
                methods.add(readMethod(reader));
            } else {
                skipForeignNamespaceElement(reader);
            }/*from   w w  w.  j a  v  a 2 s .  co m*/
            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            assertName(WadlElementName.RESOURCE, reader);
            return new Resource(id, type, queryType, path, documentation, params, methods, resources,
                    resourceClass);
        }
        case XMLStreamConstants.CHARACTERS:
        case XMLStreamConstants.COMMENT: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final Resources readResources(final XMLStreamReader reader) throws XMLStreamException {
    assertName(WadlElementName.RESOURCES, reader);
    final String base = getBase(reader, null);
    final List<Documentation> documentation = new LinkedList<Documentation>();
    final List<Resource> resources = new LinkedList<Resource>();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            if (match(WadlElementName.RESOURCE, reader)) {
                resources.add(readResource(reader));
            } else if (match(WadlElementName.DOCUMENTATION, reader)) {
                documentation.add(readDocumentation(reader));
            } else {
                skipForeignNamespaceElement(reader);
            }/*from w w  w . ja va 2s.  co m*/
            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            assertName(WadlElementName.RESOURCES, reader);
            return new Resources(base, documentation, resources);
        }
        case XMLStreamConstants.CHARACTERS: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

private static final Response readResponse(final XMLStreamReader reader) throws XMLStreamException {
    assertName(WadlElementName.RESPONSE, reader);
    final List<String> statusCodes = new LinkedList<String>();
    final List<Param> params = new LinkedList<Param>();
    final List<Representation> representations = new LinkedList<Representation>();
    final List<Documentation> documentation = new LinkedList<Documentation>();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            if (match(WadlElementName.REPRESENTATION, reader)) {
                representations.add(readRepresentation(reader));
            } else if (match(WadlElementName.PARAM, reader)) {
                params.add(readParam(reader));
            } else if (match(WadlElementName.DOCUMENTATION, reader)) {
                documentation.add(readDocumentation(reader));
            } else {
                skipForeignNamespaceElement(reader);
            }//from  w ww .j ava 2  s .  com
            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            assertName(WadlElementName.RESPONSE, reader);
            return new Response(statusCodes, documentation, params, representations);
        }
        case XMLStreamConstants.CHARACTERS: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.wadl.reader.WadlReader.java

/**
 * Skips (recursively) over the element in question. Also useful during development.
 *
 * @param reader/*from   w  w w .  j  ava 2 s.  com*/
 *            The StAX {@link XMLStreamReader}.
 */
private static final void skipElementReally(final XMLStreamReader reader) throws XMLStreamException {
    final String localName = reader.getLocalName();
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            skipElementReally(reader);
            break;
        }
        case XMLStreamConstants.END_ELEMENT: {
            if (localName.equals(reader.getLocalName())) {
                return;
            } else {
                throw new AssertionError(reader.getLocalName());
            }
        }
        case XMLStreamConstants.CHARACTERS:
        case XMLStreamConstants.COMMENT: {
            // Ignore.
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.xmi.comp.XmiMappingReader.java

private static final XmiComparison readDocument(final XMLStreamReader reader) throws XMLStreamException {
    assertStartDocument(reader);// w ww  .j  a v  a 2 s  . c o  m
    XmiComparison dm = null;
    while (reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            if (match(XmiMappingConstants.DOCUMENT_ELEMENT, reader)) {
                dm = assertNotNull(readMappingList(reader));
                return dm;
            } else {
                XMLStreamReaderTools.skipElement(reader);
            }
            break;
        }
        case XMLStreamConstants.END_DOCUMENT: {
            return validateNotNull(dm, "Missing root element: " + XmiMappingConstants.DOCUMENT_ELEMENT);
        }
        case XMLStreamConstants.PROCESSING_INSTRUCTION: {
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    throw new AssertionError();
}

From source file:org.slc.sli.modeling.xmi.comp.XmiMappingReader.java

private static final String readStringContent(final QName elementName, final XMLStreamReader reader)
        throws XMLStreamException {
    assertStartElement(reader);/*from  w  w  w.  j a va 2  s  . c o m*/
    assertName(elementName, reader);
    final StringBuilder sb = new StringBuilder();
    boolean done = false;
    while (!done && reader.hasNext()) {
        reader.next();
        switch (reader.getEventType()) {
        case XMLStreamConstants.START_ELEMENT: {
            throw new AssertionError(reader.getLocalName());
        }
        case XMLStreamConstants.END_ELEMENT: {
            assertName(elementName, reader);
            done = true;
            break;
        }
        case XMLStreamConstants.CHARACTERS: {
            sb.append(reader.getText());
            break;
        }
        default: {
            throw new AssertionError(reader.getEventType());
        }
        }
    }
    return sb.toString().trim();
}