List of usage examples for javax.xml.stream XMLStreamConstants END_ELEMENT
int END_ELEMENT
To view the source code for javax.xml.stream XMLStreamConstants END_ELEMENT.
Click Source Link
From source file:org.javelin.sws.ext.bind.internal.model.ComplexTypePattern.java
@Override public T consumeValue(XMLEventReader eventReader, UnmarshallingContext context) throws XMLStreamException { // first create an object to be filled (using PropertyAccessors - direct or bean) according to the content model T object = BeanUtils.instantiate(this.getJavaType()); // the order is dictated by incoming events, not by the mode // TODO: create a property to enable strict unmarshalling - dictated by content model // only this (ContentModel) pattern iterates over XML Events XMLEvent event = null;//from ww w . j a va 2 s . c om PropertyMetadataValue<T, ?> pmv = null; // this loop will only handle first level of start elements and only single end element // deeper levels will be handled by nested patterns while (true) { boolean end = false; event = eventReader.peek(); pmv = null; switch (event.getEventType()) { case XMLStreamConstants.ATTRIBUTE: pmv = this.consumeNestedAttribute(eventReader, context); break; case XMLStreamConstants.CDATA: case XMLStreamConstants.CHARACTERS: // TODO: XMLEvent.ENTITY_REFERENCE? if (this.simpleContent != null) { pmv = this.consumeSimpleContent(eventReader, context); break; } case XMLStreamConstants.COMMENT: case XMLStreamConstants.DTD: case XMLStreamConstants.SPACE: case XMLStreamConstants.ENTITY_DECLARATION: case XMLStreamConstants.NOTATION_DECLARATION: case XMLStreamConstants.PROCESSING_INSTRUCTION: eventReader.nextEvent(); break; case XMLStreamConstants.ENTITY_REFERENCE: // TODO: XMLEvent.ENTITY_REFERENCE? eventReader.nextEvent(); break; case XMLStreamConstants.START_DOCUMENT: // strange break; case XMLStreamConstants.START_ELEMENT: pmv = this.consumeNestedElement(eventReader, context); break; case XMLStreamConstants.END_ELEMENT: // TODO: in mixed content there will be more than one end element it this content model's level case XMLStreamConstants.END_DOCUMENT: end = true; break; } if (end) break; if (pmv != null) pmv.getMetadata().setValue(object, pmv.getValue()); } return (T) object; }
From source file:babel.content.pages.PageVersion.java
public void unpersist(XMLStreamReader reader) throws XMLStreamException { String elemTag;//from w w w .j a va 2s .co m String elemAttrib; m_verProps.clear(); ; m_contentMeta.clear(); m_parseMeta.clear(); m_outLinks = null; m_content = new String(); while (true) { int event = reader.next(); if (event == XMLStreamConstants.END_ELEMENT && XML_TAG_PAGEVERSION.equals(reader.getName().toString())) { break; } if (event == XMLStreamConstants.START_ELEMENT) { elemTag = reader.getName().toString(); elemAttrib = reader.getAttributeValue(0); if ("MetaData".equals(elemTag)) { if ("VersionProperties".equals(elemAttrib)) { m_verProps.unpersist(reader); } else if ("ContentMetadata".equals(elemAttrib)) { m_contentMeta.unpersist(reader); } else if ("ParseMetadata".equals(elemAttrib)) { m_parseMeta.unpersist(reader); } } else if (XML_TAG_CONTENT.equals(elemTag)) { //m_content = new String(Base64.decodeBase64(reader.getElementText().getBytes())); m_content = reader.getElementText(); } //TODO: Not reading the out links } } }
From source file:net.cloudkit.enterprises.ws.SuperPassQueryTest.java
public static String parsingReceiptStatus(String responseContext) throws XMLStreamException { String serviceResponseCode = "-1"; XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(responseContext)); try {//from www . j a v a 2 s .co m int event = reader.getEventType(); while (true) { switch (event) { case XMLStreamConstants.START_ELEMENT: // System.out.println(reader.getName()); if (reader.getName().toString().equals("ServiceResponseCode")) { // System.out.println(reader.getElementText()); serviceResponseCode = reader.getElementText(); } break; case XMLStreamConstants.END_ELEMENT: // System.out.println("End Element:" + r.getName()); break; } if (!reader.hasNext()) break; event = reader.next(); } } finally { reader.close(); } return serviceResponseCode; }
From source file:cz.muni.fi.mir.mathmlcanonicalization.MathMLCanonicalizer.java
/** * Loads configuration from XML file, overriding the properties. *//*from w w w .j a v a 2 s . c o m*/ private void loadXMLConfiguration(InputStream xmlConfigurationStream) throws ConfigException, XMLStreamException { assert xmlConfigurationStream != null; final XMLInputFactory inputFactory = XMLInputFactory.newInstance(); final XMLStreamReader reader = inputFactory.createXMLStreamReader(xmlConfigurationStream); boolean config = false; Module module = null; while (reader.hasNext()) { final int event = reader.next(); switch (event) { case XMLStreamConstants.START_ELEMENT: { String name = reader.getLocalName(); if (name.equals("config")) { config = true; break; } if (config && name.equals("module")) { if (reader.getAttributeCount() == 1) { final String attributeName = reader.getAttributeLocalName(0); final String attributeValue = reader.getAttributeValue(0); if (attributeName.equals("name") && attributeValue != null) { String fullyQualified = Settings.class.getPackage().getName() + ".modules." + attributeValue; try { Class<?> moduleClass = Class.forName(fullyQualified); module = (Module) moduleClass.newInstance(); } catch (InstantiationException ex) { LOGGER.log(Level.SEVERE, ex.getMessage(), ex); throw new ConfigException("cannot instantiate module " + attributeValue, ex); } catch (IllegalAccessException ex) { LOGGER.log(Level.SEVERE, ex.getMessage(), ex); throw new ConfigException("cannot access module " + attributeValue, ex); } catch (ClassNotFoundException ex) { LOGGER.log(Level.SEVERE, ex.getMessage(), ex); throw new ConfigException("cannot load module " + attributeValue, ex); } } } } if (config && name.equals("property")) { if (reader.getAttributeCount() == 1) { final String attributeName = reader.getAttributeLocalName(0); final String attributeValue = reader.getAttributeValue(0); if (attributeName.equals("name") && attributeValue != null) { if (module == null) { if (Settings.isProperty(attributeValue)) { Settings.setProperty(attributeValue, reader.getElementText()); } else { throw new ConfigException("configuration not valid\n" + "Tried to override non-existing global property " + attributeValue); } } else { if (module.isProperty(attributeValue)) { module.setProperty(attributeValue, reader.getElementText()); } else { throw new ConfigException("configuration not valid\n" + "configuration tried to override non-existing property " + attributeValue); } } } } } break; } case XMLStreamConstants.END_ELEMENT: { if (config && reader.getLocalName().equals("module")) { addModule(module); module = null; } if (config && reader.getLocalName().equals("config")) { config = false; } } } } }
From source file:com.microsoft.windowsazure.services.table.client.AtomPubParser.java
/** * Reserved for internal use. Parses the operation response as a collection of entities. Reads entity data from the * specified input stream using the specified class type and optionally projects each entity result with the * specified resolver into an {@link ODataPayload} containing a collection of {@link TableResult} objects. . * //from w w w . j a va2 s . c o m * @param inStream * The <code>InputStream</code> to read the data to parse from. * @param clazzType * The class type <code>T</code> implementing {@link TableEntity} for the entities returned. Set to * <code>null</code> to ignore the returned entities and copy only response properties into the * {@link TableResult} objects. * @param resolver * An {@link EntityResolver} instance to project the entities into instances of type <code>R</code>. Set * to <code>null</code> to return the entities as instances of the class type <code>T</code>. * @param opContext * An {@link OperationContext} object used to track the execution of the operation. * @return * An {@link ODataPayload} containing a collection of {@link TableResult} objects with the parsed operation * response. * * @throws XMLStreamException * if an error occurs while accessing the stream. * @throws ParseException * if an error occurs while parsing the stream. * @throws InstantiationException * if an error occurs while constructing the result. * @throws IllegalAccessException * if an error occurs in reflection while parsing the result. * @throws StorageException * if a storage service error occurs. */ @SuppressWarnings("unchecked") protected static <T extends TableEntity, R> ODataPayload<?> parseResponse(final InputStream inStream, final Class<T> clazzType, final EntityResolver<R> resolver, final OperationContext opContext) throws XMLStreamException, ParseException, InstantiationException, IllegalAccessException, StorageException { ODataPayload<T> corePayload = null; ODataPayload<R> resolvedPayload = null; ODataPayload<?> commonPayload = null; if (resolver != null) { resolvedPayload = new ODataPayload<R>(); commonPayload = resolvedPayload; } else { corePayload = new ODataPayload<T>(); commonPayload = corePayload; } final XMLStreamReader xmlr = Utility.createXMLStreamReaderFromStream(inStream); int eventType = xmlr.getEventType(); xmlr.require(XMLStreamConstants.START_DOCUMENT, null, null); eventType = xmlr.next(); xmlr.require(XMLStreamConstants.START_ELEMENT, null, ODataConstants.FEED); // skip feed chars eventType = xmlr.next(); while (xmlr.hasNext()) { eventType = xmlr.next(); if (eventType == XMLStreamConstants.CHARACTERS) { xmlr.getText(); continue; } final String name = xmlr.getName().toString(); if (eventType == XMLStreamConstants.START_ELEMENT) { if (name.equals(ODataConstants.BRACKETED_ATOM_NS + ODataConstants.ENTRY)) { final TableResult res = parseEntity(xmlr, clazzType, resolver, opContext); if (corePayload != null) { corePayload.tableResults.add(res); } if (resolver != null) { resolvedPayload.results.add((R) res.getResult()); } else { corePayload.results.add((T) res.getResult()); } } } else if (eventType == XMLStreamConstants.END_ELEMENT && name.equals(ODataConstants.BRACKETED_ATOM_NS + ODataConstants.FEED)) { break; } } xmlr.require(XMLStreamConstants.END_ELEMENT, null, ODataConstants.FEED); return commonPayload; }
From source file:edu.utah.further.core.api.xml.XmlUtil.java
/** * Basic StAX element printout. For more sophisticated functionality, use * {@link XmlStreamPrinter}./*from w w w . ja v a 2 s . co m*/ * * @param reader * reader * @return reader's next element textual representation */ public static String getEventSimpleString(final XMLStreamReader reader) { switch (reader.getEventType()) { case XMLStreamConstants.START_ELEMENT: return "START_ELEMENT:\t\"" + reader.getLocalName() + "\""; case XMLStreamConstants.END_ELEMENT: return "END_ELEMENT:\t\"" + reader.getLocalName() + "\""; case XMLStreamConstants.START_DOCUMENT: return "START_DOCUMENT"; case XMLStreamConstants.END_DOCUMENT: return "END_DOCUMENT"; case XMLStreamConstants.CHARACTERS: return "CHARACTERS:\t\"" + reader.getText() + "\"" + " blank? " + StringUtils.isWhitespace(reader.getText()); case XMLStreamConstants.SPACE: return "SPACE:\t\"" + reader.getText() + "\""; default: return "EVENT:\t" + reader.getEventType(); } }
From source file:edu.harvard.iq.dvn.core.analysis.NetworkDataServiceBean.java
private void processXML(String fileName, NetworkDataFile ndf) throws XMLStreamException, IOException { File file = new File(fileName); FileReader fileReader = new FileReader(file); javax.xml.stream.XMLInputFactory xmlif = javax.xml.stream.XMLInputFactory.newInstance(); xmlif.setProperty("javax.xml.stream.isCoalescing", java.lang.Boolean.TRUE); XMLStreamReader xmlr = xmlif.createXMLStreamReader(fileReader); for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { if (xmlr.getLocalName().equals("key")) processKey(xmlr, ndf);//w w w.ja v a2 s . com else if (xmlr.getLocalName().equals("graph")) processGraph(xmlr, ndf); } else if (event == XMLStreamConstants.END_ELEMENT) { if (xmlr.getLocalName().equals("graphml")) return; } } // If #nodes and #edges is not set, then go thru list to count them }
From source file:ca.uhn.fhir.parser.XmlParser.java
private <T> T doXmlLoop(XMLEventReader streamReader, ParserState<T> parserState) { ourLog.trace("Entering XML parsing loop with state: {}", parserState); try {/* www .j a v a2 s. c om*/ List<String> heldComments = new ArrayList<String>(1); while (streamReader.hasNext()) { XMLEvent nextEvent = streamReader.nextEvent(); try { switch (nextEvent.getEventType()) { case XMLStreamConstants.START_ELEMENT: { StartElement elem = nextEvent.asStartElement(); String namespaceURI = elem.getName().getNamespaceURI(); if ("extension".equals(elem.getName().getLocalPart())) { Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { getErrorHandler().missingRequiredElement(new ParseLocation("extension"), "url"); url = null; } else { url = urlAttr.getValue(); } parserState.enteringNewElementExtension(elem, url, false); } else if ("modifierExtension".equals(elem.getName().getLocalPart())) { Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { getErrorHandler().missingRequiredElement(new ParseLocation("modifierExtension"), "url"); url = null; } else { url = urlAttr.getValue(); } parserState.enteringNewElementExtension(elem, url, true); } else { String elementName = elem.getName().getLocalPart(); parserState.enteringNewElement(namespaceURI, elementName); } if (!heldComments.isEmpty()) { for (String next : heldComments) { parserState.commentPre(next); } heldComments.clear(); } @SuppressWarnings("unchecked") Iterator<Attribute> attributes = elem.getAttributes(); for (Iterator<Attribute> iter = attributes; iter.hasNext();) { Attribute next = iter.next(); parserState.attributeValue(next.getName().getLocalPart(), next.getValue()); } break; } case XMLStreamConstants.END_DOCUMENT: case XMLStreamConstants.END_ELEMENT: { if (!heldComments.isEmpty()) { for (String next : heldComments) { parserState.commentPost(next); } heldComments.clear(); } parserState.endingElement(); // if (parserState.isComplete()) { // return parserState.getObject(); // } break; } case XMLStreamConstants.CHARACTERS: { parserState.string(nextEvent.asCharacters().getData()); break; } case XMLStreamConstants.COMMENT: { Comment comment = (Comment) nextEvent; String commentText = comment.getText(); heldComments.add(commentText); break; } } parserState.xmlEvent(nextEvent); } catch (DataFormatException e) { throw new DataFormatException("DataFormatException at [" + nextEvent.getLocation().toString() + "]: " + e.getMessage(), e); } } return parserState.getObject(); } catch (XMLStreamException e) { throw new DataFormatException(e); } }
From source file:com.marklogic.contentpump.AggregateXMLReader.java
private void processStartElement() throws XMLStreamException { String name = xmlSR.getLocalName(); String namespace = xmlSR.getNamespaceURI(); if (LOG.isTraceEnabled()) { LOG.trace("Start-tag: " + xmlSR.getName() + " at depth " + currDepth); }/* www . j a v a 2 s . c om*/ if (namespace == null) { String prefix = xmlSR.getPrefix(); if ("".equals(prefix)) { prefix = DEFAULT_NS; } if (nameSpaces.get(prefix) != null) { namespace = nameSpaces.get(prefix).peek(); } } String prefix = xmlSR.getPrefix(); int attrCount = xmlSR.getAttributeCount(); boolean isNewRootStart = false; currDepth++; Location loc = xmlSR.getLocation(); if (recordName == null) { recordName = name; if (recordNamespace == null) { recordNamespace = namespace; } recordDepth = currDepth; isNewRootStart = true; newDoc = true; newUriId = true; if (useAutomaticId) { setKey(idGen.incrementAndGet(), loc.getLineNumber(), loc.getColumnNumber(), true); } } else { // record element name may not nest if (name.equals(recordName) && ((recordNamespace == null && namespace == null) || (recordNamespace != null && recordNamespace.equals(namespace)))) { recordDepth = currDepth; isNewRootStart = true; newDoc = true; newUriId = true; if (useAutomaticId) { setKey(idGen.incrementAndGet(), loc.getLineNumber(), loc.getColumnNumber(), true); } } } copyNameSpaceDecl(); if (!newDoc) { return; } StringBuilder sb = new StringBuilder(); sb.append("<"); if (prefix != null && !prefix.equals("")) { sb.append(prefix + ":" + name); } else { sb.append(name); } // add namespaces declared into the new root element if (isNewRootStart) { Set<String> keys = nameSpaces.keySet(); for (String k : keys) { String v = nameSpaces.get(k).peek(); if (DEFAULT_NS == k) { sb.append(" xmlns=\"" + v + "\""); } else { sb.append(" xmlns:" + k + "=\"" + v + "\""); } } } else { // add new namespace declaration into current element int stop = xmlSR.getNamespaceCount(); if (stop > 0) { String nsDeclPrefix, nsDeclUri; if (LOG.isTraceEnabled()) { LOG.trace("checking namespace declarations"); } for (int i = 0; i < stop; i++) { nsDeclPrefix = xmlSR.getNamespacePrefix(i); nsDeclUri = xmlSR.getNamespaceURI(i); if (LOG.isTraceEnabled()) { LOG.trace(nsDeclPrefix + ":" + nsDeclUri); } if (DEFAULT_NS == nsDeclPrefix) { sb.append(" xmlns=\"" + nsDeclUri + "\""); } else { sb.append(" xmlns:" + nsDeclPrefix + "=\"" + nsDeclUri + "\""); } } } } for (int i = 0; i < attrCount; i++) { String aPrefix = xmlSR.getAttributePrefix(i); String aName = xmlSR.getAttributeLocalName(i); String aValue = StringEscapeUtils.escapeXml(xmlSR.getAttributeValue(i)); sb.append(" " + (null == aPrefix ? "" : (aPrefix + ":")) + aName + "=\"" + aValue + "\""); if (!useAutomaticId && newDoc && ("@" + aName).equals(idName) && currentId == null) { currentId = aValue; setKey(aValue, loc.getLineNumber(), loc.getColumnNumber(), true); } } sb.append(">"); // allow for repeated idName elements: first one wins // NOTE: idName is namespace-insensitive if (!useAutomaticId && newDoc && name.equals(idName)) { int nextToken = xmlSR.next(); if (nextToken != XMLStreamConstants.CHARACTERS) { throw new XMLStreamException( "badly formed xml or " + idName + " is not a simple node: at" + xmlSR.getLocation()); } do { String idStr = StringEscapeUtils.escapeXml(xmlSR.getText()); if (currentId == null) { currentId = ""; } currentId += idStr; sb.append(idStr); } while ((nextToken = xmlSR.next()) == XMLStreamConstants.CHARACTERS); if (newUriId) { setKey(currentId, loc.getLineNumber(), loc.getColumnNumber(), true); newUriId = false; } else if (LOG.isDebugEnabled()) { LOG.debug("Duplicate URI_ID match found: key = " + key); } if (LOG.isTraceEnabled()) { LOG.trace("URI_ID: " + currentId); } // advance to the END_ELEMENT if (nextToken != XMLStreamConstants.END_ELEMENT) { throw new XMLStreamException("badly formed xml: no END_TAG after id text" + xmlSR.getLocation()); } sb.append("</"); if (prefix != null && !prefix.equals("")) { sb.append(prefix + ":" + name); } else { sb.append(name); } sb.append(">"); currDepth--; } write(sb.toString()); }
From source file:ddf.security.assertion.impl.SecurityAssertionImpl.java
/** * Parses the SecurityToken by wrapping within an AssertionWrapper. * * @param securityToken SecurityToken/* w w w . jav a 2s . c o m*/ */ private void parseToken(SecurityToken securityToken) { XMLStreamReader xmlStreamReader = StaxUtils.createXMLStreamReader(securityToken.getToken()); try { AttrStatement attributeStatement = null; AuthenticationStatement authenticationStatement = null; Attr attribute = null; int attrs = 0; while (xmlStreamReader.hasNext()) { int event = xmlStreamReader.next(); switch (event) { case XMLStreamConstants.START_ELEMENT: { String localName = xmlStreamReader.getLocalName(); switch (localName) { case NameID.DEFAULT_ELEMENT_LOCAL_NAME: name = xmlStreamReader.getElementText(); for (int i = 0; i < xmlStreamReader.getAttributeCount(); i++) { if (xmlStreamReader.getAttributeLocalName(i).equals(NameID.FORMAT_ATTRIB_NAME)) { nameIDFormat = xmlStreamReader.getAttributeValue(i); break; } } break; case AttributeStatement.DEFAULT_ELEMENT_LOCAL_NAME: attributeStatement = new AttrStatement(); attributeStatements.add(attributeStatement); break; case AuthnStatement.DEFAULT_ELEMENT_LOCAL_NAME: authenticationStatement = new AuthenticationStatement(); authenticationStatements.add(authenticationStatement); attrs = xmlStreamReader.getAttributeCount(); for (int i = 0; i < attrs; i++) { String name = xmlStreamReader.getAttributeLocalName(i); String value = xmlStreamReader.getAttributeValue(i); if (AuthnStatement.AUTHN_INSTANT_ATTRIB_NAME.equals(name)) { authenticationStatement.setAuthnInstant(DateTime.parse(value)); } } break; case AuthnContextClassRef.DEFAULT_ELEMENT_LOCAL_NAME: if (authenticationStatement != null) { String classValue = xmlStreamReader.getText(); classValue = classValue.trim(); AuthenticationContextClassRef authenticationContextClassRef = new AuthenticationContextClassRef(); authenticationContextClassRef.setAuthnContextClassRef(classValue); AuthenticationContext authenticationContext = new AuthenticationContext(); authenticationContext.setAuthnContextClassRef(authenticationContextClassRef); authenticationStatement.setAuthnContext(authenticationContext); } break; case Attribute.DEFAULT_ELEMENT_LOCAL_NAME: attribute = new Attr(); if (attributeStatement != null) { attributeStatement.addAttribute(attribute); } attrs = xmlStreamReader.getAttributeCount(); for (int i = 0; i < attrs; i++) { String name = xmlStreamReader.getAttributeLocalName(i); String value = xmlStreamReader.getAttributeValue(i); if (Attribute.NAME_ATTTRIB_NAME.equals(name)) { attribute.setName(value); } else if (Attribute.NAME_FORMAT_ATTRIB_NAME.equals(name)) { attribute.setNameFormat(value); } } break; case AttributeValue.DEFAULT_ELEMENT_LOCAL_NAME: XSString xsString = new XMLString(); xsString.setValue(xmlStreamReader.getElementText()); if (attribute != null) { attribute.addAttributeValue(xsString); } break; case Issuer.DEFAULT_ELEMENT_LOCAL_NAME: issuer = xmlStreamReader.getElementText(); break; case Conditions.DEFAULT_ELEMENT_LOCAL_NAME: attrs = xmlStreamReader.getAttributeCount(); for (int i = 0; i < attrs; i++) { String name = xmlStreamReader.getAttributeLocalName(i); String value = xmlStreamReader.getAttributeValue(i); if (Conditions.NOT_BEFORE_ATTRIB_NAME.equals(name)) { notBefore = DatatypeConverter.parseDateTime(value).getTime(); } else if (Conditions.NOT_ON_OR_AFTER_ATTRIB_NAME.equals(name)) { notOnOrAfter = DatatypeConverter.parseDateTime(value).getTime(); } } break; case SubjectConfirmation.DEFAULT_ELEMENT_LOCAL_NAME: attrs = xmlStreamReader.getAttributeCount(); for (int i = 0; i < attrs; i++) { String name = xmlStreamReader.getAttributeLocalName(i); String value = xmlStreamReader.getAttributeValue(i); if (SubjectConfirmation.METHOD_ATTRIB_NAME.equals(name)) { subjectConfirmations.add(value); } } case Assertion.DEFAULT_ELEMENT_LOCAL_NAME: attrs = xmlStreamReader.getAttributeCount(); for (int i = 0; i < attrs; i++) { String name = xmlStreamReader.getAttributeLocalName(i); String value = xmlStreamReader.getAttributeValue(i); if (Assertion.VERSION_ATTRIB_NAME.equals(name)) { if ("2.0".equals(value)) { tokenType = "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0"; } else if ("1.1".equals(value)) { tokenType = "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1"; } } } } break; } case XMLStreamConstants.END_ELEMENT: { String localName = xmlStreamReader.getLocalName(); switch (localName) { case AttributeStatement.DEFAULT_ELEMENT_LOCAL_NAME: attributeStatement = null; break; case Attribute.DEFAULT_ELEMENT_LOCAL_NAME: attribute = null; break; default: break; } break; } } } } catch (XMLStreamException e) { LOGGER.error("Unable to parse security token.", e); } finally { try { xmlStreamReader.close(); } catch (XMLStreamException ignore) { //ignore } } }