| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.openejb.jee; |
| |
| import org.metatype.sxc.jaxb.JAXBObject; |
| import org.metatype.sxc.jaxb.LifecycleCallback; |
| import org.metatype.sxc.jaxb.RuntimeContext; |
| import org.metatype.sxc.util.Attribute; |
| import org.metatype.sxc.util.XoXMLStreamReader; |
| import org.metatype.sxc.util.XoXMLStreamWriter; |
| |
| import javax.xml.XMLConstants; |
| import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; |
| import javax.xml.namespace.QName; |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import static org.apache.openejb.jee.FacesAbsoluteOrdering$JAXB.readFacesAbsoluteOrdering; |
| import static org.apache.openejb.jee.FacesAbsoluteOrdering$JAXB.writeFacesAbsoluteOrdering; |
| import static org.apache.openejb.jee.FacesApplication$JAXB.readFacesApplication; |
| import static org.apache.openejb.jee.FacesApplication$JAXB.writeFacesApplication; |
| import static org.apache.openejb.jee.FacesBehavior$JAXB.readFacesBehavior; |
| import static org.apache.openejb.jee.FacesBehavior$JAXB.writeFacesBehavior; |
| import static org.apache.openejb.jee.FacesComponent$JAXB.readFacesComponent; |
| import static org.apache.openejb.jee.FacesComponent$JAXB.writeFacesComponent; |
| import static org.apache.openejb.jee.FacesConverter$JAXB.readFacesConverter; |
| import static org.apache.openejb.jee.FacesConverter$JAXB.writeFacesConverter; |
| import static org.apache.openejb.jee.FacesExtension$JAXB.readFacesExtension; |
| import static org.apache.openejb.jee.FacesExtension$JAXB.writeFacesExtension; |
| import static org.apache.openejb.jee.FacesFactory$JAXB.readFacesFactory; |
| import static org.apache.openejb.jee.FacesFactory$JAXB.writeFacesFactory; |
| import static org.apache.openejb.jee.FacesLifecycle$JAXB.readFacesLifecycle; |
| import static org.apache.openejb.jee.FacesLifecycle$JAXB.writeFacesLifecycle; |
| import static org.apache.openejb.jee.FacesManagedBean$JAXB.readFacesManagedBean; |
| import static org.apache.openejb.jee.FacesManagedBean$JAXB.writeFacesManagedBean; |
| import static org.apache.openejb.jee.FacesNavigationRule$JAXB.readFacesNavigationRule; |
| import static org.apache.openejb.jee.FacesNavigationRule$JAXB.writeFacesNavigationRule; |
| import static org.apache.openejb.jee.FacesOrdering$JAXB.readFacesOrdering; |
| import static org.apache.openejb.jee.FacesOrdering$JAXB.writeFacesOrdering; |
| import static org.apache.openejb.jee.FacesReferencedBean$JAXB.readFacesReferencedBean; |
| import static org.apache.openejb.jee.FacesReferencedBean$JAXB.writeFacesReferencedBean; |
| import static org.apache.openejb.jee.FacesRenderKit$JAXB.readFacesRenderKit; |
| import static org.apache.openejb.jee.FacesRenderKit$JAXB.writeFacesRenderKit; |
| import static org.apache.openejb.jee.FacesValidator$JAXB.readFacesValidator; |
| import static org.apache.openejb.jee.FacesValidator$JAXB.writeFacesValidator; |
| |
| @SuppressWarnings({ |
| "StringEquality" |
| }) |
| public class FacesConfig$JAXB |
| extends JAXBObject<FacesConfig> { |
| |
| |
| public FacesConfig$JAXB() { |
| super(FacesConfig.class, new QName("http://java.sun.com/xml/ns/javaee".intern(), "faces-config".intern()), new QName("http://java.sun.com/xml/ns/javaee".intern(), "faces-configType".intern()), FacesApplication$JAXB.class, FacesOrdering$JAXB.class, FacesAbsoluteOrdering$JAXB.class, FacesFactory$JAXB.class, FacesComponent$JAXB.class, FacesConverter$JAXB.class, FacesManagedBean$JAXB.class, FacesNavigationRule$JAXB.class, FacesReferencedBean$JAXB.class, FacesRenderKit$JAXB.class, FacesLifecycle$JAXB.class, FacesValidator$JAXB.class, FacesBehavior$JAXB.class, FacesExtension$JAXB.class); |
| } |
| |
| public static FacesConfig readFacesConfig(final XoXMLStreamReader reader, final RuntimeContext context) |
| throws Exception { |
| return _read(reader, context); |
| } |
| |
| public static void writeFacesConfig(final XoXMLStreamWriter writer, final FacesConfig facesConfig, final RuntimeContext context) |
| throws Exception { |
| _write(writer, facesConfig, context); |
| } |
| |
| public void write(final XoXMLStreamWriter writer, final FacesConfig facesConfig, final RuntimeContext context) |
| throws Exception { |
| _write(writer, facesConfig, context); |
| } |
| |
| public final static FacesConfig _read(final XoXMLStreamReader reader, RuntimeContext context) |
| throws Exception { |
| |
| // Check for xsi:nil |
| if (reader.isXsiNil()) { |
| return null; |
| } |
| |
| if (context == null) { |
| context = new RuntimeContext(); |
| } |
| |
| final FacesConfig facesConfig = new FacesConfig(); |
| context.beforeUnmarshal(facesConfig, LifecycleCallback.NONE); |
| |
| List<FacesApplication> application = null; |
| List<FacesOrdering> ordering = null; |
| List<FacesAbsoluteOrdering> absoluteOrdering = null; |
| List<FacesFactory> factory = null; |
| List<FacesComponent> component = null; |
| List<FacesConverter> converter = null; |
| List<FacesManagedBean> managedBean = null; |
| List<String> name = null; |
| List<FacesNavigationRule> navigationRule = null; |
| List<FacesReferencedBean> referencedBean = null; |
| List<FacesRenderKit> renderKit = null; |
| List<FacesLifecycle> lifecycle = null; |
| List<FacesValidator> validator = null; |
| List<FacesBehavior> behavior = null; |
| List<FacesExtension> facesConfigExtension = null; |
| |
| // Check xsi:type |
| final QName xsiType = reader.getXsiType(); |
| if (xsiType != null) { |
| if (("faces-configType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) { |
| return context.unexpectedXsiType(reader, FacesConfig.class); |
| } |
| } |
| |
| // Read attributes |
| for (final Attribute attribute : reader.getAttributes()) { |
| if (("id" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) { |
| // ATTRIBUTE: id |
| final String id = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue()); |
| context.addXmlId(reader, id, facesConfig); |
| facesConfig.id = id; |
| } else if (("version" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) { |
| // ATTRIBUTE: version |
| facesConfig.version = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue()); |
| } else if (("metadata-complete" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) { |
| // ATTRIBUTE: metadataComplete |
| final Boolean metadataComplete = ("1".equals(attribute.getValue()) || "true".equals(attribute.getValue())); |
| facesConfig.metadataComplete = metadataComplete; |
| } else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI != attribute.getNamespace()) { |
| context.unexpectedAttribute(attribute, new QName("", "id"), new QName("", "version"), new QName("", "metadata-complete")); |
| } |
| } |
| |
| // Read elements |
| for (final XoXMLStreamReader elementReader : reader.getChildElements()) { |
| if (("application" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: application |
| final FacesApplication applicationItem = readFacesApplication(elementReader, context); |
| if (application == null) { |
| application = facesConfig.application; |
| if (application != null) { |
| application.clear(); |
| } else { |
| application = new ArrayList<FacesApplication>(); |
| } |
| } |
| application.add(applicationItem); |
| } else if (("ordering" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: ordering |
| final FacesOrdering orderingItem = readFacesOrdering(elementReader, context); |
| if (ordering == null) { |
| ordering = facesConfig.ordering; |
| if (ordering != null) { |
| ordering.clear(); |
| } else { |
| ordering = new ArrayList<FacesOrdering>(); |
| } |
| } |
| ordering.add(orderingItem); |
| } else if (("absolute-ordering" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: absoluteOrdering |
| final FacesAbsoluteOrdering absoluteOrderingItem = readFacesAbsoluteOrdering(elementReader, context); |
| if (absoluteOrdering == null) { |
| absoluteOrdering = facesConfig.absoluteOrdering; |
| if (absoluteOrdering != null) { |
| absoluteOrdering.clear(); |
| } else { |
| absoluteOrdering = new ArrayList<FacesAbsoluteOrdering>(); |
| } |
| } |
| absoluteOrdering.add(absoluteOrderingItem); |
| } else if (("factory" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: factory |
| final FacesFactory factoryItem = readFacesFactory(elementReader, context); |
| if (factory == null) { |
| factory = facesConfig.factory; |
| if (factory != null) { |
| factory.clear(); |
| } else { |
| factory = new ArrayList<FacesFactory>(); |
| } |
| } |
| factory.add(factoryItem); |
| } else if (("component" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: component |
| final FacesComponent componentItem = readFacesComponent(elementReader, context); |
| if (component == null) { |
| component = facesConfig.component; |
| if (component != null) { |
| component.clear(); |
| } else { |
| component = new ArrayList<FacesComponent>(); |
| } |
| } |
| component.add(componentItem); |
| } else if (("converter" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: converter |
| final FacesConverter converterItem = readFacesConverter(elementReader, context); |
| if (converter == null) { |
| converter = facesConfig.converter; |
| if (converter != null) { |
| converter.clear(); |
| } else { |
| converter = new ArrayList<FacesConverter>(); |
| } |
| } |
| converter.add(converterItem); |
| } else if (("managed-bean" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: managedBean |
| final FacesManagedBean managedBeanItem = readFacesManagedBean(elementReader, context); |
| if (managedBean == null) { |
| managedBean = facesConfig.managedBean; |
| if (managedBean != null) { |
| managedBean.clear(); |
| } else { |
| managedBean = new ArrayList<FacesManagedBean>(); |
| } |
| } |
| managedBean.add(managedBeanItem); |
| } else if (("name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: name |
| String nameItemRaw = null; |
| if (!elementReader.isXsiNil()) { |
| nameItemRaw = elementReader.getElementAsString(); |
| } |
| |
| final String nameItem; |
| try { |
| nameItem = Adapters.collapsedStringAdapterAdapter.unmarshal(nameItemRaw); |
| } catch (final Exception e) { |
| context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e); |
| continue; |
| } |
| |
| if (name == null) { |
| name = facesConfig.name; |
| if (name != null) { |
| name.clear(); |
| } else { |
| name = new ArrayList<String>(); |
| } |
| } |
| name.add(nameItem); |
| } else if (("navigation-rule" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: navigationRule |
| final FacesNavigationRule navigationRuleItem = readFacesNavigationRule(elementReader, context); |
| if (navigationRule == null) { |
| navigationRule = facesConfig.navigationRule; |
| if (navigationRule != null) { |
| navigationRule.clear(); |
| } else { |
| navigationRule = new ArrayList<FacesNavigationRule>(); |
| } |
| } |
| navigationRule.add(navigationRuleItem); |
| } else if (("referenced-bean" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: referencedBean |
| final FacesReferencedBean referencedBeanItem = readFacesReferencedBean(elementReader, context); |
| if (referencedBean == null) { |
| referencedBean = facesConfig.referencedBean; |
| if (referencedBean != null) { |
| referencedBean.clear(); |
| } else { |
| referencedBean = new ArrayList<FacesReferencedBean>(); |
| } |
| } |
| referencedBean.add(referencedBeanItem); |
| } else if (("render-kit" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: renderKit |
| final FacesRenderKit renderKitItem = readFacesRenderKit(elementReader, context); |
| if (renderKit == null) { |
| renderKit = facesConfig.renderKit; |
| if (renderKit != null) { |
| renderKit.clear(); |
| } else { |
| renderKit = new ArrayList<FacesRenderKit>(); |
| } |
| } |
| renderKit.add(renderKitItem); |
| } else if (("lifecycle" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: lifecycle |
| final FacesLifecycle lifecycleItem = readFacesLifecycle(elementReader, context); |
| if (lifecycle == null) { |
| lifecycle = facesConfig.lifecycle; |
| if (lifecycle != null) { |
| lifecycle.clear(); |
| } else { |
| lifecycle = new ArrayList<FacesLifecycle>(); |
| } |
| } |
| lifecycle.add(lifecycleItem); |
| } else if (("validator" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: validator |
| final FacesValidator validatorItem = readFacesValidator(elementReader, context); |
| if (validator == null) { |
| validator = facesConfig.validator; |
| if (validator != null) { |
| validator.clear(); |
| } else { |
| validator = new ArrayList<FacesValidator>(); |
| } |
| } |
| validator.add(validatorItem); |
| } else if (("behavior" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: behavior |
| final FacesBehavior behaviorItem = readFacesBehavior(elementReader, context); |
| if (behavior == null) { |
| behavior = facesConfig.behavior; |
| if (behavior != null) { |
| behavior.clear(); |
| } else { |
| behavior = new ArrayList<FacesBehavior>(); |
| } |
| } |
| behavior.add(behaviorItem); |
| } else if (("faces-config-extension" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) { |
| // ELEMENT: facesConfigExtension |
| final FacesExtension facesConfigExtensionItem = readFacesExtension(elementReader, context); |
| if (facesConfigExtension == null) { |
| facesConfigExtension = facesConfig.facesConfigExtension; |
| if (facesConfigExtension != null) { |
| facesConfigExtension.clear(); |
| } else { |
| facesConfigExtension = new ArrayList<FacesExtension>(); |
| } |
| } |
| facesConfigExtension.add(facesConfigExtensionItem); |
| } else if ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI()) { |
| // just here ATM to not prevent users to get JSF 2.2 feature because we can't read it |
| // TODO: read it if we need it (= classes to add to injectable classes, other file to parse to find them etc...) |
| } else { |
| context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "application"), new QName("http://java.sun.com/xml/ns/javaee", "ordering"), new QName("http://java.sun.com/xml/ns/javaee", "absolute-ordering"), new QName("http://java.sun.com/xml/ns/javaee", "factory"), new QName("http://java.sun.com/xml/ns/javaee", "component"), new QName("http://java.sun.com/xml/ns/javaee", "converter"), new QName("http://java.sun.com/xml/ns/javaee", "managed-bean"), new QName("http://java.sun.com/xml/ns/javaee", "name"), new QName("http://java.sun.com/xml/ns/javaee", "navigation-rule"), new QName("http://java.sun.com/xml/ns/javaee", "referenced-bean"), new QName("http://java.sun.com/xml/ns/javaee", "render-kit"), new QName("http://java.sun.com/xml/ns/javaee", "lifecycle"), new QName("http://java.sun.com/xml/ns/javaee", "validator"), new QName("http://java.sun.com/xml/ns/javaee", "behavior"), new QName("http://java.sun.com/xml/ns/javaee", "faces-config-extension")); |
| } |
| } |
| if (application != null) { |
| facesConfig.application = application; |
| } |
| if (ordering != null) { |
| facesConfig.ordering = ordering; |
| } |
| if (absoluteOrdering != null) { |
| facesConfig.absoluteOrdering = absoluteOrdering; |
| } |
| if (factory != null) { |
| facesConfig.factory = factory; |
| } |
| if (component != null) { |
| facesConfig.component = component; |
| } |
| if (converter != null) { |
| facesConfig.converter = converter; |
| } |
| if (managedBean != null) { |
| facesConfig.managedBean = managedBean; |
| } |
| if (name != null) { |
| facesConfig.name = name; |
| } |
| if (navigationRule != null) { |
| facesConfig.navigationRule = navigationRule; |
| } |
| if (referencedBean != null) { |
| facesConfig.referencedBean = referencedBean; |
| } |
| if (renderKit != null) { |
| facesConfig.renderKit = renderKit; |
| } |
| if (lifecycle != null) { |
| facesConfig.lifecycle = lifecycle; |
| } |
| if (validator != null) { |
| facesConfig.validator = validator; |
| } |
| if (behavior != null) { |
| facesConfig.behavior = behavior; |
| } |
| if (facesConfigExtension != null) { |
| facesConfig.facesConfigExtension = facesConfigExtension; |
| } |
| |
| context.afterUnmarshal(facesConfig, LifecycleCallback.NONE); |
| |
| return facesConfig; |
| } |
| |
| public final FacesConfig read(final XoXMLStreamReader reader, final RuntimeContext context) |
| throws Exception { |
| return _read(reader, context); |
| } |
| |
| public final static void _write(final XoXMLStreamWriter writer, final FacesConfig facesConfig, RuntimeContext context) |
| throws Exception { |
| if (facesConfig == null) { |
| writer.writeXsiNil(); |
| return; |
| } |
| |
| if (context == null) { |
| context = new RuntimeContext(); |
| } |
| |
| final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee"); |
| if (FacesConfig.class != facesConfig.getClass()) { |
| context.unexpectedSubclass(writer, facesConfig, FacesConfig.class); |
| return; |
| } |
| |
| context.beforeMarshal(facesConfig, LifecycleCallback.NONE); |
| |
| |
| // ATTRIBUTE: id |
| final String idRaw = facesConfig.id; |
| if (idRaw != null) { |
| String id = null; |
| try { |
| id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw); |
| } catch (final Exception e) { |
| context.xmlAdapterError(facesConfig, "id", CollapsedStringAdapter.class, String.class, String.class, e); |
| } |
| writer.writeAttribute("", "", "id", id); |
| } |
| |
| // ATTRIBUTE: version |
| final String versionRaw = facesConfig.version; |
| if (versionRaw != null) { |
| String version = null; |
| try { |
| version = Adapters.collapsedStringAdapterAdapter.marshal(versionRaw); |
| } catch (final Exception e) { |
| context.xmlAdapterError(facesConfig, "version", CollapsedStringAdapter.class, String.class, String.class, e); |
| } |
| writer.writeAttribute("", "", "version", version); |
| } |
| |
| // ATTRIBUTE: metadataComplete |
| final Boolean metadataComplete = facesConfig.metadataComplete; |
| if (metadataComplete != null) { |
| writer.writeAttribute("", "", "metadata-complete", Boolean.toString(metadataComplete)); |
| } |
| |
| // ELEMENT: application |
| final List<FacesApplication> application = facesConfig.application; |
| if (application != null) { |
| for (final FacesApplication applicationItem : application) { |
| writer.writeStartElement(prefix, "application", "http://java.sun.com/xml/ns/javaee"); |
| if (applicationItem != null) { |
| writeFacesApplication(writer, applicationItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: ordering |
| final List<FacesOrdering> ordering = facesConfig.ordering; |
| if (ordering != null) { |
| for (final FacesOrdering orderingItem : ordering) { |
| writer.writeStartElement(prefix, "ordering", "http://java.sun.com/xml/ns/javaee"); |
| if (orderingItem != null) { |
| writeFacesOrdering(writer, orderingItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: absoluteOrdering |
| final List<FacesAbsoluteOrdering> absoluteOrdering = facesConfig.absoluteOrdering; |
| if (absoluteOrdering != null) { |
| for (final FacesAbsoluteOrdering absoluteOrderingItem : absoluteOrdering) { |
| if (absoluteOrderingItem != null) { |
| writer.writeStartElement(prefix, "absolute-ordering", "http://java.sun.com/xml/ns/javaee"); |
| writeFacesAbsoluteOrdering(writer, absoluteOrderingItem, context); |
| writer.writeEndElement(); |
| } |
| } |
| } |
| |
| // ELEMENT: factory |
| final List<FacesFactory> factory = facesConfig.factory; |
| if (factory != null) { |
| for (final FacesFactory factoryItem : factory) { |
| writer.writeStartElement(prefix, "factory", "http://java.sun.com/xml/ns/javaee"); |
| if (factoryItem != null) { |
| writeFacesFactory(writer, factoryItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: component |
| final List<FacesComponent> component = facesConfig.component; |
| if (component != null) { |
| for (final FacesComponent componentItem : component) { |
| writer.writeStartElement(prefix, "component", "http://java.sun.com/xml/ns/javaee"); |
| if (componentItem != null) { |
| writeFacesComponent(writer, componentItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: converter |
| final List<FacesConverter> converter = facesConfig.converter; |
| if (converter != null) { |
| for (final FacesConverter converterItem : converter) { |
| writer.writeStartElement(prefix, "converter", "http://java.sun.com/xml/ns/javaee"); |
| if (converterItem != null) { |
| writeFacesConverter(writer, converterItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: managedBean |
| final List<FacesManagedBean> managedBean = facesConfig.managedBean; |
| if (managedBean != null) { |
| for (final FacesManagedBean managedBeanItem : managedBean) { |
| if (managedBeanItem != null) { |
| writer.writeStartElement(prefix, "managed-bean", "http://java.sun.com/xml/ns/javaee"); |
| writeFacesManagedBean(writer, managedBeanItem, context); |
| writer.writeEndElement(); |
| } |
| } |
| } |
| |
| // ELEMENT: name |
| final List<String> nameRaw = facesConfig.name; |
| if (nameRaw != null) { |
| for (final String nameItem : nameRaw) { |
| String name = null; |
| try { |
| name = Adapters.collapsedStringAdapterAdapter.marshal(nameItem); |
| } catch (final Exception e) { |
| context.xmlAdapterError(facesConfig, "name", CollapsedStringAdapter.class, List.class, List.class, e); |
| } |
| writer.writeStartElement(prefix, "name", "http://java.sun.com/xml/ns/javaee"); |
| if (name != null) { |
| writer.writeCharacters(name); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: navigationRule |
| final List<FacesNavigationRule> navigationRule = facesConfig.navigationRule; |
| if (navigationRule != null) { |
| for (final FacesNavigationRule navigationRuleItem : navigationRule) { |
| if (navigationRuleItem != null) { |
| writer.writeStartElement(prefix, "navigation-rule", "http://java.sun.com/xml/ns/javaee"); |
| writeFacesNavigationRule(writer, navigationRuleItem, context); |
| writer.writeEndElement(); |
| } |
| } |
| } |
| |
| // ELEMENT: referencedBean |
| final List<FacesReferencedBean> referencedBean = facesConfig.referencedBean; |
| if (referencedBean != null) { |
| for (final FacesReferencedBean referencedBeanItem : referencedBean) { |
| if (referencedBeanItem != null) { |
| writer.writeStartElement(prefix, "referenced-bean", "http://java.sun.com/xml/ns/javaee"); |
| writeFacesReferencedBean(writer, referencedBeanItem, context); |
| writer.writeEndElement(); |
| } |
| } |
| } |
| |
| // ELEMENT: renderKit |
| final List<FacesRenderKit> renderKit = facesConfig.renderKit; |
| if (renderKit != null) { |
| for (final FacesRenderKit renderKitItem : renderKit) { |
| if (renderKitItem != null) { |
| writer.writeStartElement(prefix, "render-kit", "http://java.sun.com/xml/ns/javaee"); |
| writeFacesRenderKit(writer, renderKitItem, context); |
| writer.writeEndElement(); |
| } |
| } |
| } |
| |
| // ELEMENT: lifecycle |
| final List<FacesLifecycle> lifecycle = facesConfig.lifecycle; |
| if (lifecycle != null) { |
| for (final FacesLifecycle lifecycleItem : lifecycle) { |
| writer.writeStartElement(prefix, "lifecycle", "http://java.sun.com/xml/ns/javaee"); |
| if (lifecycleItem != null) { |
| writeFacesLifecycle(writer, lifecycleItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: validator |
| final List<FacesValidator> validator = facesConfig.validator; |
| if (validator != null) { |
| for (final FacesValidator validatorItem : validator) { |
| writer.writeStartElement(prefix, "validator", "http://java.sun.com/xml/ns/javaee"); |
| if (validatorItem != null) { |
| writeFacesValidator(writer, validatorItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: behavior |
| final List<FacesBehavior> behavior = facesConfig.behavior; |
| if (behavior != null) { |
| for (final FacesBehavior behaviorItem : behavior) { |
| writer.writeStartElement(prefix, "behavior", "http://java.sun.com/xml/ns/javaee"); |
| if (behaviorItem != null) { |
| writeFacesBehavior(writer, behaviorItem, context); |
| } else { |
| writer.writeXsiNil(); |
| } |
| writer.writeEndElement(); |
| } |
| } |
| |
| // ELEMENT: facesConfigExtension |
| final List<FacesExtension> facesConfigExtension = facesConfig.facesConfigExtension; |
| if (facesConfigExtension != null) { |
| for (final FacesExtension facesConfigExtensionItem : facesConfigExtension) { |
| if (facesConfigExtensionItem != null) { |
| writer.writeStartElement(prefix, "faces-config-extension", "http://java.sun.com/xml/ns/javaee"); |
| writeFacesExtension(writer, facesConfigExtensionItem, context); |
| writer.writeEndElement(); |
| } |
| } |
| } |
| |
| context.afterMarshal(facesConfig, LifecycleCallback.NONE); |
| } |
| |
| } |