private void writeConnectionCreationOptions( final XMLExtendedStreamWriter writer, final ModelNode model) throws XMLStreamException { // <connection-creation-options> writer.writeStartElement(Element.CONNECTION_CREATION_OPTIONS.getLocalName()); final List<Property> connectionCreationOptions = model.get(CONNECTION_CREATION_OPTIONS).asPropertyList(); for (final Property connectionCreationOption : connectionCreationOptions) { // <option> writer.writeStartElement(Element.OPTION.getLocalName()); // write the name attribute final String optionName = connectionCreationOption.getName(); writer.writeAttribute(Attribute.NAME.getLocalName(), optionName); // write the value attribute final String optionValue = connectionCreationOption.getValue().asString(); writer.writeAttribute(Attribute.VALUE.getLocalName(), optionValue); // </option> writer.writeEndElement(); } // </connection-creation-options> writer.writeEndElement(); }
enum DWmParameters { NAME( SimpleAttributeDefinitionBuilder.create("name", ModelType.STRING) .setAllowExpression(false) .setAllowNull(false) .setMeasurementUnit(MeasurementUnit.NONE) .setRestartAllServices() .setXmlName("name") .build()), SELECTOR( SimpleAttributeDefinitionBuilder.create("selector", ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .setMeasurementUnit(MeasurementUnit.NONE) .setRestartAllServices() .setXmlName(Element.SELECTOR.getLocalName()) .setValidator(new EnumValidator<SelectorValue>(SelectorValue.class, true, true)) .setDefaultValue(new ModelNode(SelectorValue.PING_TIME.name())) .build()), POLICY( SimpleAttributeDefinitionBuilder.create("policy", ModelType.STRING) .setAllowExpression(true) .setAllowNull(true) .setMeasurementUnit(MeasurementUnit.NONE) .setRestartAllServices() .setXmlName(Element.POLICY.getLocalName()) .setValidator(new EnumValidator<PolicyValue>(PolicyValue.class, true, true)) .setDefaultValue(new ModelNode(PolicyValue.WATERMARK.name())) .build()), POLICY_OPTIONS( new PropertiesAttributeDefinition.Builder("policy-options", true) .setAllowExpression(true) .setXmlName(Element.OPTION.getLocalName()) .build()), SELECTOR_OPTIONS( new PropertiesAttributeDefinition.Builder("selector-options", true) .setAllowExpression(true) .setXmlName(Element.OPTION.getLocalName()) .build()); public static AttributeDefinition[] getAttributeDefinitions() { final AttributeDefinition[] returnValue = new AttributeDefinition[DWmParameters.values().length]; int i = 0; for (DWmParameters entry : DWmParameters.values()) { returnValue[i] = entry.getAttribute(); i++; } return returnValue; } public static AttributeDefinition[] getRuntimeAttributeDefinitions() { return new AttributeDefinition[] { POLICY.getAttribute(), SELECTOR.getAttribute(), POLICY_OPTIONS.getAttribute(), SELECTOR_OPTIONS.getAttribute() }; } public static AttributeDefinition[] getReadOnlyAttributeDefinitions() { return new AttributeDefinition[] {NAME.getAttribute()}; } private DWmParameters(AttributeDefinition attribute) { this.attribute = attribute; } public AttributeDefinition getAttribute() { return attribute; } private AttributeDefinition attribute; }