private void writeContextServices(final XMLExtendedStreamWriter writer, final ModelNode subModel) throws XMLStreamException { writer.writeStartElement(Element.CONTEXT_SERVICES.getLocalName()); for (Property property : subModel.asPropertyList()) { writer.writeStartElement(Element.CONTEXT_SERVICE.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), property.getName()); for(SimpleAttributeDefinition ad : ContextServiceResourceDefinition.ATTRIBUTES) { ad.marshallAsAttribute(property.getValue(), writer); } writer.writeEndElement(); } writer.writeEndElement(); }
ModelNode node = context.getModelNode(); if (SecuritySubsystemRootResourceDefinition.DEEP_COPY_SUBJECT_MODE.isMarshallable(node) || SecuritySubsystemRootResourceDefinition.INITIALIZE_JACC.isMarshallable(node)) { writer.writeEmptyElement(Element.SECURITY_MANAGEMENT.getLocalName()); if (SecuritySubsystemRootResourceDefinition.DEEP_COPY_SUBJECT_MODE.isMarshallable(node)) { if (node.hasDefined(SECURITY_DOMAIN) && node.get(SECURITY_DOMAIN).asInt() > 0) { writer.writeStartElement(Element.SECURITY_DOMAINS.getLocalName()); writer.writeStartElement(Element.SECURITY_DOMAIN.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), policy); writeSecurityDomainContent(writer, policyDetails); writer.writeEndElement(); writer.writeEndElement(); writer.writeStartElement(Element.VAULT.getLocalName()); writer.writeEmptyElement(Element.VAULT_OPTION.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), prop.getName()); writer.writeAttribute(Attribute.VALUE.getLocalName(), prop.getValue().asString()); writer.writeEndElement(); writer.writeEndElement();
private void writeRaElement(XMLExtendedStreamWriter streamWriter, ModelNode ra, final String name) throws XMLStreamException { streamWriter.writeStartElement(Activations.Tag.RESOURCE_ADAPTER.getLocalName()); streamWriter.writeAttribute(ResourceAdapterParser.Attribute.ID.getLocalName(), name); STATISTICS_ENABLED.marshallAsAttribute(ra, streamWriter); ARCHIVE.marshallAsElement(ra, streamWriter); MODULE.marshallAsElement(ra, streamWriter); if (ra.hasDefined(BEANVALIDATION_GROUPS.getName())) { streamWriter.writeStartElement(Activation.Tag.BEAN_VALIDATION_GROUPS.getLocalName()); for (ModelNode bvg : ra.get(BEANVALIDATION_GROUPS.getName()).asList()) { streamWriter.writeStartElement(BEANVALIDATION_GROUPS.getXmlName()); streamWriter.writeCharacters(bvg.asString()); streamWriter.writeEndElement(); streamWriter.writeEndElement(); streamWriter.writeStartElement(Activation.Tag.WORKMANAGER.getLocalName()); streamWriter.writeStartElement(WorkManager.Tag.SECURITY.getLocalName()); streamWriter.writeStartElement(WM_SECURITY_DEFAULT_GROUPS.getXmlName()); for (ModelNode group : ra.get(WM_SECURITY_DEFAULT_GROUPS.getName()).asList()) { streamWriter.writeStartElement(WM_SECURITY_DEFAULT_GROUP.getXmlName()); streamWriter.writeCharacters(group.asString()); streamWriter.writeEndElement(); streamWriter.writeEndElement(); streamWriter.writeStartElement(WorkManagerSecurity.Tag.MAPPINGS.getLocalName()); if (ra.hasDefined(WM_SECURITY_MAPPING_USERS.getName())) { streamWriter.writeStartElement(WorkManagerSecurity.Tag.USERS.getLocalName());
private void writeProperty(XMLExtendedStreamWriter writer, ModelNode node, String name, String value, String localName) throws XMLStreamException { writer.writeStartElement(localName); writer.writeAttribute("name", name); writer.writeCharacters(value); writer.writeEndElement(); }
private void writeTLSEntity(final XMLExtendedStreamWriter writer, final ModelNode modelNode, final String tlsEntityName) throws XMLStreamException { if (modelNode.hasDefined(tlsEntityName)) { ModelNode tlsEntities = modelNode.require(tlsEntityName); for (String entityName : tlsEntities.keys()) { writer.writeStartElement(tlsEntityName); writer.writeAttribute(NAME, entityName); LEGACY_JSSE_CONFIG.marshallAsAttribute(tlsEntities.require(entityName), writer); writer.writeEndElement(); } } } }
/** * <p> * Writes a {@code property} element for each generic property contained in the specified {@code ModelNode}. * </p> * * @param writer the {@code XMLExtendedStreamWriter} used to write the configuration XML. * @param node the {@code ModelNode} that contains all properties to be written. * @throws javax.xml.stream.XMLStreamException * if an error occurs while writing the property elements. */ private void writeGenericProperties(XMLExtendedStreamWriter writer, ModelNode node) throws XMLStreamException { writer.writeStartElement(JacORBSubsystemConstants.PROPERTIES); for (Property prop : node.asPropertyList()) { writer.writeEmptyElement(JacORBSubsystemConstants.PROPERTY); writer.writeAttribute(JacORBSubsystemConstants.NAME, prop.getName()); writer.writeAttribute(JacORBSubsystemConstants.PROPERTY_VALUE, prop.getValue().asString()); } writer.writeEndElement(); }
public void writeContent(final XMLExtendedStreamWriter writer, final SubsystemMarshallingContext context) throws XMLStreamException { context.startSubsystemElement(Namespace.CURRENT.getUriString(), false); final ModelNode model = context.getModelNode(); if (model.hasDefined(UUID_KEY_GENERATOR) || model.hasDefined(HILO_KEY_GENERATOR)) { writer.writeStartElement(Element.KEY_GENERATORS.getLocalName()); if (model.hasDefined(UUID_KEY_GENERATOR)) { for (Property keyGen : model.get(UUID_KEY_GENERATOR).asPropertyList()) { final String name = keyGen.getName(); final ModelNode keyGenModel = keyGen.getValue(); writeUuid(writer, name, keyGenModel); } } if (model.hasDefined(HILO_KEY_GENERATOR)) { for (Property keyGen : model.get(HILO_KEY_GENERATOR).asPropertyList()) { final String name = keyGen.getName(); final ModelNode keyGenModel = keyGen.getValue(); writeHilo(writer, name, keyGenModel); } } writer.writeEndElement(); } writer.writeEndElement(); }
writer.writeStartElement(Element.CORE_ENVIRONMENT.getLocalName()); writer.writeEndElement(); if (TransactionSubsystemRootResourceDefinition.BINDING.isMarshallable(node) || TransactionSubsystemRootResourceDefinition.STATUS_BINDING.isMarshallable(node) || TransactionSubsystemRootResourceDefinition.RECOVERY_LISTENER.isMarshallable(node)) { writer.writeStartElement(Element.RECOVERY_ENVIRONMENT.getLocalName()); writer.writeEndElement(); writer.writeStartElement(Element.COORDINATOR_ENVIRONMENT.getLocalName()); writer.writeEndElement(); writer.writeStartElement(Element.OBJECT_STORE.getLocalName()); writer.writeEndElement(); if(node.hasDefined(CommonAttributes.JTS) && node.get(CommonAttributes.JTS).asBoolean()) { writer.writeStartElement(Element.JTS.getLocalName()); writer.writeEndElement(); writer.writeStartElement(Element.USE_JOURNAL_STORE.getLocalName()); TransactionSubsystemRootResourceDefinition.JOURNAL_STORE_ENABLE_ASYNC_IO.marshallAsAttribute(node, writer); writer.writeEndElement(); writer.writeStartElement(Element.JDBC_STORE.getLocalName());
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 writeLoginModule(XMLExtendedStreamWriter writer, ModelNode modelNode, String key, final String elementName) throws XMLStreamException { if (!modelNode.hasDefined(key)){ return; } final ModelNode modules = modelNode.get(key); for (Property moduleProp : modules.asPropertyList()) { ModelNode module = moduleProp.getValue(); writer.writeStartElement(elementName); if (!moduleProp.getName().equals(module.get(CODE).asString())) { writer.writeAttribute(NAME, moduleProp.getName()); } LoginModuleResourceDefinition.CODE.marshallAsAttribute(module, writer); LoginModuleResourceDefinition.FLAG.marshallAsAttribute(module, writer); MappingModuleDefinition.TYPE.marshallAsAttribute(module, writer); JASPIMappingModuleDefinition.LOGIN_MODULE_STACK_REF.marshallAsAttribute(module, writer); LoginModuleResourceDefinition.MODULE.marshallAsAttribute(module, false, writer); if (module.hasDefined(Constants.MODULE_OPTIONS)) { for (ModelNode option : module.get(Constants.MODULE_OPTIONS).asList()) { writer.writeEmptyElement(Element.MODULE_OPTION.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), option.asProperty().getName()); writer.writeAttribute(Attribute.VALUE.getLocalName(), option.asProperty().getValue().asString()); } } writer.writeEndElement(); } }
private void writePlugIn_Authorization(XMLExtendedStreamWriter writer, ModelNode plugIn) throws XMLStreamException { writer.writeStartElement(Element.PLUG_IN.getLocalName()); AbstractPlugInAuthResourceDefinition.NAME.marshallAsAttribute(plugIn, writer); if (plugIn.hasDefined(PROPERTY)) { writer.writeStartElement(PROPERTIES); ModelNode properties = plugIn.get(PROPERTY); for (String current : properties.keys()) { writer.writeEmptyElement(PROPERTY); writer.writeAttribute(Attribute.NAME.getLocalName(), current); PropertyResourceDefinition.VALUE.marshallAsAttribute(properties.get(current), writer); } writer.writeEndElement(); } writer.writeEndElement(); }
@Override public void writeContent(final XMLExtendedStreamWriter writer, final SubsystemMarshallingContext context) throws XMLStreamException { final ThreadsParser threadsParser = ThreadsParser.getInstance(); context.startSubsystemElement(Namespace.CURRENT.getUriString(), false); final ModelNode model = context.getModelNode(); BatchSubsystemDefinition.DEFAULT_JOB_REPOSITORY.marshallAsElement(model, writer); BatchSubsystemDefinition.DEFAULT_THREAD_POOL.marshallAsElement(model, writer); BatchSubsystemDefinition.RESTART_JOBS_ON_RESUME.marshallAsElement(model, writer); BatchSubsystemDefinition.SECURITY_DOMAIN.marshallAsElement(model, writer); if (model.hasDefined(InMemoryJobRepositoryDefinition.NAME)) { final List<Property> repositories = model.get(InMemoryJobRepositoryDefinition.NAME).asPropertyList(); for (Property property : repositories) { writer.writeStartElement(Element.JOB_REPOSITORY.getLocalName()); writeNameAttribute(writer, property.getName()); writer.writeEmptyElement(Element.IN_MEMORY.getLocalName()); writer.writeEndElement(); // end job-repository final List<Property> repositories = model.get(JdbcJobRepositoryDefinition.NAME).asPropertyList(); for (Property property : repositories) { writer.writeStartElement(Element.JOB_REPOSITORY.getLocalName()); writeNameAttribute(writer, property.getName()); writer.writeStartElement(Element.JDBC.getLocalName()); JdbcJobRepositoryDefinition.DATA_SOURCE.marshallAsAttribute(property.getValue(), writer); writer.writeEndElement(); writer.writeEndElement(); // end job-repository writer.writeEndElement();
private void writeServerGroupScopedRoles(XMLExtendedStreamWriter writer, ModelNode scopedRoles) throws XMLStreamException { writer.writeStartElement(Element.SERVER_GROUP_SCOPED_ROLES.getLocalName()); for (Property property : scopedRoles.asPropertyList()) { writer.writeStartElement(Element.ROLE.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), property.getName()); ModelNode value = property.getValue(); ServerGroupScopedRoleResourceDefinition.BASE_ROLE.marshallAsAttribute(value, writer); ServerGroupScopedRoleResourceDefinition.SERVER_GROUPS.marshallAsElement(value, writer); writer.writeEndElement(); } writer.writeEndElement(); }
writer.writeStartElement(DATASOURCES); if (node.hasDefined(DATA_SOURCE) || node.hasDefined(XA_DATASOURCE)) { if (node.hasDefined(JDBC_DRIVER_NAME)) { writer.writeStartElement(DataSources.Tag.DRIVERS.getLocalName()); ModelNode drivers = node.get(JDBC_DRIVER_NAME); for (String driverName : drivers.keys()) { ModelNode driver = drivers.get(driverName); writer.writeStartElement(DataSources.Tag.DRIVER.getLocalName()); writer.writeAttribute(Driver.Attribute.NAME.getLocalName(), driver.require(DRIVER_NAME.getName()).asString()); if (has(driver, DRIVER_MODULE_NAME.getName())) { String moduleName = driver.get(DRIVER_MODULE_NAME.getName()).asString(); if (has(driver, MODULE_SLOT.getName())) { moduleName = moduleName + ":" + driver.get(MODULE_SLOT.getName()).asString(); writer.writeAttribute(Driver.Attribute.MODULE.getLocalName(), moduleName); writeAttributeIfHas(writer, driver, Driver.Attribute.MAJOR_VERSION, DRIVER_MAJOR_VERSION.getName()); writeElementIfHas(writer, driver, Driver.Tag.DATASOURCE_CLASS.getLocalName(), DRIVER_DATASOURCE_CLASS_NAME.getName()); writer.writeEndElement(); writer.writeEndElement(); writer.writeEndElement(); writer.writeEndElement();
private void writeElementIfHas(XMLExtendedStreamWriter writer, ModelNode node, String localName, String identifier) throws XMLStreamException { if (has(node, identifier)) { writer.writeStartElement(localName); String content = node.get(identifier).asString(); if (content.indexOf('\n') > -1) { writer.writeCharacters(content); } else { // Use the method where staxmapper won't add new lines char[] chars = content.toCharArray(); writer.writeCharacters(chars, 0, chars.length); } writer.writeEndElement(); } }
protected void writeJobExecutorContent(final XMLExtendedStreamWriter writer, final SubsystemMarshallingContext context) throws XMLStreamException { ModelNode node = context.getModelNode(); ModelNode jobExecutorNode = node.get(Element.JOB_EXECUTOR.getLocalName()); if (jobExecutorNode.isDefined()) { writer.writeStartElement(Element.JOB_EXECUTOR.getLocalName()); for (Property property : jobExecutorNode.asPropertyList()) { ModelNode propertyValue = property.getValue(); for (AttributeDefinition jobExecutorAttribute : SubsystemAttributeDefinitons.JOB_EXECUTOR_ATTRIBUTES) { if (jobExecutorAttribute.equals(SubsystemAttributeDefinitons.NAME)) { ((SimpleAttributeDefinition) jobExecutorAttribute).marshallAsAttribute(propertyValue, writer); } else { jobExecutorAttribute.marshallAsElement(propertyValue, writer); } } writeJobAcquisitionsContent(writer, context, propertyValue); } // end job-executor writer.writeEndElement(); } }
private void writePrincipal(XMLExtendedStreamWriter writer, String alias, ModelNode principal) throws XMLStreamException { String elementName = principal.require(TYPE).asString().equalsIgnoreCase(GROUP) ? Element.GROUP.getLocalName() : Element.USER.getLocalName(); writer.writeStartElement(elementName); String realm = principal.get(REALM).isDefined() ? principal.require(REALM).asString() : null; String name = principal.require(NAME).asString(); String expectedAlias = AccessControlXml.generateAlias(elementName, name, realm); if (alias.equals(expectedAlias)==false) { writeAttribute(writer, Attribute.ALIAS, alias); } PrincipalResourceDefinition.REALM.marshallAsAttribute(principal, writer); PrincipalResourceDefinition.NAME.marshallAsAttribute(principal, writer); writer.writeEndElement(); }
private void writeManagementClientContent(XMLExtendedStreamWriter writer, ModelNode modelNode) throws XMLStreamException { boolean hasRolloutPlans = modelNode.hasDefined(ROLLOUT_PLANS) && modelNode.get(ROLLOUT_PLANS).hasDefined(HASH); boolean mustWrite = hasRolloutPlans; // || other elements we may add later if (mustWrite) { writer.writeStartElement(Element.MANAGEMENT_CLIENT_CONTENT.getLocalName()); if (hasRolloutPlans) { writer.writeEmptyElement(Element.ROLLOUT_PLANS.getLocalName()); writer.writeAttribute(Attribute.SHA1.getLocalName(), HashUtil.bytesToHexString(modelNode.get(ROLLOUT_PLANS).get(HASH).asBytes())); } writer.writeEndElement(); } }
private void writeProperties(XMLExtendedStreamWriter writer, ModelNode sasl) throws XMLStreamException { if (sasl.hasDefined(ModelKeys.PROPERTY)) { for (Property property: sasl.get(ModelKeys.PROPERTY).asPropertyList()) { writer.writeStartElement(Element.PROPERTY.getLocalName()); writer.writeAttribute(Attribute.NAME.getLocalName(), property.getName()); Property complexValue = property.getValue().asProperty(); writer.writeCharacters(complexValue.getValue().asString()); writer.writeEndElement(); } } }
@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(); }