void readKeys(List<ModelNode> list, XMLExtendedStreamReader reader, PathAddress parentAddr) throws XMLStreamException { ParseUtils.requireNoAttributes(reader); List<ModelNode> keyList = new LinkedList<>(); while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName(); if (!Constants.XML.KEY.equals(tagName)) { throw ParseUtils.unexpectedElement(reader); } readKey(keyList, reader, parentAddr); } list.addAll(keyList); }
/** * {@inheritDoc} */ @Override public void readElement(final XMLExtendedStreamReader reader, final List<ModelNode> list) throws XMLStreamException { // Require no attributes ParseUtils.requireNoAttributes(reader); ModelNode addKeycloakSub = Util.createAddOperation(PathAddress.pathAddress(KeycloakSamlExtension.PATH_SUBSYSTEM)); list.add(addKeycloakSub); while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { } }
/** * {@inheritDoc} */ @Override public void readElement(final XMLExtendedStreamReader reader, final List<ModelNode> list) throws XMLStreamException { // Require no attributes ParseUtils.requireNoAttributes(reader); ModelNode addKeycloakSub = Util.createAddOperation(PathAddress.pathAddress(KeycloakSamlExtension.PATH_SUBSYSTEM)); list.add(addKeycloakSub); while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { if (reader.getLocalName().equals(Constants.XML.SECURE_DEPLOYMENT)) { readSecureDeployment(reader, list); } else { throw ParseUtils.unexpectedElement(reader); } } }
void readRoleIdentifiers(ModelNode addServiceProvider, XMLExtendedStreamReader reader) throws XMLStreamException { ParseUtils.requireNoAttributes(reader); while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName(); if (!Constants.XML.ATTRIBUTE.equals(tagName)) { throw ParseUtils.unexpectedElement(reader); } ParseUtils.requireSingleAttribute(reader, Constants.XML.NAME); String name = ParseUtils.readStringAttributeElement(reader, Constants.XML.NAME); ServiceProviderDefinition.ROLE_ATTRIBUTES.parseAndAddParameterElement(name, addServiceProvider, reader); } }
void readSecureDeployment(XMLExtendedStreamReader reader, List<ModelNode> list) throws XMLStreamException { String name = readRequiredAttribute(reader, Constants.XML.NAME); PathAddress addr = PathAddress.pathAddress( PathElement.pathElement(ModelDescriptionConstants.SUBSYSTEM, KeycloakSamlExtension.SUBSYSTEM_NAME), PathElement.pathElement(Constants.Model.SECURE_DEPLOYMENT, name)); ModelNode addSecureDeployment = Util.createAddOperation(addr); list.add(addSecureDeployment); while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName(); if (tagName.equals(Constants.XML.SERVICE_PROVIDER)) { readServiceProvider(reader, list, addr); } else { throw ParseUtils.unexpectedElement(reader); } } }
void readKey(List<ModelNode> list, XMLExtendedStreamReader reader, PathAddress parentAddr) throws XMLStreamException { PathAddress addr = PathAddress.pathAddress(parentAddr, PathElement.pathElement(Constants.Model.KEY, "key-" + list.size())); ModelNode addKey = Util.createAddOperation(addr); list.add(addKey); for (int i = 0; i < reader.getAttributeCount(); i++) { String name = reader.getAttributeLocalName(i); String value = reader.getAttributeValue(i); SimpleAttributeDefinition attr = KeyDefinition.lookup(name); if (attr == null) { throw ParseUtils.unexpectedAttribute(reader, i); } attr.parseAndSetParameter(value, addKey, reader); } while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName(); if (Constants.XML.KEY_STORE.equals(tagName)) { readKeyStore(addKey, reader); } else if (Constants.XML.PRIVATE_KEY_PEM.equals(tagName) || Constants.XML.PUBLIC_KEY_PEM.equals(tagName) || Constants.XML.CERTIFICATE_PEM.equals(tagName)) { readNoAttrElementContent(KeyDefinition.lookupElement(tagName), addKey, reader); } else { throw ParseUtils.unexpectedElement(reader); } } }
while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName();
while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName();
void readKeyStore(ModelNode addKey, XMLExtendedStreamReader reader) throws XMLStreamException { ModelNode addKeyStore = addKey.get(Constants.Model.KEY_STORE); for (int i = 0; i < reader.getAttributeCount(); i++) { String name = reader.getAttributeLocalName(i); String value = reader.getAttributeValue(i); SimpleAttributeDefinition attr = KeyStoreDefinition.lookup(name); if (attr == null) { throw ParseUtils.unexpectedAttribute(reader, i); } attr.parseAndSetParameter(value, addKeyStore, reader); } if (!addKeyStore.hasDefined(Constants.Model.FILE) && !addKeyStore.hasDefined(Constants.Model.RESOURCE)) { throw new XMLStreamException("KeyStore element must have 'file' or 'resource' attribute set", reader.getLocation()); } if (!addKeyStore.hasDefined(Constants.Model.PASSWORD)) { throw ParseUtils.missingRequired(reader, Constants.XML.PASSWORD); } while (reader.hasNext() && nextTag(reader) != END_ELEMENT) { String tagName = reader.getLocalName(); if (Constants.XML.PRIVATE_KEY.equals(tagName)) { readPrivateKey(reader, addKeyStore); } else if (Constants.XML.CERTIFICATE.equals(tagName)) { readCertificate(reader, addKeyStore); } else { throw ParseUtils.unexpectedElement(reader); } } }