You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/12/10 06:08:43 UTC

svn commit: r1419199 [8/35] - in /openejb/trunk/openejb/container: openejb-jee-accessors/ openejb-jee-accessors/src/main/ openejb-jee-accessors/src/main/java/ openejb-jee-accessors/src/main/java/org/ openejb-jee-accessors/src/main/java/org/apache/ open...

Added: openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EntityBean$JAXB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EntityBean%24JAXB.java?rev=1419199&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EntityBean$JAXB.java (added)
+++ openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EntityBean$JAXB.java Mon Dec 10 05:08:14 2012
@@ -0,0 +1,1077 @@
+/*
+ * 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 com.envoisolutions.sxc.jaxb.JAXBObject;
+import com.envoisolutions.sxc.jaxb.RuntimeContext;
+import com.envoisolutions.sxc.util.Attribute;
+import com.envoisolutions.sxc.util.XoXMLStreamReader;
+import com.envoisolutions.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.CmpField$JAXB.readCmpField;
+import static org.apache.openejb.jee.CmpField$JAXB.writeCmpField;
+import static org.apache.openejb.jee.CmpVersion$JAXB.parseCmpVersion;
+import static org.apache.openejb.jee.CmpVersion$JAXB.toStringCmpVersion;
+import static org.apache.openejb.jee.DataSource$JAXB.readDataSource;
+import static org.apache.openejb.jee.DataSource$JAXB.writeDataSource;
+import static org.apache.openejb.jee.EjbLocalRef$JAXB.readEjbLocalRef;
+import static org.apache.openejb.jee.EjbLocalRef$JAXB.writeEjbLocalRef;
+import static org.apache.openejb.jee.EjbRef$JAXB.readEjbRef;
+import static org.apache.openejb.jee.EjbRef$JAXB.writeEjbRef;
+import static org.apache.openejb.jee.EnvEntry$JAXB.readEnvEntry;
+import static org.apache.openejb.jee.EnvEntry$JAXB.writeEnvEntry;
+import static org.apache.openejb.jee.Icon$JAXB.readIcon;
+import static org.apache.openejb.jee.Icon$JAXB.writeIcon;
+import static org.apache.openejb.jee.LifecycleCallback$JAXB.readLifecycleCallback;
+import static org.apache.openejb.jee.LifecycleCallback$JAXB.writeLifecycleCallback;
+import static org.apache.openejb.jee.MessageDestinationRef$JAXB.readMessageDestinationRef;
+import static org.apache.openejb.jee.MessageDestinationRef$JAXB.writeMessageDestinationRef;
+import static org.apache.openejb.jee.PersistenceContextRef$JAXB.readPersistenceContextRef;
+import static org.apache.openejb.jee.PersistenceContextRef$JAXB.writePersistenceContextRef;
+import static org.apache.openejb.jee.PersistenceType$JAXB.parsePersistenceType;
+import static org.apache.openejb.jee.PersistenceType$JAXB.toStringPersistenceType;
+import static org.apache.openejb.jee.PersistenceUnitRef$JAXB.readPersistenceUnitRef;
+import static org.apache.openejb.jee.PersistenceUnitRef$JAXB.writePersistenceUnitRef;
+import static org.apache.openejb.jee.Query$JAXB.readQuery;
+import static org.apache.openejb.jee.Query$JAXB.writeQuery;
+import static org.apache.openejb.jee.ResourceEnvRef$JAXB.readResourceEnvRef;
+import static org.apache.openejb.jee.ResourceEnvRef$JAXB.writeResourceEnvRef;
+import static org.apache.openejb.jee.ResourceRef$JAXB.readResourceRef;
+import static org.apache.openejb.jee.ResourceRef$JAXB.writeResourceRef;
+import static org.apache.openejb.jee.SecurityIdentity$JAXB.readSecurityIdentity;
+import static org.apache.openejb.jee.SecurityIdentity$JAXB.writeSecurityIdentity;
+import static org.apache.openejb.jee.SecurityRoleRef$JAXB.readSecurityRoleRef;
+import static org.apache.openejb.jee.SecurityRoleRef$JAXB.writeSecurityRoleRef;
+import static org.apache.openejb.jee.ServiceRef$JAXB.readServiceRef;
+import static org.apache.openejb.jee.ServiceRef$JAXB.writeServiceRef;
+import static org.apache.openejb.jee.Text$JAXB.readText;
+import static org.apache.openejb.jee.Text$JAXB.writeText;
+
+@SuppressWarnings({
+        "StringEquality"
+})
+public class EntityBean$JAXB
+        extends JAXBObject<EntityBean> {
+
+
+    public EntityBean$JAXB() {
+        super(EntityBean.class, null, new QName("http://java.sun.com/xml/ns/javaee".intern(), "entity-beanType".intern()), Text$JAXB.class, Icon$JAXB.class, PersistenceType$JAXB.class, CmpVersion$JAXB.class, CmpField$JAXB.class, EnvEntry$JAXB.class, EjbRef$JAXB.class, EjbLocalRef$JAXB.class, ServiceRef$JAXB.class, ResourceRef$JAXB.class, ResourceEnvRef$JAXB.class, MessageDestinationRef$JAXB.class, PersistenceContextRef$JAXB.class, PersistenceUnitRef$JAXB.class, LifecycleCallback$JAXB.class, DataSource$JAXB.class, SecurityRoleRef$JAXB.class, SecurityIdentity$JAXB.class, Query$JAXB.class);
+    }
+
+    public static EntityBean readEntityBean(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+        return _read(reader, context);
+    }
+
+    public static void writeEntityBean(XoXMLStreamWriter writer, EntityBean entityBean, RuntimeContext context)
+            throws Exception {
+        _write(writer, entityBean, context);
+    }
+
+    public void write(XoXMLStreamWriter writer, EntityBean entityBean, RuntimeContext context)
+            throws Exception {
+        _write(writer, entityBean, context);
+    }
+
+    public final static EntityBean _read(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+
+        // Check for xsi:nil
+        if (reader.isXsiNil()) {
+            return null;
+        }
+
+        if (context == null) {
+            context = new RuntimeContext();
+        }
+
+        EntityBean entityBean = new EntityBean();
+        context.beforeUnmarshal(entityBean, com.envoisolutions.sxc.jaxb.LifecycleCallback.NONE);
+
+        ArrayList<Text> descriptions = null;
+        ArrayList<Text> displayNames = null;
+        LocalCollection<Icon> icon = null;
+        List<CmpField> cmpField = null;
+        KeyedCollection<String, EnvEntry> envEntry = null;
+        KeyedCollection<String, EjbRef> ejbRef = null;
+        KeyedCollection<String, EjbLocalRef> ejbLocalRef = null;
+        KeyedCollection<String, ServiceRef> serviceRef = null;
+        KeyedCollection<String, ResourceRef> resourceRef = null;
+        KeyedCollection<String, ResourceEnvRef> resourceEnvRef = null;
+        KeyedCollection<String, MessageDestinationRef> messageDestinationRef = null;
+        KeyedCollection<String, PersistenceContextRef> persistenceContextRef = null;
+        KeyedCollection<String, PersistenceUnitRef> persistenceUnitRef = null;
+        List<org.apache.openejb.jee.LifecycleCallback> postConstruct = null;
+        List<org.apache.openejb.jee.LifecycleCallback> preDestroy = null;
+        KeyedCollection<String, DataSource> dataSource = null;
+        List<SecurityRoleRef> securityRoleRef = null;
+        List<Query> query = null;
+
+        // Check xsi:type
+        QName xsiType = reader.getXsiType();
+        if (xsiType != null) {
+            if (("entity-beanType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
+                return context.unexpectedXsiType(reader, EntityBean.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, entityBean);
+                entityBean.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 (("description" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: descriptions
+                Text descriptionsItem = readText(elementReader, context);
+                if (descriptions == null) {
+                    descriptions = new ArrayList<Text>();
+                }
+                descriptions.add(descriptionsItem);
+            } else if (("display-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: displayNames
+                Text displayNamesItem = readText(elementReader, context);
+                if (displayNames == null) {
+                    displayNames = new ArrayList<Text>();
+                }
+                displayNames.add(displayNamesItem);
+            } else if (("icon" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: icon
+                Icon iconItem = readIcon(elementReader, context);
+                if (icon == null) {
+                    icon = entityBean.icon;
+                    if (icon != null) {
+                        icon.clear();
+                    } else {
+                        icon = new LocalCollection<Icon>();
+                    }
+                }
+                icon.add(iconItem);
+            } else if (("ejb-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: ejbName
+                String ejbNameRaw = elementReader.getElementAsString();
+
+                String ejbName;
+                try {
+                    ejbName = Adapters.collapsedStringAdapterAdapter.unmarshal(ejbNameRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.ejbName = ejbName;
+            } else if (("mapped-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: mappedName
+                String mappedNameRaw = elementReader.getElementAsString();
+
+                String mappedName;
+                try {
+                    mappedName = Adapters.collapsedStringAdapterAdapter.unmarshal(mappedNameRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.mappedName = mappedName;
+            } else if (("home" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: home
+                String homeRaw = elementReader.getElementAsString();
+
+                String home;
+                try {
+                    home = Adapters.collapsedStringAdapterAdapter.unmarshal(homeRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.home = home;
+            } else if (("remote" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: remote
+                String remoteRaw = elementReader.getElementAsString();
+
+                String remote;
+                try {
+                    remote = Adapters.collapsedStringAdapterAdapter.unmarshal(remoteRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.remote = remote;
+            } else if (("local-home" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: localHome
+                String localHomeRaw = elementReader.getElementAsString();
+
+                String localHome;
+                try {
+                    localHome = Adapters.collapsedStringAdapterAdapter.unmarshal(localHomeRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.localHome = localHome;
+            } else if (("local" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: local
+                String localRaw = elementReader.getElementAsString();
+
+                String local;
+                try {
+                    local = Adapters.collapsedStringAdapterAdapter.unmarshal(localRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.local = local;
+            } else if (("ejb-class" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: ejbClass
+                String ejbClassRaw = elementReader.getElementAsString();
+
+                String ejbClass;
+                try {
+                    ejbClass = Adapters.collapsedStringAdapterAdapter.unmarshal(ejbClassRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.ejbClass = ejbClass;
+            } else if (("persistence-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: persistenceType
+                PersistenceType persistenceType = parsePersistenceType(elementReader, context, elementReader.getElementAsString());
+                if (persistenceType != null) {
+                    entityBean.persistenceType = persistenceType;
+                }
+            } else if (("prim-key-class" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: primKeyClass
+                String primKeyClassRaw = elementReader.getElementAsString();
+
+                String primKeyClass;
+                try {
+                    primKeyClass = Adapters.collapsedStringAdapterAdapter.unmarshal(primKeyClassRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.primKeyClass = primKeyClass;
+            } else if (("reentrant" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: reentrant
+                String reentrantRaw = elementReader.getElementAsString();
+
+                Boolean reentrant;
+                try {
+                    reentrant = Adapters.booleanAdapterAdapter.unmarshal(reentrantRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, BooleanAdapter.class, Boolean.class, Boolean.class, e);
+                    continue;
+                }
+
+                entityBean.reentrant = reentrant;
+            } else if (("cmp-version" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: cmpVersion
+                CmpVersion cmpVersion = parseCmpVersion(elementReader, context, elementReader.getElementAsString());
+                if (cmpVersion != null) {
+                    entityBean.cmpVersion = cmpVersion;
+                }
+            } else if (("abstract-schema-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: abstractSchemaName
+                String abstractSchemaNameRaw = elementReader.getElementAsString();
+
+                String abstractSchemaName;
+                try {
+                    abstractSchemaName = Adapters.collapsedStringAdapterAdapter.unmarshal(abstractSchemaNameRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.abstractSchemaName = abstractSchemaName;
+            } else if (("cmp-field" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: cmpField
+                CmpField cmpFieldItem = readCmpField(elementReader, context);
+                if (cmpField == null) {
+                    cmpField = entityBean.cmpField;
+                    if (cmpField != null) {
+                        cmpField.clear();
+                    } else {
+                        cmpField = new ArrayList<CmpField>();
+                    }
+                }
+                cmpField.add(cmpFieldItem);
+            } else if (("primkey-field" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: primkeyField
+                String primkeyFieldRaw = elementReader.getElementAsString();
+
+                String primkeyField;
+                try {
+                    primkeyField = Adapters.collapsedStringAdapterAdapter.unmarshal(primkeyFieldRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                entityBean.primkeyField = primkeyField;
+            } else if (("env-entry" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: envEntry
+                EnvEntry envEntryItem = readEnvEntry(elementReader, context);
+                if (envEntry == null) {
+                    envEntry = entityBean.envEntry;
+                    if (envEntry != null) {
+                        envEntry.clear();
+                    } else {
+                        envEntry = new KeyedCollection<String, EnvEntry>();
+                    }
+                }
+                envEntry.add(envEntryItem);
+            } else if (("ejb-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: ejbRef
+                EjbRef ejbRefItem = readEjbRef(elementReader, context);
+                if (ejbRef == null) {
+                    ejbRef = entityBean.ejbRef;
+                    if (ejbRef != null) {
+                        ejbRef.clear();
+                    } else {
+                        ejbRef = new KeyedCollection<String, EjbRef>();
+                    }
+                }
+                ejbRef.add(ejbRefItem);
+            } else if (("ejb-local-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: ejbLocalRef
+                EjbLocalRef ejbLocalRefItem = readEjbLocalRef(elementReader, context);
+                if (ejbLocalRef == null) {
+                    ejbLocalRef = entityBean.ejbLocalRef;
+                    if (ejbLocalRef != null) {
+                        ejbLocalRef.clear();
+                    } else {
+                        ejbLocalRef = new KeyedCollection<String, EjbLocalRef>();
+                    }
+                }
+                ejbLocalRef.add(ejbLocalRefItem);
+            } else if (("service-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: serviceRef
+                ServiceRef serviceRefItem = readServiceRef(elementReader, context);
+                if (serviceRef == null) {
+                    serviceRef = entityBean.serviceRef;
+                    if (serviceRef != null) {
+                        serviceRef.clear();
+                    } else {
+                        serviceRef = new KeyedCollection<String, ServiceRef>();
+                    }
+                }
+                serviceRef.add(serviceRefItem);
+            } else if (("resource-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: resourceRef
+                ResourceRef resourceRefItem = readResourceRef(elementReader, context);
+                if (resourceRef == null) {
+                    resourceRef = entityBean.resourceRef;
+                    if (resourceRef != null) {
+                        resourceRef.clear();
+                    } else {
+                        resourceRef = new KeyedCollection<String, ResourceRef>();
+                    }
+                }
+                resourceRef.add(resourceRefItem);
+            } else if (("resource-env-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: resourceEnvRef
+                ResourceEnvRef resourceEnvRefItem = readResourceEnvRef(elementReader, context);
+                if (resourceEnvRef == null) {
+                    resourceEnvRef = entityBean.resourceEnvRef;
+                    if (resourceEnvRef != null) {
+                        resourceEnvRef.clear();
+                    } else {
+                        resourceEnvRef = new KeyedCollection<String, ResourceEnvRef>();
+                    }
+                }
+                resourceEnvRef.add(resourceEnvRefItem);
+            } else if (("message-destination-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: messageDestinationRef
+                MessageDestinationRef messageDestinationRefItem = readMessageDestinationRef(elementReader, context);
+                if (messageDestinationRef == null) {
+                    messageDestinationRef = entityBean.messageDestinationRef;
+                    if (messageDestinationRef != null) {
+                        messageDestinationRef.clear();
+                    } else {
+                        messageDestinationRef = new KeyedCollection<String, MessageDestinationRef>();
+                    }
+                }
+                messageDestinationRef.add(messageDestinationRefItem);
+            } else if (("persistence-context-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: persistenceContextRef
+                PersistenceContextRef persistenceContextRefItem = readPersistenceContextRef(elementReader, context);
+                if (persistenceContextRef == null) {
+                    persistenceContextRef = entityBean.persistenceContextRef;
+                    if (persistenceContextRef != null) {
+                        persistenceContextRef.clear();
+                    } else {
+                        persistenceContextRef = new KeyedCollection<String, PersistenceContextRef>();
+                    }
+                }
+                persistenceContextRef.add(persistenceContextRefItem);
+            } else if (("persistence-unit-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: persistenceUnitRef
+                PersistenceUnitRef persistenceUnitRefItem = readPersistenceUnitRef(elementReader, context);
+                if (persistenceUnitRef == null) {
+                    persistenceUnitRef = entityBean.persistenceUnitRef;
+                    if (persistenceUnitRef != null) {
+                        persistenceUnitRef.clear();
+                    } else {
+                        persistenceUnitRef = new KeyedCollection<String, PersistenceUnitRef>();
+                    }
+                }
+                persistenceUnitRef.add(persistenceUnitRefItem);
+            } else if (("post-construct" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: postConstruct
+                org.apache.openejb.jee.LifecycleCallback postConstructItem = readLifecycleCallback(elementReader, context);
+                if (postConstruct == null) {
+                    postConstruct = entityBean.postConstruct;
+                    if (postConstruct != null) {
+                        postConstruct.clear();
+                    } else {
+                        postConstruct = new ArrayList<org.apache.openejb.jee.LifecycleCallback>();
+                    }
+                }
+                postConstruct.add(postConstructItem);
+            } else if (("pre-destroy" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: preDestroy
+                org.apache.openejb.jee.LifecycleCallback preDestroyItem = readLifecycleCallback(elementReader, context);
+                if (preDestroy == null) {
+                    preDestroy = entityBean.preDestroy;
+                    if (preDestroy != null) {
+                        preDestroy.clear();
+                    } else {
+                        preDestroy = new ArrayList<org.apache.openejb.jee.LifecycleCallback>();
+                    }
+                }
+                preDestroy.add(preDestroyItem);
+            } else if (("data-source" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: dataSource
+                DataSource dataSourceItem = readDataSource(elementReader, context);
+                if (dataSource == null) {
+                    dataSource = entityBean.dataSource;
+                    if (dataSource != null) {
+                        dataSource.clear();
+                    } else {
+                        dataSource = new KeyedCollection<String, DataSource>();
+                    }
+                }
+                dataSource.add(dataSourceItem);
+            } else if (("security-role-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: securityRoleRef
+                SecurityRoleRef securityRoleRefItem = readSecurityRoleRef(elementReader, context);
+                if (securityRoleRef == null) {
+                    securityRoleRef = entityBean.securityRoleRef;
+                    if (securityRoleRef != null) {
+                        securityRoleRef.clear();
+                    } else {
+                        securityRoleRef = new ArrayList<SecurityRoleRef>();
+                    }
+                }
+                securityRoleRef.add(securityRoleRefItem);
+            } else if (("security-identity" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: securityIdentity
+                SecurityIdentity securityIdentity = readSecurityIdentity(elementReader, context);
+                entityBean.securityIdentity = securityIdentity;
+            } else if (("query" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: query
+                Query queryItem = readQuery(elementReader, context);
+                if (query == null) {
+                    query = entityBean.query;
+                    if (query != null) {
+                        query.clear();
+                    } else {
+                        query = new ArrayList<Query>();
+                    }
+                }
+                query.add(queryItem);
+            } else {
+                context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "description"), new QName("http://java.sun.com/xml/ns/javaee", "display-name"), new QName("http://java.sun.com/xml/ns/javaee", "icon"), new QName("http://java.sun.com/xml/ns/javaee", "ejb-name"), new QName("http://java.sun.com/xml/ns/javaee", "mapped-name"), new QName("http://java.sun.com/xml/ns/javaee", "home"), new QName("http://java.sun.com/xml/ns/javaee", "remote"), new QName("http://java.sun.com/xml/ns/javaee", "local-home"), new QName("http://java.sun.com/xml/ns/javaee", "local"), new QName("http://java.sun.com/xml/ns/javaee", "ejb-class"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-type"), new QName("http://java.sun.com/xml/ns/javaee", "prim-key-class"), new QName("http://java.sun.com/xml/ns/javaee", "reentrant"), new QName("http://java.sun.com/xml/ns/javaee", "cmp-version"), new QName("http://java.sun.com/xml/ns/javaee", "abstract-schema-name"), ne
 w QName("http://java.sun.com/xml/ns/javaee", "cmp-field"), new QName("http://java.sun.com/xml/ns/javaee", "primkey-field"), new QName("http://java.sun.com/xml/ns/javaee", "env-entry"), new QName("http://java.sun.com/xml/ns/javaee", "ejb-ref"), new QName("http://java.sun.com/xml/ns/javaee", "ejb-local-ref"), new QName("http://java.sun.com/xml/ns/javaee", "service-ref"), new QName("http://java.sun.com/xml/ns/javaee", "resource-ref"), new QName("http://java.sun.com/xml/ns/javaee", "resource-env-ref"), new QName("http://java.sun.com/xml/ns/javaee", "message-destination-ref"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-context-ref"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-unit-ref"), new QName("http://java.sun.com/xml/ns/javaee", "post-construct"), new QName("http://java.sun.com/xml/ns/javaee", "pre-destroy"), new QName("http://java.sun.com/xml/ns/javaee", "data-source"), new QName("http://java.sun.com/xml/ns/javaee", "security-role-ref"), ne
 w QName("http://java.sun.com/xml/ns/javaee", "security-identity"), new QName("http://java.sun.com/xml/ns/javaee", "query"));
+            }
+        }
+        if (descriptions != null) {
+            try {
+                entityBean.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
+            } catch (Exception e) {
+                context.setterError(reader, EntityBean.class, "setDescriptions", Text[].class, e);
+            }
+        }
+        if (displayNames != null) {
+            try {
+                entityBean.setDisplayNames(displayNames.toArray(new Text[displayNames.size()]));
+            } catch (Exception e) {
+                context.setterError(reader, EntityBean.class, "setDisplayNames", Text[].class, e);
+            }
+        }
+        if (icon != null) {
+            entityBean.icon = icon;
+        }
+        if (cmpField != null) {
+            entityBean.cmpField = cmpField;
+        }
+        if (envEntry != null) {
+            entityBean.envEntry = envEntry;
+        }
+        if (ejbRef != null) {
+            entityBean.ejbRef = ejbRef;
+        }
+        if (ejbLocalRef != null) {
+            entityBean.ejbLocalRef = ejbLocalRef;
+        }
+        if (serviceRef != null) {
+            entityBean.serviceRef = serviceRef;
+        }
+        if (resourceRef != null) {
+            entityBean.resourceRef = resourceRef;
+        }
+        if (resourceEnvRef != null) {
+            entityBean.resourceEnvRef = resourceEnvRef;
+        }
+        if (messageDestinationRef != null) {
+            entityBean.messageDestinationRef = messageDestinationRef;
+        }
+        if (persistenceContextRef != null) {
+            entityBean.persistenceContextRef = persistenceContextRef;
+        }
+        if (persistenceUnitRef != null) {
+            entityBean.persistenceUnitRef = persistenceUnitRef;
+        }
+        if (postConstruct != null) {
+            entityBean.postConstruct = postConstruct;
+        }
+        if (preDestroy != null) {
+            entityBean.preDestroy = preDestroy;
+        }
+        if (dataSource != null) {
+            entityBean.dataSource = dataSource;
+        }
+        if (securityRoleRef != null) {
+            entityBean.securityRoleRef = securityRoleRef;
+        }
+        if (query != null) {
+            entityBean.query = query;
+        }
+
+        context.afterUnmarshal(entityBean, com.envoisolutions.sxc.jaxb.LifecycleCallback.NONE);
+
+        return entityBean;
+    }
+
+    public final EntityBean read(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+        return _read(reader, context);
+    }
+
+    public final static void _write(XoXMLStreamWriter writer, EntityBean entityBean, RuntimeContext context)
+            throws Exception {
+        if (entityBean == null) {
+            writer.writeXsiNil();
+            return;
+        }
+
+        if (context == null) {
+            context = new RuntimeContext();
+        }
+
+        String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
+        if (EntityBean.class != entityBean.getClass()) {
+            context.unexpectedSubclass(writer, entityBean, EntityBean.class);
+            return;
+        }
+
+        context.beforeMarshal(entityBean, com.envoisolutions.sxc.jaxb.LifecycleCallback.NONE);
+
+
+        // ATTRIBUTE: id
+        String idRaw = entityBean.id;
+        if (idRaw != null) {
+            String id = null;
+            try {
+                id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
+            } catch (Exception e) {
+                context.xmlAdapterError(entityBean, "id", CollapsedStringAdapter.class, String.class, String.class, e);
+            }
+            writer.writeAttribute("", "", "id", id);
+        }
+
+        // ELEMENT: descriptions
+        Text[] descriptions = null;
+        try {
+            descriptions = entityBean.getDescriptions();
+        } catch (Exception e) {
+            context.getterError(entityBean, "descriptions", EntityBean.class, "getDescriptions", e);
+        }
+        if (descriptions != null) {
+            for (Text descriptionsItem : descriptions) {
+                if (descriptionsItem != null) {
+                    writer.writeStartElement(prefix, "description", "http://java.sun.com/xml/ns/javaee");
+                    writeText(writer, descriptionsItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "descriptions");
+                }
+            }
+        }
+
+        // ELEMENT: displayNames
+        Text[] displayNames = null;
+        try {
+            displayNames = entityBean.getDisplayNames();
+        } catch (Exception e) {
+            context.getterError(entityBean, "displayNames", EntityBean.class, "getDisplayNames", e);
+        }
+        if (displayNames != null) {
+            for (Text displayNamesItem : displayNames) {
+                if (displayNamesItem != null) {
+                    writer.writeStartElement(prefix, "display-name", "http://java.sun.com/xml/ns/javaee");
+                    writeText(writer, displayNamesItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "displayNames");
+                }
+            }
+        }
+
+        // ELEMENT: icon
+        LocalCollection<Icon> icon = entityBean.icon;
+        if (icon != null) {
+            for (Icon iconItem : icon) {
+                if (iconItem != null) {
+                    writer.writeStartElement(prefix, "icon", "http://java.sun.com/xml/ns/javaee");
+                    writeIcon(writer, iconItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "icon");
+                }
+            }
+        }
+
+        // ELEMENT: ejbName
+        String ejbNameRaw = entityBean.ejbName;
+        String ejbName = null;
+        try {
+            ejbName = Adapters.collapsedStringAdapterAdapter.marshal(ejbNameRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "ejbName", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (ejbName != null) {
+            writer.writeStartElement(prefix, "ejb-name", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(ejbName);
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(entityBean, "ejbName");
+        }
+
+        // ELEMENT: mappedName
+        String mappedNameRaw = entityBean.mappedName;
+        String mappedName = null;
+        try {
+            mappedName = Adapters.collapsedStringAdapterAdapter.marshal(mappedNameRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "mappedName", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (mappedName != null) {
+            writer.writeStartElement(prefix, "mapped-name", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(mappedName);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: home
+        String homeRaw = entityBean.home;
+        String home = null;
+        try {
+            home = Adapters.collapsedStringAdapterAdapter.marshal(homeRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "home", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (home != null) {
+            writer.writeStartElement(prefix, "home", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(home);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: remote
+        String remoteRaw = entityBean.remote;
+        String remote = null;
+        try {
+            remote = Adapters.collapsedStringAdapterAdapter.marshal(remoteRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "remote", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (remote != null) {
+            writer.writeStartElement(prefix, "remote", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(remote);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: localHome
+        String localHomeRaw = entityBean.localHome;
+        String localHome = null;
+        try {
+            localHome = Adapters.collapsedStringAdapterAdapter.marshal(localHomeRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "localHome", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (localHome != null) {
+            writer.writeStartElement(prefix, "local-home", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(localHome);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: local
+        String localRaw = entityBean.local;
+        String local = null;
+        try {
+            local = Adapters.collapsedStringAdapterAdapter.marshal(localRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "local", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (local != null) {
+            writer.writeStartElement(prefix, "local", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(local);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: ejbClass
+        String ejbClassRaw = entityBean.ejbClass;
+        String ejbClass = null;
+        try {
+            ejbClass = Adapters.collapsedStringAdapterAdapter.marshal(ejbClassRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "ejbClass", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (ejbClass != null) {
+            writer.writeStartElement(prefix, "ejb-class", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(ejbClass);
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(entityBean, "ejbClass");
+        }
+
+        // ELEMENT: persistenceType
+        PersistenceType persistenceType = entityBean.persistenceType;
+        if (persistenceType != null) {
+            writer.writeStartElement(prefix, "persistence-type", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(toStringPersistenceType(entityBean, null, context, persistenceType));
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(entityBean, "persistenceType");
+        }
+
+        // ELEMENT: primKeyClass
+        String primKeyClassRaw = entityBean.primKeyClass;
+        String primKeyClass = null;
+        try {
+            primKeyClass = Adapters.collapsedStringAdapterAdapter.marshal(primKeyClassRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "primKeyClass", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (primKeyClass != null) {
+            writer.writeStartElement(prefix, "prim-key-class", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(primKeyClass);
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(entityBean, "primKeyClass");
+        }
+
+        // ELEMENT: reentrant
+        Boolean reentrantRaw = entityBean.reentrant;
+        String reentrant = null;
+        try {
+            reentrant = Adapters.booleanAdapterAdapter.marshal(reentrantRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "reentrant", BooleanAdapter.class, Boolean.TYPE, Boolean.TYPE, e);
+        }
+        if (reentrant != null) {
+            writer.writeStartElement(prefix, "reentrant", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(reentrant);
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(entityBean, "reentrant");
+        }
+
+        // ELEMENT: cmpVersion
+        CmpVersion cmpVersion = entityBean.cmpVersion;
+        if (cmpVersion != null) {
+            writer.writeStartElement(prefix, "cmp-version", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(toStringCmpVersion(entityBean, null, context, cmpVersion));
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: abstractSchemaName
+        String abstractSchemaNameRaw = entityBean.abstractSchemaName;
+        String abstractSchemaName = null;
+        try {
+            abstractSchemaName = Adapters.collapsedStringAdapterAdapter.marshal(abstractSchemaNameRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "abstractSchemaName", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (abstractSchemaName != null) {
+            writer.writeStartElement(prefix, "abstract-schema-name", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(abstractSchemaName);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: cmpField
+        List<CmpField> cmpField = entityBean.cmpField;
+        if (cmpField != null) {
+            for (CmpField cmpFieldItem : cmpField) {
+                if (cmpFieldItem != null) {
+                    writer.writeStartElement(prefix, "cmp-field", "http://java.sun.com/xml/ns/javaee");
+                    writeCmpField(writer, cmpFieldItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "cmpField");
+                }
+            }
+        }
+
+        // ELEMENT: primkeyField
+        String primkeyFieldRaw = entityBean.primkeyField;
+        String primkeyField = null;
+        try {
+            primkeyField = Adapters.collapsedStringAdapterAdapter.marshal(primkeyFieldRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(entityBean, "primkeyField", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (primkeyField != null) {
+            writer.writeStartElement(prefix, "primkey-field", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(primkeyField);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: envEntry
+        KeyedCollection<String, EnvEntry> envEntry = entityBean.envEntry;
+        if (envEntry != null) {
+            for (EnvEntry envEntryItem : envEntry) {
+                if (envEntryItem != null) {
+                    writer.writeStartElement(prefix, "env-entry", "http://java.sun.com/xml/ns/javaee");
+                    writeEnvEntry(writer, envEntryItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "envEntry");
+                }
+            }
+        }
+
+        // ELEMENT: ejbRef
+        KeyedCollection<String, EjbRef> ejbRef = entityBean.ejbRef;
+        if (ejbRef != null) {
+            for (EjbRef ejbRefItem : ejbRef) {
+                if (ejbRefItem != null) {
+                    writer.writeStartElement(prefix, "ejb-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeEjbRef(writer, ejbRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "ejbRef");
+                }
+            }
+        }
+
+        // ELEMENT: ejbLocalRef
+        KeyedCollection<String, EjbLocalRef> ejbLocalRef = entityBean.ejbLocalRef;
+        if (ejbLocalRef != null) {
+            for (EjbLocalRef ejbLocalRefItem : ejbLocalRef) {
+                if (ejbLocalRefItem != null) {
+                    writer.writeStartElement(prefix, "ejb-local-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeEjbLocalRef(writer, ejbLocalRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "ejbLocalRef");
+                }
+            }
+        }
+
+        // ELEMENT: serviceRef
+        KeyedCollection<String, ServiceRef> serviceRef = entityBean.serviceRef;
+        if (serviceRef != null) {
+            for (ServiceRef serviceRefItem : serviceRef) {
+                if (serviceRefItem != null) {
+                    writer.writeStartElement(prefix, "service-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeServiceRef(writer, serviceRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "serviceRef");
+                }
+            }
+        }
+
+        // ELEMENT: resourceRef
+        KeyedCollection<String, ResourceRef> resourceRef = entityBean.resourceRef;
+        if (resourceRef != null) {
+            for (ResourceRef resourceRefItem : resourceRef) {
+                if (resourceRefItem != null) {
+                    writer.writeStartElement(prefix, "resource-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeResourceRef(writer, resourceRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "resourceRef");
+                }
+            }
+        }
+
+        // ELEMENT: resourceEnvRef
+        KeyedCollection<String, ResourceEnvRef> resourceEnvRef = entityBean.resourceEnvRef;
+        if (resourceEnvRef != null) {
+            for (ResourceEnvRef resourceEnvRefItem : resourceEnvRef) {
+                if (resourceEnvRefItem != null) {
+                    writer.writeStartElement(prefix, "resource-env-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeResourceEnvRef(writer, resourceEnvRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "resourceEnvRef");
+                }
+            }
+        }
+
+        // ELEMENT: messageDestinationRef
+        KeyedCollection<String, MessageDestinationRef> messageDestinationRef = entityBean.messageDestinationRef;
+        if (messageDestinationRef != null) {
+            for (MessageDestinationRef messageDestinationRefItem : messageDestinationRef) {
+                if (messageDestinationRefItem != null) {
+                    writer.writeStartElement(prefix, "message-destination-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeMessageDestinationRef(writer, messageDestinationRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "messageDestinationRef");
+                }
+            }
+        }
+
+        // ELEMENT: persistenceContextRef
+        KeyedCollection<String, PersistenceContextRef> persistenceContextRef = entityBean.persistenceContextRef;
+        if (persistenceContextRef != null) {
+            for (PersistenceContextRef persistenceContextRefItem : persistenceContextRef) {
+                if (persistenceContextRefItem != null) {
+                    writer.writeStartElement(prefix, "persistence-context-ref", "http://java.sun.com/xml/ns/javaee");
+                    writePersistenceContextRef(writer, persistenceContextRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "persistenceContextRef");
+                }
+            }
+        }
+
+        // ELEMENT: persistenceUnitRef
+        KeyedCollection<String, PersistenceUnitRef> persistenceUnitRef = entityBean.persistenceUnitRef;
+        if (persistenceUnitRef != null) {
+            for (PersistenceUnitRef persistenceUnitRefItem : persistenceUnitRef) {
+                if (persistenceUnitRefItem != null) {
+                    writer.writeStartElement(prefix, "persistence-unit-ref", "http://java.sun.com/xml/ns/javaee");
+                    writePersistenceUnitRef(writer, persistenceUnitRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "persistenceUnitRef");
+                }
+            }
+        }
+
+        // ELEMENT: postConstruct
+        List<org.apache.openejb.jee.LifecycleCallback> postConstruct = entityBean.postConstruct;
+        if (postConstruct != null) {
+            for (org.apache.openejb.jee.LifecycleCallback postConstructItem : postConstruct) {
+                if (postConstructItem != null) {
+                    writer.writeStartElement(prefix, "post-construct", "http://java.sun.com/xml/ns/javaee");
+                    writeLifecycleCallback(writer, postConstructItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "postConstruct");
+                }
+            }
+        }
+
+        // ELEMENT: preDestroy
+        List<org.apache.openejb.jee.LifecycleCallback> preDestroy = entityBean.preDestroy;
+        if (preDestroy != null) {
+            for (org.apache.openejb.jee.LifecycleCallback preDestroyItem : preDestroy) {
+                if (preDestroyItem != null) {
+                    writer.writeStartElement(prefix, "pre-destroy", "http://java.sun.com/xml/ns/javaee");
+                    writeLifecycleCallback(writer, preDestroyItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "preDestroy");
+                }
+            }
+        }
+
+        // ELEMENT: dataSource
+        KeyedCollection<String, DataSource> dataSource = entityBean.dataSource;
+        if (dataSource != null) {
+            for (DataSource dataSourceItem : dataSource) {
+                if (dataSourceItem != null) {
+                    writer.writeStartElement(prefix, "data-source", "http://java.sun.com/xml/ns/javaee");
+                    writeDataSource(writer, dataSourceItem, context);
+                    writer.writeEndElement();
+                }
+            }
+        }
+
+        // ELEMENT: securityRoleRef
+        List<SecurityRoleRef> securityRoleRef = entityBean.securityRoleRef;
+        if (securityRoleRef != null) {
+            for (SecurityRoleRef securityRoleRefItem : securityRoleRef) {
+                if (securityRoleRefItem != null) {
+                    writer.writeStartElement(prefix, "security-role-ref", "http://java.sun.com/xml/ns/javaee");
+                    writeSecurityRoleRef(writer, securityRoleRefItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "securityRoleRef");
+                }
+            }
+        }
+
+        // ELEMENT: securityIdentity
+        SecurityIdentity securityIdentity = entityBean.securityIdentity;
+        if (securityIdentity != null) {
+            writer.writeStartElement(prefix, "security-identity", "http://java.sun.com/xml/ns/javaee");
+            writeSecurityIdentity(writer, securityIdentity, context);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: query
+        List<Query> query = entityBean.query;
+        if (query != null) {
+            for (Query queryItem : query) {
+                if (queryItem != null) {
+                    writer.writeStartElement(prefix, "query", "http://java.sun.com/xml/ns/javaee");
+                    writeQuery(writer, queryItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(entityBean, "query");
+                }
+            }
+        }
+
+        context.afterMarshal(entityBean, com.envoisolutions.sxc.jaxb.LifecycleCallback.NONE);
+    }
+
+}

Propchange: openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EntityBean$JAXB.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EnvEntry$JAXB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EnvEntry%24JAXB.java?rev=1419199&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EnvEntry$JAXB.java (added)
+++ openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EnvEntry$JAXB.java Mon Dec 10 05:08:14 2012
@@ -0,0 +1,353 @@
+/*
+ * 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 com.envoisolutions.sxc.jaxb.JAXBObject;
+import com.envoisolutions.sxc.jaxb.LifecycleCallback;
+import com.envoisolutions.sxc.jaxb.RuntimeContext;
+import com.envoisolutions.sxc.util.Attribute;
+import com.envoisolutions.sxc.util.XoXMLStreamReader;
+import com.envoisolutions.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.LinkedHashSet;
+import java.util.Set;
+
+import static org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget;
+import static org.apache.openejb.jee.InjectionTarget$JAXB.writeInjectionTarget;
+import static org.apache.openejb.jee.Text$JAXB.readText;
+import static org.apache.openejb.jee.Text$JAXB.writeText;
+
+@SuppressWarnings({
+        "StringEquality"
+})
+public class EnvEntry$JAXB
+        extends JAXBObject<EnvEntry> {
+
+
+    public EnvEntry$JAXB() {
+        super(EnvEntry.class, null, new QName("http://java.sun.com/xml/ns/javaee".intern(), "env-entryType".intern()), Text$JAXB.class, InjectionTarget$JAXB.class);
+    }
+
+    public static EnvEntry readEnvEntry(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+        return _read(reader, context);
+    }
+
+    public static void writeEnvEntry(XoXMLStreamWriter writer, EnvEntry envEntry, RuntimeContext context)
+            throws Exception {
+        _write(writer, envEntry, context);
+    }
+
+    public void write(XoXMLStreamWriter writer, EnvEntry envEntry, RuntimeContext context)
+            throws Exception {
+        _write(writer, envEntry, context);
+    }
+
+    public final static EnvEntry _read(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+
+        // Check for xsi:nil
+        if (reader.isXsiNil()) {
+            return null;
+        }
+
+        if (context == null) {
+            context = new RuntimeContext();
+        }
+
+        EnvEntry envEntry = new EnvEntry();
+        context.beforeUnmarshal(envEntry, LifecycleCallback.NONE);
+
+        ArrayList<Text> descriptions = null;
+        Set<InjectionTarget> injectionTarget = null;
+
+        // Check xsi:type
+        QName xsiType = reader.getXsiType();
+        if (xsiType != null) {
+            if (("env-entryType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
+                return context.unexpectedXsiType(reader, EnvEntry.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, envEntry);
+                envEntry.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 (("description" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: descriptions
+                Text descriptionsItem = readText(elementReader, context);
+                if (descriptions == null) {
+                    descriptions = new ArrayList<Text>();
+                }
+                descriptions.add(descriptionsItem);
+            } else if (("env-entry-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: envEntryName
+                String envEntryNameRaw = elementReader.getElementAsString();
+
+                String envEntryName;
+                try {
+                    envEntryName = Adapters.collapsedStringAdapterAdapter.unmarshal(envEntryNameRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                envEntry.envEntryName = envEntryName;
+            } else if (("env-entry-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: envEntryType
+                String envEntryTypeRaw = elementReader.getElementAsString();
+
+                String envEntryType;
+                try {
+                    envEntryType = Adapters.collapsedStringAdapterAdapter.unmarshal(envEntryTypeRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                envEntry.envEntryType = envEntryType;
+            } else if (("env-entry-value" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: envEntryValue
+                String envEntryValueRaw = elementReader.getElementAsString();
+
+                String envEntryValue;
+                try {
+                    envEntryValue = Adapters.stringAdapterAdapter.unmarshal(envEntryValueRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, StringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                envEntry.envEntryValue = envEntryValue;
+            } else if (("mapped-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: mappedName
+                String mappedNameRaw = elementReader.getElementAsString();
+
+                String mappedName;
+                try {
+                    mappedName = Adapters.collapsedStringAdapterAdapter.unmarshal(mappedNameRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                envEntry.mappedName = mappedName;
+            } else if (("injection-target" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: injectionTarget
+                InjectionTarget injectionTargetItem = readInjectionTarget(elementReader, context);
+                if (injectionTarget == null) {
+                    injectionTarget = envEntry.injectionTarget;
+                    if (injectionTarget != null) {
+                        injectionTarget.clear();
+                    } else {
+                        injectionTarget = new LinkedHashSet<InjectionTarget>();
+                    }
+                }
+                injectionTarget.add(injectionTargetItem);
+            } else if (("lookup-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: lookupName
+                String lookupNameRaw = elementReader.getElementAsString();
+
+                String lookupName;
+                try {
+                    lookupName = Adapters.collapsedStringAdapterAdapter.unmarshal(lookupNameRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                envEntry.lookupName = lookupName;
+            } else {
+                context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "description"), new QName("http://java.sun.com/xml/ns/javaee", "env-entry-name"), new QName("http://java.sun.com/xml/ns/javaee", "env-entry-type"), new QName("http://java.sun.com/xml/ns/javaee", "env-entry-value"), new QName("http://java.sun.com/xml/ns/javaee", "mapped-name"), new QName("http://java.sun.com/xml/ns/javaee", "injection-target"), new QName("http://java.sun.com/xml/ns/javaee", "lookup-name"));
+            }
+        }
+        if (descriptions != null) {
+            try {
+                envEntry.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
+            } catch (Exception e) {
+                context.setterError(reader, EnvEntry.class, "setDescriptions", Text[].class, e);
+            }
+        }
+        if (injectionTarget != null) {
+            envEntry.injectionTarget = injectionTarget;
+        }
+
+        context.afterUnmarshal(envEntry, LifecycleCallback.NONE);
+
+        return envEntry;
+    }
+
+    public final EnvEntry read(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+        return _read(reader, context);
+    }
+
+    public final static void _write(XoXMLStreamWriter writer, EnvEntry envEntry, RuntimeContext context)
+            throws Exception {
+        if (envEntry == null) {
+            writer.writeXsiNil();
+            return;
+        }
+
+        if (context == null) {
+            context = new RuntimeContext();
+        }
+
+        String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
+        if (EnvEntry.class != envEntry.getClass()) {
+            context.unexpectedSubclass(writer, envEntry, EnvEntry.class);
+            return;
+        }
+
+        context.beforeMarshal(envEntry, LifecycleCallback.NONE);
+
+
+        // ATTRIBUTE: id
+        String idRaw = envEntry.id;
+        if (idRaw != null) {
+            String id = null;
+            try {
+                id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
+            } catch (Exception e) {
+                context.xmlAdapterError(envEntry, "id", CollapsedStringAdapter.class, String.class, String.class, e);
+            }
+            writer.writeAttribute("", "", "id", id);
+        }
+
+        // ELEMENT: descriptions
+        Text[] descriptions = null;
+        try {
+            descriptions = envEntry.getDescriptions();
+        } catch (Exception e) {
+            context.getterError(envEntry, "descriptions", EnvEntry.class, "getDescriptions", e);
+        }
+        if (descriptions != null) {
+            for (Text descriptionsItem : descriptions) {
+                if (descriptionsItem != null) {
+                    writer.writeStartElement(prefix, "description", "http://java.sun.com/xml/ns/javaee");
+                    writeText(writer, descriptionsItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(envEntry, "descriptions");
+                }
+            }
+        }
+
+        // ELEMENT: envEntryName
+        String envEntryNameRaw = envEntry.envEntryName;
+        String envEntryName = null;
+        try {
+            envEntryName = Adapters.collapsedStringAdapterAdapter.marshal(envEntryNameRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(envEntry, "envEntryName", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (envEntryName != null) {
+            writer.writeStartElement(prefix, "env-entry-name", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(envEntryName);
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(envEntry, "envEntryName");
+        }
+
+        // ELEMENT: envEntryType
+        String envEntryTypeRaw = envEntry.envEntryType;
+        String envEntryType = null;
+        try {
+            envEntryType = Adapters.collapsedStringAdapterAdapter.marshal(envEntryTypeRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(envEntry, "envEntryType", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (envEntryType != null) {
+            writer.writeStartElement(prefix, "env-entry-type", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(envEntryType);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: envEntryValue
+        String envEntryValueRaw = envEntry.envEntryValue;
+        String envEntryValue = null;
+        try {
+            envEntryValue = Adapters.stringAdapterAdapter.marshal(envEntryValueRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(envEntry, "envEntryValue", StringAdapter.class, String.class, String.class, e);
+        }
+        if (envEntryValue != null) {
+            writer.writeStartElement(prefix, "env-entry-value", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(envEntryValue);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: mappedName
+        String mappedNameRaw = envEntry.mappedName;
+        String mappedName = null;
+        try {
+            mappedName = Adapters.collapsedStringAdapterAdapter.marshal(mappedNameRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(envEntry, "mappedName", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (mappedName != null) {
+            writer.writeStartElement(prefix, "mapped-name", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(mappedName);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: injectionTarget
+        Set<InjectionTarget> injectionTarget = envEntry.injectionTarget;
+        if (injectionTarget != null) {
+            for (InjectionTarget injectionTargetItem : injectionTarget) {
+                if (injectionTargetItem != null) {
+                    writer.writeStartElement(prefix, "injection-target", "http://java.sun.com/xml/ns/javaee");
+                    writeInjectionTarget(writer, injectionTargetItem, context);
+                    writer.writeEndElement();
+                } else {
+                    context.unexpectedNullValue(envEntry, "injectionTarget");
+                }
+            }
+        }
+
+        // ELEMENT: lookupName
+        String lookupNameRaw = envEntry.lookupName;
+        String lookupName = null;
+        try {
+            lookupName = Adapters.collapsedStringAdapterAdapter.marshal(lookupNameRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(envEntry, "lookupName", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (lookupName != null) {
+            writer.writeStartElement(prefix, "lookup-name", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(lookupName);
+            writer.writeEndElement();
+        }
+
+        context.afterMarshal(envEntry, LifecycleCallback.NONE);
+    }
+
+}

Propchange: openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/EnvEntry$JAXB.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/ErrorPage$JAXB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/ErrorPage%24JAXB.java?rev=1419199&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/ErrorPage$JAXB.java (added)
+++ openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/ErrorPage$JAXB.java Mon Dec 10 05:08:14 2012
@@ -0,0 +1,213 @@
+/*
+ * 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 com.envoisolutions.sxc.jaxb.JAXBObject;
+import com.envoisolutions.sxc.jaxb.LifecycleCallback;
+import com.envoisolutions.sxc.jaxb.RuntimeContext;
+import com.envoisolutions.sxc.util.Attribute;
+import com.envoisolutions.sxc.util.XoXMLStreamReader;
+import com.envoisolutions.sxc.util.XoXMLStreamWriter;
+
+import javax.xml.XMLConstants;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.namespace.QName;
+import java.math.BigInteger;
+
+@SuppressWarnings({
+        "StringEquality"
+})
+public class ErrorPage$JAXB
+        extends JAXBObject<ErrorPage> {
+
+
+    public ErrorPage$JAXB() {
+        super(ErrorPage.class, null, new QName("http://java.sun.com/xml/ns/javaee".intern(), "error-pageType".intern()));
+    }
+
+    public static ErrorPage readErrorPage(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+        return _read(reader, context);
+    }
+
+    public static void writeErrorPage(XoXMLStreamWriter writer, ErrorPage errorPage, RuntimeContext context)
+            throws Exception {
+        _write(writer, errorPage, context);
+    }
+
+    public void write(XoXMLStreamWriter writer, ErrorPage errorPage, RuntimeContext context)
+            throws Exception {
+        _write(writer, errorPage, context);
+    }
+
+    public final static ErrorPage _read(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+
+        // Check for xsi:nil
+        if (reader.isXsiNil()) {
+            return null;
+        }
+
+        if (context == null) {
+            context = new RuntimeContext();
+        }
+
+        ErrorPage errorPage = new ErrorPage();
+        context.beforeUnmarshal(errorPage, LifecycleCallback.NONE);
+
+
+        // Check xsi:type
+        QName xsiType = reader.getXsiType();
+        if (xsiType != null) {
+            if (("error-pageType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
+                return context.unexpectedXsiType(reader, ErrorPage.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, errorPage);
+                errorPage.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 (("error-code" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: errorCode
+                BigInteger errorCode = new BigInteger(elementReader.getElementAsString());
+                errorPage.errorCode = errorCode;
+            } else if (("exception-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: exceptionType
+                String exceptionTypeRaw = elementReader.getElementAsString();
+
+                String exceptionType;
+                try {
+                    exceptionType = Adapters.collapsedStringAdapterAdapter.unmarshal(exceptionTypeRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                errorPage.exceptionType = exceptionType;
+            } else if (("location" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
+                // ELEMENT: location
+                String locationRaw = elementReader.getElementAsString();
+
+                String location;
+                try {
+                    location = Adapters.collapsedStringAdapterAdapter.unmarshal(locationRaw);
+                } catch (Exception e) {
+                    context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
+                    continue;
+                }
+
+                errorPage.location = location;
+            } else {
+                context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "error-code"), new QName("http://java.sun.com/xml/ns/javaee", "exception-type"), new QName("http://java.sun.com/xml/ns/javaee", "location"));
+            }
+        }
+
+        context.afterUnmarshal(errorPage, LifecycleCallback.NONE);
+
+        return errorPage;
+    }
+
+    public final ErrorPage read(XoXMLStreamReader reader, RuntimeContext context)
+            throws Exception {
+        return _read(reader, context);
+    }
+
+    public final static void _write(XoXMLStreamWriter writer, ErrorPage errorPage, RuntimeContext context)
+            throws Exception {
+        if (errorPage == null) {
+            writer.writeXsiNil();
+            return;
+        }
+
+        if (context == null) {
+            context = new RuntimeContext();
+        }
+
+        String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
+        if (ErrorPage.class != errorPage.getClass()) {
+            context.unexpectedSubclass(writer, errorPage, ErrorPage.class);
+            return;
+        }
+
+        context.beforeMarshal(errorPage, LifecycleCallback.NONE);
+
+
+        // ATTRIBUTE: id
+        String idRaw = errorPage.id;
+        if (idRaw != null) {
+            String id = null;
+            try {
+                id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
+            } catch (Exception e) {
+                context.xmlAdapterError(errorPage, "id", CollapsedStringAdapter.class, String.class, String.class, e);
+            }
+            writer.writeAttribute("", "", "id", id);
+        }
+
+        // ELEMENT: errorCode
+        BigInteger errorCode = errorPage.errorCode;
+        if (errorCode != null) {
+            writer.writeStartElement(prefix, "error-code", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(errorCode.toString());
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: exceptionType
+        String exceptionTypeRaw = errorPage.exceptionType;
+        String exceptionType = null;
+        try {
+            exceptionType = Adapters.collapsedStringAdapterAdapter.marshal(exceptionTypeRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(errorPage, "exceptionType", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (exceptionType != null) {
+            writer.writeStartElement(prefix, "exception-type", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(exceptionType);
+            writer.writeEndElement();
+        }
+
+        // ELEMENT: location
+        String locationRaw = errorPage.location;
+        String location = null;
+        try {
+            location = Adapters.collapsedStringAdapterAdapter.marshal(locationRaw);
+        } catch (Exception e) {
+            context.xmlAdapterError(errorPage, "location", CollapsedStringAdapter.class, String.class, String.class, e);
+        }
+        if (location != null) {
+            writer.writeStartElement(prefix, "location", "http://java.sun.com/xml/ns/javaee");
+            writer.writeCharacters(location);
+            writer.writeEndElement();
+        } else {
+            context.unexpectedNullValue(errorPage, "location");
+        }
+
+        context.afterMarshal(errorPage, LifecycleCallback.NONE);
+    }
+
+}

Propchange: openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/ErrorPage$JAXB.java
------------------------------------------------------------------------------
    svn:eol-style = native