break; default: throw ParseUtils.unexpectedAttribute(reader, i); ParseUtils.requireNoContent(reader); break; final String[] array = requireAttributes(reader, org.jboss.as.controller.parsing.Attribute.NAME.getLocalName(), org.jboss.as.controller.parsing.Attribute.VALUE.getLocalName()); MailServerDefinition.PROPERTIES.parseAndAddParameterElement(array[0], array[1], operation, reader); ParseUtils.requireNoContent(reader); operation.get(OP_ADDR).set(address.toModelNode());
private void parsePlugIns(final XMLExtendedStreamReader reader, final ModelNode realmAddress, final List<ModelNode> list) throws XMLStreamException { while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { requireNamespace(reader, namespace); final Element element = Element.forName(reader.getLocalName()); switch (element) { case PLUG_IN: { ModelNode plugIn = new ModelNode(); plugIn.get(OP).set(ADD); String moduleValue = readStringAttributeElement(reader, Attribute.MODULE.getLocalName()); final ModelNode newAddress = realmAddress.clone(); newAddress.add(PLUG_IN, moduleValue); plugIn.get(OP_ADDR).set(newAddress); list.add(plugIn); break; } default: { throw unexpectedElement(reader); } } } }
public void parseInterfaces(final XMLExtendedStreamReader reader, final Set<String> names, final ModelNode address, final Namespace expectedNs, final List<ModelNode> list, final boolean checkSpecified) throws XMLStreamException { requireNoAttributes(reader); while (reader.nextTag() != END_ELEMENT) { requireNamespace(reader, expectedNs); Element element = Element.forName(reader.getLocalName()); if (Element.INTERFACE != element) { throw unexpectedElement(reader); } // Attributes requireSingleAttribute(reader, Attribute.NAME.getLocalName()); final String name = reader.getAttributeValue(0); if (!names.add(name)) { throw ControllerLogger.ROOT_LOGGER.duplicateInterfaceDeclaration(reader.getLocation()); } final ModelNode interfaceAdd = new ModelNode(); interfaceAdd.get(OP_ADDR).set(address).add(ModelDescriptionConstants.INTERFACE, name); interfaceAdd.get(OP).set(ADD); final ModelNode criteriaNode = interfaceAdd; parseInterfaceCriteria(reader, expectedNs, interfaceAdd); if (checkSpecified && criteriaNode.getType() != ModelType.STRING && criteriaNode.getType() != ModelType.EXPRESSION && criteriaNode.asInt() == 0) { throw unexpectedEndElement(reader); } list.add(interfaceAdd); } }
private void parseRolloutPlans(XMLExtendedStreamReader reader, ModelNode address, List<ModelNode> list) throws XMLStreamException { String hash = readStringAttributeElement(reader, Attribute.SHA1.getLocalName()); ModelNode addAddress = address.clone().add(MANAGEMENT_CLIENT_CONTENT, ROLLOUT_PLANS); ModelNode addOp = Util.getEmptyOperation(ADD, addAddress); try { addOp.get(HASH).set(HashUtil.hexStringToByteArray(hash)); } catch (final Exception e) { throw ControllerLogger.ROOT_LOGGER.invalidSha1Value(e, hash, Attribute.SHA1.getLocalName(), reader.getLocation()); } list.add(addOp); }
public static ModelNode parseEnvironmentVariables(final XMLExtendedStreamReader reader, final Namespace expectedNs, ModelNode addOp) throws XMLStreamException { final ModelNode properties = new ModelNode(); while (reader.nextTag() != END_ELEMENT) { requireNamespace(reader, expectedNs); if (Element.forName(reader.getLocalName()) != Element.VARIABLE) { throw unexpectedElement(reader); } final String[] array = requireAttributes(reader, Attribute.NAME.getLocalName(), Attribute.VALUE.getLocalName()); requireNoContent(reader); properties.add(array[0], ParseUtils.parsePossibleExpression(array[1])); } if (!properties.isDefined()) { throw missingRequiredElement(reader, Collections.singleton(Element.OPTION)); } addOp.get(JvmAttributes.JVM_ENV_VARIABLES).set(properties); return properties; }
private void parseUser(final XMLExtendedStreamReader reader, final ModelNode usersAddress, final List<ModelNode> list) throws XMLStreamException { requireSingleAttribute(reader, Attribute.USERNAME.getLocalName()); // After double checking the name of the only attribute we can retrieve it. final String userName = reader.getAttributeValue(0); final ModelNode userAddress = usersAddress.clone().add(USER, userName); ModelNode user = Util.getEmptyOperation(ADD, userAddress); list.add(user); String password = null; while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { requireNamespace(reader, namespace); final Element element = Element.forName(reader.getLocalName()); switch (element) { case PASSWORD: { password = reader.getElementText(); UserResourceDefinition.PASSWORD.parseAndSetParameter(password, user, reader); break; } default: { throw unexpectedElement(reader); } } } if (password == null) { throw missingRequiredElement(reader, EnumSet.of(Element.PASSWORD)); } }
private void parseSecret(final XMLExtendedStreamReader reader, final ModelNode realmAddress, final List<ModelNode> list) throws XMLStreamException { ModelNode secret = new ModelNode(); secret.get(OP).set(ADD); secret.get(OP_ADDR).set(realmAddress).add(SERVER_IDENTITY, SECRET); final int count = reader.getAttributeCount(); boolean hasSecret = false; if (count > 0) { String secretValue = readStringAttributeElement(reader, Attribute.VALUE.getLocalName()); SecretServerIdentityResourceDefinition.VALUE.parseAndSetParameter(secretValue, secret, reader); hasSecret = true; } else { while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { requireNamespace(reader, namespace); final Element element = Element.forName(reader.getLocalName()); switch (element) { case CREDENTIAL_REFERENCE: { throw unexpectedElement(reader); throw missingRequired(reader, Collections.singleton(Attribute.VALUE.getLocalName()));
private void parseServersAttributes(final XMLExtendedStreamReader reader, final ModelNode parentAddress, final List<ModelNode> list) throws XMLStreamException { // Handle attributes final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final String value = reader.getAttributeValue(i); if (!isNoNamespaceAttribute(reader, i)) { throw unexpectedAttribute(reader, i); } else { final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case DIRECTORY_GROUPING: { final ModelNode address = parentAddress.clone(); list.add(Util.getWriteAttributeOperation(address, DIRECTORY_GROUPING, HostResourceDefinition.DIRECTORY_GROUPING.parse(value,reader))); break; } default: throw unexpectedAttribute(reader, i); } } } }
private void parseSecret(final XMLExtendedStreamReader reader, final ModelNode realmAddress, final List<ModelNode> list) throws XMLStreamException { ModelNode secret = new ModelNode(); secret.get(OP).set(ADD); secret.get(OP_ADDR).set(realmAddress).add(SERVER_IDENTITY, SECRET); String secretValue = readStringAttributeElement(reader, Attribute.VALUE.getLocalName()); SecretServerIdentityResourceDefinition.VALUE.parseAndSetParameter(secretValue, secret, reader); list.add(secret); }
private void parseVault_1_1(final XMLExtendedStreamReader reader, final ModelNode address, final Namespace expectedNs, final List<ModelNode> list) throws XMLStreamException { final int vaultAttribCount = reader.getAttributeCount(); ModelNode vault = new ModelNode(); String code = null; requireNoNamespaceAttribute(reader, i); final String value = reader.getAttributeValue(i); final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case CODE: { VaultResourceDefinition.CODE.parseAndSetParameter(value, vault, reader); break; throw unexpectedAttribute(reader, i); ModelNode vaultAddress = address.clone(); vaultAddress.add(CORE_SERVICE, VAULT); if (code != null) { vault.get(Attribute.CODE.getLocalName()).set(code); vault.get(OP_ADDR).set(vaultAddress); while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { requireNamespace(reader, expectedNs); final Element element = Element.forName(reader.getLocalName()); switch (element) { case VAULT_OPTION: {
private void parsePrincipalToGroup_1_5(final XMLExtendedStreamReader reader, final ModelNode parentAddress, final ModelNode addOp) throws XMLStreamException { final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final String value = reader.getAttributeValue(i); if (!isNoNamespaceAttribute(reader, i)) { throw unexpectedAttribute(reader, i); } else { final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case GROUP_ATTRIBUTE: { PrincipalToGroupResourceDefinition.GROUP_ATTRIBUTE.parseAndSetParameter(value, addOp, reader); break; } default: { throw unexpectedAttribute(reader, i); } } } } requireNoContent(reader); addOp.get(OP_ADDR).set(parentAddress.clone().add(PRINCIPAL_TO_GROUP)); }
private void parseProperties(String childElementName, XMLExtendedStreamReader reader, ModelNode node, PropertiesAttributeDefinition attribute) throws XMLStreamException { while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { final Element element = Element.forName(reader.getLocalName()); if (childElementName.equals(element.getLocalName())) { final String[] array = requireAttributes(reader, org.jboss.as.controller.parsing.Attribute.NAME.getLocalName(), org.jboss.as.controller.parsing.Attribute.VALUE.getLocalName()); attribute.parseAndAddParameterElement(array[0], array[1], node, reader); } else { throw unexpectedElement(reader); } requireNoContent(reader); } }
private void writeFileAuditLogHandler(XMLExtendedStreamWriter writer, ModelNode auditLog, String name) throws XMLStreamException { // added ROTATE_AT_STARTUP attribute if (auditLog.hasDefined(ModelDescriptionConstants.FILE_HANDLER, name)) { writer.writeStartElement(Element.FILE_HANDLER.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), name); ModelNode handler = auditLog.get(ModelDescriptionConstants.FILE_HANDLER, name); FileAuditLogHandlerResourceDefinition.FORMATTER.marshallAsAttribute(handler, writer); FileAuditLogHandlerResourceDefinition.MAX_FAILURE_COUNT.marshallAsAttribute(handler, writer); FileAuditLogHandlerResourceDefinition.PATH.marshallAsAttribute(handler, writer); FileAuditLogHandlerResourceDefinition.RELATIVE_TO.marshallAsAttribute(handler, writer); FileAuditLogHandlerResourceDefinition.ROTATE_AT_STARTUP.marshallAsAttribute(handler, writer); writer.writeEndElement(); } }
@Override public void marshallAsElement(AttributeDefinition attribute, ModelNode resourceModel, boolean marshallDefault, XMLStreamWriter writer) throws XMLStreamException { resourceModel = resourceModel.get(attribute.getXmlName()); writer.writeStartElement(attribute.getName()); final List<Property> properties = resourceModel.asPropertyList(); for (Property property: properties) { writer.writeStartElement(org.jboss.as.controller.parsing.Element.PROPERTY.getLocalName()); writer.writeAttribute(org.jboss.as.controller.parsing.Attribute.NAME.getLocalName(), property.getName()); writer.writeCharacters(property.getValue().asString()); writer.writeEndElement(); } writer.writeEndElement(); }
void writeVault(XMLExtendedStreamWriter writer, ModelNode vault) throws XMLStreamException { writer.writeStartElement(Element.VAULT.getLocalName()); VaultResourceDefinition.CODE.marshallAsAttribute(vault, writer); VaultResourceDefinition.MODULE.marshallAsAttribute(vault, writer); if (vault.hasDefined(VAULT_OPTIONS)) { ModelNode properties = vault.get(VAULT_OPTIONS); for (Property prop : properties.asPropertyList()) { writer.writeEmptyElement(Element.VAULT_OPTION.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), prop.getName()); writer.writeAttribute(Attribute.VALUE.getLocalName(), prop.getValue().asString()); } } writer.writeEndElement(); }
private void parseNativeManagementInterfaceAttributes2_0(XMLExtendedStreamReader reader, ModelNode addOp) throws XMLStreamException { final int count = reader.getAttributeCount(); for (int i = 0; i < count; i++) { final String value = reader.getAttributeValue(i); if (!isNoNamespaceAttribute(reader, i)) { throw unexpectedAttribute(reader, i); } else { final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i)); switch (attribute) { case SECURITY_REALM: { NativeManagementResourceDefinition.SECURITY_REALM.parseAndSetParameter(value, addOp, reader); break; } default: throw unexpectedAttribute(reader, i); } } } }
@Override public void marshallAsElement(final AttributeDefinition attribute, final ModelNode resourceModel, final boolean marshallDefault, final XMLStreamWriter writer) throws XMLStreamException { for (ModelNode property : resourceModel.get(attribute.getName()).asList()) { writer.writeStartElement(attribute.getXmlName()); writer.writeAttribute(org.jboss.as.controller.parsing.Attribute.NAME.getLocalName(), property.asProperty().getName()); writer.writeCharacters(property.asProperty().getValue().asString()); writer.writeEndElement(); } }
private void parseConfigurations(XMLExtendedStreamReader reader, PathAddress parent, List<ModelNode> operations) throws XMLStreamException { // Handle attributes String pid = ParseUtils.requireAttributes(reader, Attribute.PID.getLocalName())[0]; ModelNode operation = Util.createAddOperation(parent.append(ModelConstants.CONFIGURATION, pid)); operations.add(operation); // Handle elements while (reader.nextTag() != END_ELEMENT) { switch (Namespace.forUri(reader.getNamespaceURI())) { case VERSION_1_0: { final Element element = Element.forName(reader.getLocalName()); if (element == Element.PROPERTY) { final String[] array = requireAttributes(reader, org.jboss.as.controller.parsing.Attribute.NAME.getLocalName(), org.jboss.as.controller.parsing.Attribute.VALUE.getLocalName()); ConfigurationResource.ENTRIES.parseAndAddParameterElement(array[0], array[1], operation, reader); ParseUtils.requireNoContent(reader); break; } else { throw unexpectedElement(reader); } } default: throw unexpectedElement(reader); } } } }
private void marshalToElement(ModelNode resourceModel, XMLStreamWriter writer) throws XMLStreamException { if (!resourceModel.isDefined()) { return; } for (Property property : resourceModel.asPropertyList()) { writer.writeStartElement(PROPERTY.getLocalName()); writer.writeAttribute(NAME.getLocalName(), property.getName()); writer.writeCharacters(property.getValue().asString()); writer.writeEndElement(); } } }
private void readCustomConfigurationProperty(XMLExtendedStreamReader reader, ModelNode configAttributeNode) throws XMLStreamException { if (!reader.getLocalName().equals(PROPERTY_ELEMENT)) { throw ParseUtils.unexpectedElement(reader); } ParseUtils.requireAttributes(reader, Attribute.NAME.getLocalName(), Attribute.VALUE.getLocalName()); String attr = reader.getAttributeValue(null, Attribute.NAME.getLocalName()); String val = reader.getAttributeValue(null, Attribute.VALUE.getLocalName()); ParseUtils.requireNoContent(reader); configAttributeNode.add(attr, val); }