in container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesApplication$JAXB.java [74:452]
public static final FacesApplication _read(XoXMLStreamReader reader, RuntimeContext context)
throws Exception
{
// Check for xsi:nil
if (reader.isXsiNil()) {
return null;
}
if (context == null) {
context = new RuntimeContext();
}
FacesApplication facesApplication = new FacesApplication();
context.beforeUnmarshal(facesApplication, LifecycleCallback.NONE);
List<String> actionListener = null;
List<String> defaultRenderKitId = null;
List<String> messageBundle = null;
List<String> navigationHandler = null;
List<String> viewHandler = null;
List<String> stateManager = null;
List<String> elResolver = null;
List<String> propertyResolver = null;
List<String> variableResolver = null;
List<String> resourceHandler = null;
List<FacesSystemEventListener> systemEventListener = null;
List<FacesLocaleConfig> localeConfig = null;
List<FacesApplicationExtension> applicationExtension = null;
List<FacesValidator> defaultValidators = null;
List<Object> others = null;
// Check xsi:type
QName xsiType = reader.getXsiType();
if (xsiType!= null) {
if (("faces-config-applicationType"!= xsiType.getLocalPart())||("http://java.sun.com/xml/ns/javaee"!= xsiType.getNamespaceURI())) {
return context.unexpectedXsiType(reader, FacesApplication.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, facesApplication);
facesApplication.id = id;
} else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI!= attribute.getNamespace()) {
context.unexpectedAttribute(attribute, new QName("", "id"));
}
}
// Read elements
for (XoXMLStreamReader elementReader: reader.getChildElements()) {
if (("action-listener" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: actionListener
String actionListenerItemRaw = elementReader.getElementText();
String actionListenerItem;
try {
actionListenerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(actionListenerItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (actionListener == null) {
actionListener = facesApplication.actionListener;
if (actionListener!= null) {
actionListener.clear();
} else {
actionListener = new ArrayList<>();
}
}
actionListener.add(actionListenerItem);
} else if (("default-render-kit-id" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: defaultRenderKitId
String defaultRenderKitIdItemRaw = elementReader.getElementText();
String defaultRenderKitIdItem;
try {
defaultRenderKitIdItem = Adapters.collapsedStringAdapterAdapter.unmarshal(defaultRenderKitIdItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (defaultRenderKitId == null) {
defaultRenderKitId = facesApplication.defaultRenderKitId;
if (defaultRenderKitId!= null) {
defaultRenderKitId.clear();
} else {
defaultRenderKitId = new ArrayList<>();
}
}
defaultRenderKitId.add(defaultRenderKitIdItem);
} else if (("message-bundle" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: messageBundle
String messageBundleItemRaw = elementReader.getElementText();
String messageBundleItem;
try {
messageBundleItem = Adapters.collapsedStringAdapterAdapter.unmarshal(messageBundleItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (messageBundle == null) {
messageBundle = facesApplication.messageBundle;
if (messageBundle!= null) {
messageBundle.clear();
} else {
messageBundle = new ArrayList<>();
}
}
messageBundle.add(messageBundleItem);
} else if (("navigation-handler" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: navigationHandler
String navigationHandlerItemRaw = elementReader.getElementText();
String navigationHandlerItem;
try {
navigationHandlerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(navigationHandlerItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (navigationHandler == null) {
navigationHandler = facesApplication.navigationHandler;
if (navigationHandler!= null) {
navigationHandler.clear();
} else {
navigationHandler = new ArrayList<>();
}
}
navigationHandler.add(navigationHandlerItem);
} else if (("view-handler" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: viewHandler
String viewHandlerItemRaw = elementReader.getElementText();
String viewHandlerItem;
try {
viewHandlerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(viewHandlerItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (viewHandler == null) {
viewHandler = facesApplication.viewHandler;
if (viewHandler!= null) {
viewHandler.clear();
} else {
viewHandler = new ArrayList<>();
}
}
viewHandler.add(viewHandlerItem);
} else if (("state-manager" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: stateManager
String stateManagerItemRaw = elementReader.getElementText();
String stateManagerItem;
try {
stateManagerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(stateManagerItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (stateManager == null) {
stateManager = facesApplication.stateManager;
if (stateManager!= null) {
stateManager.clear();
} else {
stateManager = new ArrayList<>();
}
}
stateManager.add(stateManagerItem);
} else if (("el-resolver" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: elResolver
String elResolverItemRaw = elementReader.getElementText();
String elResolverItem;
try {
elResolverItem = Adapters.collapsedStringAdapterAdapter.unmarshal(elResolverItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (elResolver == null) {
elResolver = facesApplication.elResolver;
if (elResolver!= null) {
elResolver.clear();
} else {
elResolver = new ArrayList<>();
}
}
elResolver.add(elResolverItem);
} else if (("property-resolver" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: propertyResolver
String propertyResolverItemRaw = elementReader.getElementText();
String propertyResolverItem;
try {
propertyResolverItem = Adapters.collapsedStringAdapterAdapter.unmarshal(propertyResolverItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (propertyResolver == null) {
propertyResolver = facesApplication.propertyResolver;
if (propertyResolver!= null) {
propertyResolver.clear();
} else {
propertyResolver = new ArrayList<>();
}
}
propertyResolver.add(propertyResolverItem);
} else if (("variable-resolver" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: variableResolver
String variableResolverItemRaw = elementReader.getElementText();
String variableResolverItem;
try {
variableResolverItem = Adapters.collapsedStringAdapterAdapter.unmarshal(variableResolverItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (variableResolver == null) {
variableResolver = facesApplication.variableResolver;
if (variableResolver!= null) {
variableResolver.clear();
} else {
variableResolver = new ArrayList<>();
}
}
variableResolver.add(variableResolverItem);
} else if (("resource-handler" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: resourceHandler
String resourceHandlerItemRaw = elementReader.getElementText();
String resourceHandlerItem;
try {
resourceHandlerItem = Adapters.collapsedStringAdapterAdapter.unmarshal(resourceHandlerItemRaw);
} catch (Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
if (resourceHandler == null) {
resourceHandler = facesApplication.resourceHandler;
if (resourceHandler!= null) {
resourceHandler.clear();
} else {
resourceHandler = new ArrayList<>();
}
}
resourceHandler.add(resourceHandlerItem);
} else if (("system-event-listener" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: systemEventListener
FacesSystemEventListener systemEventListenerItem = readFacesSystemEventListener(elementReader, context);
if (systemEventListener == null) {
systemEventListener = facesApplication.systemEventListener;
if (systemEventListener!= null) {
systemEventListener.clear();
} else {
systemEventListener = new ArrayList<>();
}
}
systemEventListener.add(systemEventListenerItem);
} else if (("locale-config" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: localeConfig
FacesLocaleConfig localeConfigItem = readFacesLocaleConfig(elementReader, context);
if (localeConfig == null) {
localeConfig = facesApplication.localeConfig;
if (localeConfig!= null) {
localeConfig.clear();
} else {
localeConfig = new ArrayList<>();
}
}
localeConfig.add(localeConfigItem);
} else if (("resource-bundle" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: resourceBundle
FacesApplicationResourceBundle resourceBundle = readFacesApplicationResourceBundle(elementReader, context);
facesApplication.resourceBundle = resourceBundle;
} else if (("application-extension" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: applicationExtension
FacesApplicationExtension applicationExtensionItem = readFacesApplicationExtension(elementReader, context);
if (applicationExtension == null) {
applicationExtension = facesApplication.applicationExtension;
if (applicationExtension!= null) {
applicationExtension.clear();
} else {
applicationExtension = new ArrayList<>();
}
}
applicationExtension.add(applicationExtensionItem);
} else if (("default-validators" == elementReader.getLocalName())&&("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: defaultValidators
FacesValidator defaultValidatorsItem = readFacesValidator(elementReader, context);
if (defaultValidators == null) {
defaultValidators = facesApplication.defaultValidators;
if (defaultValidators!= null) {
defaultValidators.clear();
} else {
defaultValidators = new ArrayList<>();
}
}
defaultValidators.add(defaultValidatorsItem);
} else {
// ELEMENT_REF: others
if (others == null) {
others = facesApplication.others;
if (others!= null) {
others.clear();
} else {
others = new ArrayList<>();
}
}
others.add(context.readXmlAny(elementReader, Object.class, false));
}
}
if (actionListener!= null) {
facesApplication.actionListener = actionListener;
}
if (defaultRenderKitId!= null) {
facesApplication.defaultRenderKitId = defaultRenderKitId;
}
if (messageBundle!= null) {
facesApplication.messageBundle = messageBundle;
}
if (navigationHandler!= null) {
facesApplication.navigationHandler = navigationHandler;
}
if (viewHandler!= null) {
facesApplication.viewHandler = viewHandler;
}
if (stateManager!= null) {
facesApplication.stateManager = stateManager;
}
if (elResolver!= null) {
facesApplication.elResolver = elResolver;
}
if (propertyResolver!= null) {
facesApplication.propertyResolver = propertyResolver;
}
if (variableResolver!= null) {
facesApplication.variableResolver = variableResolver;
}
if (resourceHandler!= null) {
facesApplication.resourceHandler = resourceHandler;
}
if (systemEventListener!= null) {
facesApplication.systemEventListener = systemEventListener;
}
if (localeConfig!= null) {
facesApplication.localeConfig = localeConfig;
}
if (applicationExtension!= null) {
facesApplication.applicationExtension = applicationExtension;
}
if (defaultValidators!= null) {
facesApplication.defaultValidators = defaultValidators;
}
if (others!= null) {
facesApplication.others = others;
}
context.afterUnmarshal(facesApplication, LifecycleCallback.NONE);
return facesApplication;
}