in container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesConfig$JAXB.java [96:447]
public static final FacesConfig _read(XoXMLStreamReader reader, RuntimeContext context)
throws Exception
{
// Check for xsi:nil
if (reader.isXsiNil()) {
return null;
}
if (context == null) {
context = new RuntimeContext();
}
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;
List<FacesConfigFlowDefinition> flowDefinitions = null;
List<FacesConfigProtectedViews> protectedViews = null;
List<Object> others = null;
// Check xsi:type
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 (Attribute attribute: reader.getAttributes()) {
if (("id" == attribute.getLocalName())&&(("" == attribute.getNamespace())||(attribute.getNamespace() == null))) {
// ATTRIBUTE: id
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
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 (XoXMLStreamReader elementReader: reader.getChildElements()) {
if (("application" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: application
FacesApplication applicationItem = readFacesApplication(elementReader, context);
if (application == null) {
application = facesConfig.application;
if (application!= null) {
application.clear();
} else {
application = new ArrayList<>();
}
}
application.add(applicationItem);
} else if (("ordering" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: ordering
FacesOrdering orderingItem = readFacesOrdering(elementReader, context);
if (ordering == null) {
ordering = facesConfig.ordering;
if (ordering!= null) {
ordering.clear();
} else {
ordering = new ArrayList<>();
}
}
ordering.add(orderingItem);
} else if (("absolute-ordering" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: absoluteOrdering
FacesAbsoluteOrdering absoluteOrderingItem = readFacesAbsoluteOrdering(elementReader, context);
if (absoluteOrdering == null) {
absoluteOrdering = facesConfig.absoluteOrdering;
if (absoluteOrdering!= null) {
absoluteOrdering.clear();
} else {
absoluteOrdering = new ArrayList<>();
}
}
absoluteOrdering.add(absoluteOrderingItem);
} else if (("factory" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: factory
FacesFactory factoryItem = readFacesFactory(elementReader, context);
if (factory == null) {
factory = facesConfig.factory;
if (factory!= null) {
factory.clear();
} else {
factory = new ArrayList<>();
}
}
factory.add(factoryItem);
} else if (("component" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: component
FacesComponent componentItem = readFacesComponent(elementReader, context);
if (component == null) {
component = facesConfig.component;
if (component!= null) {
component.clear();
} else {
component = new ArrayList<>();
}
}
component.add(componentItem);
} else if (("converter" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: converter
FacesConverter converterItem = readFacesConverter(elementReader, context);
if (converter == null) {
converter = facesConfig.converter;
if (converter!= null) {
converter.clear();
} else {
converter = new ArrayList<>();
}
}
converter.add(converterItem);
} else if (("managed-bean" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: managedBean
FacesManagedBean managedBeanItem = readFacesManagedBean(elementReader, context);
if (managedBean == null) {
managedBean = facesConfig.managedBean;
if (managedBean!= null) {
managedBean.clear();
} else {
managedBean = new ArrayList<>();
}
}
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.getElementText();
}
String nameItem;
try {
nameItem = Adapters.collapsedStringAdapterAdapter.unmarshal(nameItemRaw);
} catch (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<>();
}
}
name.add(nameItem);
} else if (("navigation-rule" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: navigationRule
FacesNavigationRule navigationRuleItem = readFacesNavigationRule(elementReader, context);
if (navigationRule == null) {
navigationRule = facesConfig.navigationRule;
if (navigationRule!= null) {
navigationRule.clear();
} else {
navigationRule = new ArrayList<>();
}
}
navigationRule.add(navigationRuleItem);
} else if (("referenced-bean" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: referencedBean
FacesReferencedBean referencedBeanItem = readFacesReferencedBean(elementReader, context);
if (referencedBean == null) {
referencedBean = facesConfig.referencedBean;
if (referencedBean!= null) {
referencedBean.clear();
} else {
referencedBean = new ArrayList<>();
}
}
referencedBean.add(referencedBeanItem);
} else if (("render-kit" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: renderKit
FacesRenderKit renderKitItem = readFacesRenderKit(elementReader, context);
if (renderKit == null) {
renderKit = facesConfig.renderKit;
if (renderKit!= null) {
renderKit.clear();
} else {
renderKit = new ArrayList<>();
}
}
renderKit.add(renderKitItem);
} else if (("lifecycle" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: lifecycle
FacesLifecycle lifecycleItem = readFacesLifecycle(elementReader, context);
if (lifecycle == null) {
lifecycle = facesConfig.lifecycle;
if (lifecycle!= null) {
lifecycle.clear();
} else {
lifecycle = new ArrayList<>();
}
}
lifecycle.add(lifecycleItem);
} else if (("validator" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: validator
FacesValidator validatorItem = readFacesValidator(elementReader, context);
if (validator == null) {
validator = facesConfig.validator;
if (validator!= null) {
validator.clear();
} else {
validator = new ArrayList<>();
}
}
validator.add(validatorItem);
} else if (("behavior" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: behavior
FacesBehavior behaviorItem = readFacesBehavior(elementReader, context);
if (behavior == null) {
behavior = facesConfig.behavior;
if (behavior!= null) {
behavior.clear();
} else {
behavior = new ArrayList<>();
}
}
behavior.add(behaviorItem);
} else if (("faces-config-extension" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: facesConfigExtension
FacesExtension facesConfigExtensionItem = readFacesExtension(elementReader, context);
if (facesConfigExtension == null) {
facesConfigExtension = facesConfig.facesConfigExtension;
if (facesConfigExtension!= null) {
facesConfigExtension.clear();
} else {
facesConfigExtension = new ArrayList<>();
}
}
facesConfigExtension.add(facesConfigExtensionItem);
} else if (("flow-definition" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: flowDefinitions
FacesConfigFlowDefinition flowDefinitionsItem = readFacesConfigFlowDefinition(elementReader, context);
if (flowDefinitions == null) {
flowDefinitions = facesConfig.flowDefinitions;
if (flowDefinitions!= null) {
flowDefinitions.clear();
} else {
flowDefinitions = new ArrayList<>();
}
}
flowDefinitions.add(flowDefinitionsItem);
} else if (("protected-views" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: protectedViews
FacesConfigProtectedViews protectedViewsItem = readFacesConfigProtectedViews(elementReader, context);
if (protectedViews == null) {
protectedViews = facesConfig.protectedViews;
if (protectedViews!= null) {
protectedViews.clear();
} else {
protectedViews = new ArrayList<>();
}
}
protectedViews.add(protectedViewsItem);
} else {
// ELEMENT_REF: others
if (others == null) {
others = facesConfig.others;
if (others!= null) {
others.clear();
} else {
others = new ArrayList<>();
}
}
others.add(context.readXmlAny(elementReader, Object.class, false));
}
}
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;
}
if (flowDefinitions!= null) {
facesConfig.flowDefinitions = flowDefinitions;
}
if (protectedViews!= null) {
facesConfig.protectedViews = protectedViews;
}
if (others!= null) {
facesConfig.others = others;
}
context.afterUnmarshal(facesConfig, LifecycleCallback.NONE);
return facesConfig;
}