private void parseCredential(final XMLStreamReader streamReader, CredentialParseFunction function) throws RealmUnavailableException, XMLStreamException { final int attributeCount = streamReader.getAttributeCount(); String name = null; String algorithm = null; String format = null; for (int i = 0; i < attributeCount; i ++) { String namespace = streamReader.getAttributeNamespace(i); if (namespace != null && !namespace.equals("")) { throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), name); } final String localName = streamReader.getAttributeLocalName(i); if ("name".equals(localName)) { name = streamReader.getAttributeValue(i); } else if ("algorithm".equals(localName)) { algorithm = streamReader.getAttributeValue(i); } else if ("format".equals(localName)) { format = streamReader.getAttributeValue(i); } else { throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), name); } } final String text = streamReader.getElementText().trim(); function.parseCredential(algorithm, format, text); }
@Override public void handle(XMLStreamReader xmlr, XMLStreamWriter xmlWriter) throws LocationAwareXMLStreamException, XMLStreamException { while (xmlr.hasNext()) { try { write(xmlr, xmlWriter); } catch (XMLStreamException xse) { // System.out.println("line: " + xmlr.getLocation().getLineNumber()); // System.out.println("col: " + xmlr.getLocation().getColumnNumber()); throw new LocationAwareXMLStreamException(xse.getMessage(), xse, xmlr.getLocation()); } xmlr.next(); } }
private static NodeLibrary load(String libraryName, File file, Reader r, NodeRepository nodeRepository) throws XMLStreamException { XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLStreamReader reader = xmlInputFactory.createXMLStreamReader(r); NodeLibrary nodeLibrary = null; while (reader.hasNext()) { int eventType = reader.next(); if (eventType == XMLStreamConstants.START_ELEMENT) { String tagName = reader.getLocalName(); if (tagName.equals("ndbx")) { String formatVersion = reader.getAttributeValue(null, "formatVersion"); if (formatVersion != null && !CURRENT_FORMAT_VERSION.equals(formatVersion)) { throw new OutdatedLibraryException(file, "File uses version " + formatVersion + ", current version is " + CURRENT_FORMAT_VERSION + "."); } String uuidString = reader.getAttributeValue(null, "uuid"); UUID uuid = (uuidString == null) ? UUID.randomUUID() : UUID.fromString(uuidString); nodeLibrary = parseNDBX(libraryName, file, reader, nodeRepository, uuid); } else { throw new XMLStreamException("Only tag ndbx allowed, not " + tagName, reader.getLocation()); } } } return nodeLibrary; }
private static void parsePathName(final XMLStreamReader reader, final Set<String> set) throws XMLStreamException { String name = null; final Set<Attribute> required = EnumSet.of(Attribute.NAME); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); switch (attribute) { case NAME: name = reader.getAttributeValue(i); break; default: throw unexpectedContent(reader); } } if (!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } set.add(name); // consume remainder of element parseNoContent(reader); }
private static void parseSubsystem(final XMLStreamReader reader, final Set<String> subsystems) throws XMLStreamException { String name = null; final Set<Attribute> required = EnumSet.of(Attribute.NAME); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); switch (attribute) { case NAME: name = reader.getAttributeValue(i); break; default: throw unexpectedContent(reader); } } if (!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } subsystems.add(name); if (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: return; default: throw unexpectedContent(reader); } } }
public static PlanNode fromXml(String planString) throws XMLStreamException { XMLInputFactory inputFactory = XMLType.getXmlInputFactory(); XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(planString)); while (reader.hasNext()&& (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { String element = reader.getLocalName(); if (element.equals("node")) { //$NON-NLS-1$ Properties props = getAttributes(reader); PlanNode planNode = new PlanNode(props.getProperty("name"));//$NON-NLS-1$ planNode.setParent(null); buildNode(reader, planNode); return planNode; } throw new XMLStreamException(JDBCPlugin.Util.gs("unexpected_element", reader.getName(), "node"),reader.getLocation());//$NON-NLS-1$ //$NON-NLS-2$ } return null; }
private static void parseNoContent(final XMLStreamReader reader) throws XMLStreamException { while (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: { return; } default: { throw unexpectedContent(reader); } } } throw endOfDocument(reader.getLocation()); }
loc = r.getLocation(); } else { loc = mLastLocation; loc = mLastLocation = r.getLocation(); int attrCount = r.getAttributeCount(); if (attrCount < 1) { attrs = null; attrs = new LinkedHashMap(); for (int i = 0; i < attrCount; ++i) { QName aname = r.getAttributeName(i); attrs.put(aname, new AttributeEventImpl(loc, aname, r.getAttributeValue(i), r.isAttributeSpecified(i))); return SimpleStartElement.construct(loc, r.getName(), attrs, ns, nsCtxt);
public static String printEvent(XMLStreamReader xmlr) b.append("EVENT:[" + xmlr.getLocation().getLineNumber() + "][" + xmlr.getLocation().getColumnNumber() + "] "); b.append(getName(xmlr.getEventType())); b.append(" ["); for (int i = 0; i < xmlr.getAttributeCount(); i++) { b.append(" "); printName(xmlr.getAttributePrefix(i), b); b.append("=\""); b.append(xmlr.getAttributeValue(i)); b.append("\"");
protected void skipToEnd(String tagName) throws XMLStreamException { while (reader.hasNext()) { if (reader.getEventType() == XMLStreamReader.END_ELEMENT && tagName.equals(reader.getName().toString())) { return; } reader.next(); } throw new DeserializationException("Missing end tag for element '" + tagName + "'" + reader.getLocation()); }
private static void parseTransformer(final XMLStreamReader reader, final List<String> transformerClassNames) throws XMLStreamException { String className = null; final Set<Attribute> required = EnumSet.of(Attribute.CLASS); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); switch (attribute) { case CLASS: className = reader.getAttributeValue(i); break; default: throw unexpectedContent(reader); } } if (!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } transformerClassNames.add(className); // consume remainder of element parseNoContent(reader); }
private static void parseSubsystem(final XMLStreamReader reader, final Set<String> subsystems) throws XMLStreamException { String name = null; final Set<Attribute> required = EnumSet.of(Attribute.NAME); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); switch (attribute) { case NAME: name = reader.getAttributeValue(i); break; default: throw unexpectedContent(reader); } } if (!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } subsystems.add(name); if (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: return; default: throw unexpectedContent(reader); } } }
public static PlanNode fromXml(String planString) throws XMLStreamException { XMLInputFactory inputFactory = XMLType.getXmlInputFactory(); XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(planString)); while (reader.hasNext()&& (reader.nextTag() != XMLStreamConstants.END_ELEMENT)) { String element = reader.getLocalName(); if (element.equals("node")) { //$NON-NLS-1$ Properties props = getAttributes(reader); PlanNode planNode = new PlanNode(props.getProperty("name"));//$NON-NLS-1$ planNode.setParent(null); buildNode(reader, planNode); return planNode; } throw new XMLStreamException(JDBCPlugin.Util.gs("unexpected_element", reader.getName(), "node"),reader.getLocation());//$NON-NLS-1$ //$NON-NLS-2$ } return null; }
private static void parseNoContent(final XMLStreamReader reader) throws XMLStreamException { while (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: { return; } default: { throw unexpectedContent(reader); } } } throw endOfDocument(reader.getLocation()); }
private Element readElement() { QName name = streamReader.getName(); Element element = new Element(toName(name), streamReader.getLocation().getLineNumber()); for (int i = 0; i < streamReader.getNamespaceCount(); i++) { element.namespace(new Namespace(streamReader.getNamespaceURI(i), streamReader.getNamespacePrefix(i))); } for (int i = 0; i < streamReader.getAttributeCount(); i++) { element.attr(toName(streamReader.getAttributeName(i)), streamReader.getAttributeValue(i)); } return element; }
private void parseAttribute(final XMLStreamReader streamReader, final Attributes attributes) throws XMLStreamException, RealmUnavailableException { String name = null; String value = null; final int attributeCount = streamReader.getAttributeCount(); for (int i = 0; i < attributeCount; i++) { String namespace = streamReader.getAttributeNamespace(i); if (namespace != null && !namespace.equals("")) { throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), this.name); } if ("name".equals(streamReader.getAttributeLocalName(i))) { name = streamReader.getAttributeValue(i); } else if ("value".equals(streamReader.getAttributeLocalName(i))) { value = streamReader.getAttributeValue(i); } else { throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), this.name); } } if (name == null) { throw ElytronMessages.log.fileSystemRealmMissingAttribute("name", path, streamReader.getLocation().getLineNumber(), this.name); } if (value == null) { throw ElytronMessages.log.fileSystemRealmMissingAttribute("value", path, streamReader.getLocation().getLineNumber(), this.name); } attributes.addLast(name, value); if (streamReader.nextTag() != END_ELEMENT) { throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), this.name); } }
public static Map<String, String> parseHeader(File f) { try { XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLStreamReader reader = xmlInputFactory.createXMLStreamReader(createFileReader(f)); while (reader.hasNext()) { int eventType = reader.next(); if (eventType == XMLStreamConstants.START_ELEMENT) { String tagName = reader.getLocalName(); if (tagName.equals("ndbx")) { return parseHeader(reader); } else { throw new XMLStreamException("Only tag ndbx allowed, not " + tagName, reader.getLocation()); } } } } catch (XMLStreamException e) { throw new RuntimeException(e); } catch (FileNotFoundException e) { throw new RuntimeException(e); } return Collections.emptyMap(); }
private static void parsePathName(final XMLStreamReader reader, final Set<String> set) throws XMLStreamException { String name = null; final Set<Attribute> required = EnumSet.of(Attribute.NAME); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); switch (attribute) { case NAME: name = reader.getAttributeValue(i); break; default: throw unexpectedContent(reader); } } if (!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } set.add(name); // consume remainder of element parseNoContent(reader); }
private static void parseSubsystem(final XMLStreamReader reader, final Set<String> subsystems) throws XMLStreamException { String name = null; final Set<Attribute> required = EnumSet.of(Attribute.NAME); final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final Attribute attribute = Attribute.of(reader.getAttributeName(i)); required.remove(attribute); switch (attribute) { case NAME: name = reader.getAttributeValue(i); break; default: throw unexpectedContent(reader); } } if (!required.isEmpty()) { throw missingAttributes(reader.getLocation(), required); } subsystems.add(name); while (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: return; default: unexpectedContent(reader); } } }
private static void parseExclusions(final XMLStreamReader reader, final ModuleStructureSpec specBuilder) throws XMLStreamException { while (reader.hasNext()) { switch (reader.nextTag()) { case XMLStreamConstants.END_ELEMENT: { return; } case XMLStreamConstants.START_ELEMENT: { switch (Element.of(reader.getName())) { case MODULE: parseModuleExclusion(reader, specBuilder); break; default: throw unexpectedContent(reader); } break; } default: { throw unexpectedContent(reader); } } } throw endOfDocument(reader.getLocation()); }