private void readElement1_0(XMLExtendedStreamReader reader, List<ModelNode> operations) throws XMLStreamException { final PathAddress address = PathAddress.pathAddress(JAXRExtension.SUBSYSTEM_PATH); final ModelNode addOp = Util.createAddOperation(address); operations.add(addOp); List<ModelNode> propertiesOps = null; while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { switch (Namespace.forUri(reader.getNamespaceURI())) { case JAXR_1_0: { final Element element = Element.forName(reader.getLocalName()); switch (element) { case CONNECTION_FACTORY: { parseBinding1_0(reader, addOp); break; } case JUDDI_SERVER: { propertiesOps = parseJuddiServer(reader, address); break; } default: throw unexpectedElement(reader); } } } } if (propertiesOps != null) { operations.addAll(propertiesOps); } }
private void readElement1_1(XMLExtendedStreamReader reader, List<ModelNode> operations) throws XMLStreamException { final PathAddress address = PathAddress.pathAddress(JAXRExtension.SUBSYSTEM_PATH); final ModelNode addOp = Util.createAddOperation(address); operations.add(addOp); List<ModelNode> propertiesOps = null; while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { switch (Namespace.forUri(reader.getNamespaceURI())) { case JAXR_1_1: { final Element element = Element.forName(reader.getLocalName()); switch (element) { case CONNECTION_FACTORY: { parseBinding1_1(reader, addOp); break; } case PROPERTIES: { propertiesOps = parseProperties(reader, address); break; } default: throw unexpectedElement(reader); } } } } if (propertiesOps != null) { operations.addAll(propertiesOps); } }
@Override public void writeContent(XMLExtendedStreamWriter writer, SubsystemMarshallingContext context) throws XMLStreamException { context.startSubsystemElement(Namespace.CURRENT.getUriString(), false); ModelNode node = context.getModelNode(); // write connection-factory writer.writeStartElement(Element.CONNECTION_FACTORY.getLocalName()); JAXRSubsystemRootResource.CONNECTION_FACTORY_ATTRIBUTE.marshallAsAttribute(node, writer); JAXRSubsystemRootResource.CONNECTION_FACTORY_IMPL_ATTRIBUTE.marshallAsAttribute(node, writer); writer.writeEndElement(); ModelNode properties = node.get(ModelDescriptionConstants.PROPERTY); if (properties.isDefined()) { writer.writeStartElement(Element.PROPERTIES.getLocalName()); for (String key : properties.keys()) { writer.writeStartElement(Element.PROPERTY.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), key); JAXRPropertyDefinition.VALUE.marshallAsAttribute(properties.get(key), writer); writer.writeEndElement(); } writer.writeEndElement(); } writer.writeEndElement(); }
private List<ModelNode> parseProperties(XMLExtendedStreamReader reader, PathAddress address) throws XMLStreamException { requireNoAttributes(reader); List<ModelNode> result = new ArrayList<ModelNode>(); // Handle properties while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { switch (Namespace.forUri(reader.getNamespaceURI())) { case JAXR_1_1: { final Element element = Element.forName(reader.getLocalName()); switch (element) { case PROPERTY: { ModelNode propNode = parseProperty(reader, address); result.add(propNode); break; } default: throw unexpectedElement(reader); } } } } return result; }
@Override public void readElement(XMLExtendedStreamReader reader, List<ModelNode> operations) throws XMLStreamException { Namespace readerNS = Namespace.forUri(reader.getNamespaceURI()); switch (readerNS) { case JAXR_1_0: readElement1_0(reader, operations); break; case JAXR_1_1: readElement1_1(reader, operations); break; default: throw unexpectedElement(reader); } }
@Override protected void initializeLegacyParsers(ExtensionParsingContext context) { context.setSubsystemXmlMapping(SUBSYSTEM_NAME, Namespace.JAXR_1_1.getUriString(), JAXRSubsystemParser::new); context.setSubsystemXmlMapping(SUBSYSTEM_NAME, Namespace.JAXR_1_0.getUriString(), JAXRSubsystemParser::new); } }