@Override public void writeContent(XMLExtendedStreamWriter writer, SubsystemMarshallingContext context) throws XMLStreamException { context.startSubsystemElement(Namespace.CURRENT.getUriString(), false); ModelNode node = context.getModelNode(); if (has(node, ACTIVATION)) { writeAttribute(writer, Attribute.ACTIVATION, node.get(ACTIVATION)); } if (has(node, CONFIGURATION)) { ModelNode configuration = node.get(CONFIGURATION); writer.writeStartElement(Element.CONFIGURATION.getLocalName()); writeAttribute(writer, Attribute.PID, configuration.require(PID)); if (has(configuration, CONFIGURATION_PROPERTIES)) { ModelNode configurationProperties = configuration.get(CONFIGURATION_PROPERTIES); Set<String> keys = configurationProperties.keys(); for (String current : keys) { String value = configurationProperties.get(current).asString(); writer.writeStartElement(Element.PROPERTY.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), current); writer.writeCharacters(value); writer.writeEndElement(); } } writer.writeEndElement(); } if (has(node, PROPERTIES)) { ModelNode properties = node.get(PROPERTIES); writer.writeStartElement(Element.PROPERTIES.getLocalName()); Set<String> keys = properties.keys(); for (String current : keys) { String value = properties.get(current).asString(); writer.writeStartElement(Element.PROPERTY.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), current); writer.writeCharacters(value); writer.writeEndElement(); } writer.writeEndElement(); } if (has(node, MODULES)) { ModelNode modules = node.get(MODULES); writer.writeStartElement(Element.MODULES.getLocalName()); Set<String> keys = modules.keys(); for (String current : keys) { ModelNode currentModule = modules.get(current); writer.writeEmptyElement(Element.MODULE.getLocalName()); writer.writeAttribute(Attribute.IDENTIFIER.getLocalName(), current); if (has(currentModule, START)) { writeAttribute(writer, Attribute.START, currentModule.require(START)); } } writer.writeEndElement(); } writer.writeEndElement(); }
private void writeProperties(final XMLExtendedStreamWriter writer, final ModelNode node) throws XMLStreamException { writer.writeStartElement(Element.PROPERTIES.getLocalName()); for (Property prop : node.asPropertyList()) { writer.writeStartElement(Element.PROPERTY.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), prop.getName()); PropertyResource.VALUE.marshallAsAttribute(prop.getValue(), writer); writer.writeEndElement(); } writer.writeEndElement(); }
private void writeProperties(final XMLExtendedStreamWriter writer, final ModelNode node) throws XMLStreamException { writer.writeStartElement(Element.PROPERTIES.getLocalName()); if (node.getType() == ModelType.LIST) { for (ModelNode prop : node.asList()) { if (prop.getType() == ModelType.PROPERTY) { writer.writeStartElement(Element.PROPERTY.getLocalName()); final Property property = prop.asProperty(); writer.writeAttribute(Attribute.NAME.getLocalName(), property.getName()); writeAttribute(writer, Attribute.VALUE, property.getValue()); writer.writeEndElement(); } } } writer.writeEndElement(); }