protected void parseInterfaces(final XMLExtendedStreamReader reader, final Set<String> names, final ModelNode address, final Namespace expectedNs, final List<ModelNode> list, final boolean checkSpecified) throws XMLStreamException { interfacesXml.parseInterfaces(reader, names, address, expectedNs, list, checkSpecified); }
/** * Write the interfaces including the criteria elements. * * @param writer the xml stream writer * @param modelNode the model * @throws XMLStreamException */ protected void writeInterfaces(final XMLExtendedStreamWriter writer, final ModelNode modelNode) throws XMLStreamException { interfacesXml.writeInterfaces(writer, modelNode); }
switch (element) { case ANY: parseCompoundInterfaceCriterion(reader, expectedNs, interfaceModel.get(ANY).setEmptyObject()); break; case NOT: parseCompoundInterfaceCriterion(reader, expectedNs, interfaceModel.get(NOT).setEmptyObject()); break; default: { parseSimpleInterfaceCriterion(reader, interfaceModel, false); break;
/** * Write the criteria elements, extracting the information of the sub-model. * * @param writer the xml stream writer * @param subModel the interface model * @param nested whether it the criteria elements are nested as part of <not /> or <any /> * @throws XMLStreamException */ private void writeInterfaceCriteria(final XMLExtendedStreamWriter writer, final ModelNode subModel, final boolean nested) throws XMLStreamException { for (final Property property : subModel.asPropertyList()) { if (property.getValue().isDefined()) { writeInterfaceCriteria(writer, property, nested); } } }
private void parseCompoundInterfaceCriterion(final XMLExtendedStreamReader reader, final Namespace expectedNs, final ModelNode subModel) throws XMLStreamException { requireNoAttributes(reader); while (reader.nextTag() != END_ELEMENT) { requireNamespace(reader, expectedNs); parseSimpleInterfaceCriterion(reader, subModel, true); } }
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); } }
switch (element) { case ANY: parseCompoundInterfaceCriterion(reader, expectedNs, interfaceModel.get(ANY).setEmptyObject()); break; case NOT: parseCompoundInterfaceCriterion(reader, expectedNs, interfaceModel.get(NOT).setEmptyObject()); break; default: { parseSimpleInterfaceCriterion(reader, interfaceModel, false); break;
/** * Write the criteria elements, extracting the information of the sub-model. * * @param writer the xml stream writer * @param subModel the interface model * @param nested whether it the criteria elements are nested as part of <not /> or <any /> * @throws XMLStreamException */ private void writeInterfaceCriteria(final XMLExtendedStreamWriter writer, final ModelNode subModel, final boolean nested) throws XMLStreamException { for (final Property property : subModel.asPropertyList()) { if (property.getValue().isDefined()) { writeInterfaceCriteria(writer, property, nested); } } }
private void parseCompoundInterfaceCriterion(final XMLExtendedStreamReader reader, final Namespace expectedNs, final ModelNode subModel) throws XMLStreamException { requireNoAttributes(reader); while (reader.nextTag() != END_ELEMENT) { requireNamespace(reader, expectedNs); parseSimpleInterfaceCriterion(reader, subModel, true); } }
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); } }
switch (element) { case INET_ADDRESS: writeInterfaceCriteria(writer, element, Attribute.VALUE, property.getValue(), nested); break; case LOOPBACK_ADDRESS: writeInterfaceCriteria(writer, element, Attribute.VALUE, property.getValue(), false); break; case LINK_LOCAL_ADDRESS: writeInterfaceCriteria(writer, element, Attribute.NAME, property.getValue(), nested); break; case NIC_MATCH: writeInterfaceCriteria(writer, element, Attribute.PATTERN, property.getValue(), nested); break; case SUBNET_MATCH: writeInterfaceCriteria(writer, element, Attribute.VALUE, property.getValue(), nested); break; case ANY: writeInterfaceCriteria(writer, property.getValue(), true); writer.writeEndElement(); break;
/** * Write the interfaces including the criteria elements. * * @param writer the xml stream writer * @param modelNode the model * @throws XMLStreamException */ protected void writeInterfaces(final XMLExtendedStreamWriter writer, final ModelNode modelNode) throws XMLStreamException { interfacesXml.writeInterfaces(writer, modelNode); }
protected void parseInterfaces(final XMLExtendedStreamReader reader, final Set<String> names, final ModelNode address, final Namespace expectedNs, final List<ModelNode> list, final boolean checkSpecified) throws XMLStreamException { interfacesXml.parseInterfaces(reader, names, address, expectedNs, list, checkSpecified); }
switch (element) { case INET_ADDRESS: writeInterfaceCriteria(writer, element, Attribute.VALUE, property.getValue(), nested); break; case LOOPBACK_ADDRESS: writeInterfaceCriteria(writer, element, Attribute.VALUE, property.getValue(), false); break; case LINK_LOCAL_ADDRESS: writeInterfaceCriteria(writer, element, Attribute.NAME, property.getValue(), nested); break; case NIC_MATCH: writeInterfaceCriteria(writer, element, Attribute.PATTERN, property.getValue(), nested); break; case SUBNET_MATCH: writeInterfaceCriteria(writer, element, Attribute.VALUE, property.getValue(), nested); break; case ANY: writeInterfaceCriteria(writer, property.getValue(), true); writer.writeEndElement(); break;
/** * Write the interfaces including the criteria elements. * * @param writer the xml stream writer * @param modelNode the model * @throws XMLStreamException */ void writeInterfaces(final XMLExtendedStreamWriter writer, final ModelNode modelNode) throws XMLStreamException { writer.writeStartElement(Element.INTERFACES.getLocalName()); final Set<String> interfaces = modelNode.keys(); for (String ifaceName : interfaces) { final ModelNode iface = modelNode.get(ifaceName); writer.writeStartElement(Element.INTERFACE.getLocalName()); writeAttribute(writer, Attribute.NAME, ifaceName); // <any-* /> is just handled at the root if (iface.get(Element.ANY_ADDRESS.getLocalName()).asBoolean(false)) { writer.writeEmptyElement(Element.ANY_ADDRESS.getLocalName()); } else { // Write the other criteria elements writeInterfaceCriteria(writer, iface, false); } writer.writeEndElement(); } writer.writeEndElement(); }
/** * Write the interfaces including the criteria elements. * * @param writer the xml stream writer * @param modelNode the model * @throws XMLStreamException */ void writeInterfaces(final XMLExtendedStreamWriter writer, final ModelNode modelNode) throws XMLStreamException { writer.writeStartElement(Element.INTERFACES.getLocalName()); final Set<String> interfaces = modelNode.keys(); for (String ifaceName : interfaces) { final ModelNode iface = modelNode.get(ifaceName); writer.writeStartElement(Element.INTERFACE.getLocalName()); writeAttribute(writer, Attribute.NAME, ifaceName); // <any-* /> is just handled at the root if (iface.get(Element.ANY_ADDRESS.getLocalName()).asBoolean(false)) { writer.writeEmptyElement(Element.ANY_ADDRESS.getLocalName()); } else { // Write the other criteria elements writeInterfaceCriteria(writer, iface, false); } writer.writeEndElement(); } writer.writeEndElement(); }