private void writeThemeDefaults(XMLExtendedStreamWriter writer, SubsystemMarshallingContext context) throws XMLStreamException { if (!context.getModelNode().get(ThemeResourceDefinition.TAG_NAME).isDefined()) { return; } writer.writeStartElement(ThemeResourceDefinition.TAG_NAME); ModelNode themeElements = context.getModelNode().get(ThemeResourceDefinition.TAG_NAME, ThemeResourceDefinition.RESOURCE_NAME); for (AttributeDefinition def : ThemeResourceDefinition.ALL_ATTRIBUTES) { if (themeElements.hasDefined(def.getName())) { if (def == MODULES) { ModelNode themeContext = context.getModelNode().get("theme", "defaults"); writeList(writer, themeContext, def, "module"); } else { def.marshallAsElement(themeElements, writer); } } } writer.writeEndElement(); }
/** * {@inheritDoc} */ @Override public void writeContent(final XMLExtendedStreamWriter writer, final SubsystemMarshallingContext context) throws XMLStreamException { context.startSubsystemElement(KeycloakExtension.NAMESPACE, false); writeWebContext(writer, context); writeList(writer, context.getModelNode(), PROVIDERS, "provider"); writeAdmin(writer, context); writeScheduledTaskInterval(writer, context); writeThemeDefaults(writer, context); writeSpis(writer, context); writer.writeEndElement(); }