Search in sources :

Example 1 with RemoveMethod

use of org.apache.openejb.jee.RemoveMethod in project tomee by apache.

the class EjbJarInfoBuilder method initSessionBean.

private EnterpriseBeanInfo initSessionBean(final SessionBean s, final EjbJarInfo ejbJar, final Map m) throws OpenEJBException {
    EnterpriseBeanInfo bean;
    if (s.getSessionType() == SessionType.STATEFUL) {
        bean = new StatefulBeanInfo();
        bean.passivable = s.getPassivationCapable() == null || s.getPassivationCapable();
        final StatefulBeanInfo stateful = (StatefulBeanInfo) bean;
        copyCallbacks(s.getPostActivate(), stateful.postActivate);
        copyCallbacks(s.getPrePassivate(), stateful.prePassivate);
        copyCallbacks(s.getAfterBegin(), stateful.afterBegin);
        copyCallbacks(s.getBeforeCompletion(), stateful.beforeCompletion);
        copyCallbacks(s.getAfterCompletion(), stateful.afterCompletion);
        for (final InitMethod initMethod : s.getInitMethod()) {
            final InitMethodInfo init = new InitMethodInfo();
            init.beanMethod = toInfo(initMethod.getBeanMethod());
            init.createMethod = toInfo(initMethod.getCreateMethod());
            stateful.initMethods.add(init);
        }
        for (final RemoveMethod removeMethod : s.getRemoveMethod()) {
            final RemoveMethodInfo remove = new RemoveMethodInfo();
            remove.beanMethod = toInfo(removeMethod.getBeanMethod());
            remove.retainIfException = removeMethod.getRetainIfException();
            stateful.removeMethods.add(remove);
        }
        copyConcurrentMethods(s, ejbJar, m);
    } else if (s.getSessionType() == SessionType.MANAGED) {
        bean = new ManagedBeanInfo();
        final ManagedBeanInfo managed = (ManagedBeanInfo) bean;
        // this way we support managed beans in ejb-jar.xml (not in the spec but can be useful)
        managed.hidden = !(s instanceof ManagedBean) || ((ManagedBean) s).isHidden();
        copyCallbacks(s.getPostActivate(), managed.postActivate);
        copyCallbacks(s.getPrePassivate(), managed.prePassivate);
        for (final RemoveMethod removeMethod : s.getRemoveMethod()) {
            final RemoveMethodInfo remove = new RemoveMethodInfo();
            remove.beanMethod = toInfo(removeMethod.getBeanMethod());
            remove.retainIfException = removeMethod.getRetainIfException();
            managed.removeMethods.add(remove);
        }
    } else if (s.getSessionType() == SessionType.SINGLETON) {
        bean = new SingletonBeanInfo();
        final ConcurrencyManagementType type = s.getConcurrencyManagementType();
        bean.concurrencyType = type != null ? type.toString() : ConcurrencyManagementType.CONTAINER.toString();
        bean.loadOnStartup = s.getInitOnStartup();
        copyCallbacks(s.getAroundTimeout(), bean.aroundTimeout);
        copySchedules(s.getTimer(), bean.methodScheduleInfos);
        // See JndiEncInfoBuilder.buildDependsOnRefs for processing of DependsOn
        // bean.dependsOn.addAll(s.getDependsOn());
        copyConcurrentMethods(s, ejbJar, m);
    } else {
        bean = new StatelessBeanInfo();
        copySchedules(s.getTimer(), bean.methodScheduleInfos);
    }
    if (s.getSessionType() != SessionType.STATEFUL) {
        copyCallbacks(s.getAroundTimeout(), bean.aroundTimeout);
    }
    bean.localbean = s.getLocalBean() != null;
    bean.timeoutMethod = toInfo(s.getTimeoutMethod());
    copyCallbacks(s.getAroundInvoke(), bean.aroundInvoke);
    copyCallbacks(s.getPostConstruct(), bean.postConstruct);
    copyCallbacks(s.getPreDestroy(), bean.preDestroy);
    copyAsynchronous(s.getAsyncMethod(), bean.asynchronous);
    bean.asynchronousClasses.addAll(s.getAsynchronousClasses());
    final EjbDeployment d = (EjbDeployment) m.get(s.getEjbName());
    if (d == null) {
        throw new OpenEJBException("No deployment information in openejb-jar.xml for bean " + s.getEjbName() + ". Please redeploy the jar");
    }
    bean.ejbDeploymentId = d.getDeploymentId();
    bean.containerId = d.getContainerId();
    final Icon icon = s.getIcon();
    bean.largeIcon = icon == null ? null : icon.getLargeIcon();
    bean.smallIcon = icon == null ? null : icon.getSmallIcon();
    bean.description = s.getDescription();
    bean.displayName = s.getDisplayName();
    bean.ejbClass = s.getEjbClass();
    bean.ejbName = s.getEjbName();
    bean.home = s.getHome();
    bean.remote = s.getRemote();
    bean.localHome = s.getLocalHome();
    bean.local = s.getLocal();
    bean.proxy = s.getProxy();
    bean.parents.addAll(s.getParents());
    bean.businessLocal.addAll(s.getBusinessLocal());
    bean.businessRemote.addAll(s.getBusinessRemote());
    final TransactionType txType = s.getTransactionType();
    bean.transactionType = txType != null ? txType.toString() : TransactionType.CONTAINER.toString();
    bean.serviceEndpoint = s.getServiceEndpoint();
    bean.properties.putAll(d.getProperties());
    bean.statefulTimeout = toInfo(s.getStatefulTimeout());
    bean.restService = s.isRestService() && !(s instanceof StatefulBean);
    return bean;
}
Also used : InitMethod(org.apache.openejb.jee.InitMethod) InitMethodInfo(org.apache.openejb.assembler.classic.InitMethodInfo) OpenEJBException(org.apache.openejb.OpenEJBException) TransactionType(org.apache.openejb.jee.TransactionType) ConcurrencyManagementType(org.apache.openejb.jee.ConcurrencyManagementType) StatefulBean(org.apache.openejb.jee.StatefulBean) RemoveMethodInfo(org.apache.openejb.assembler.classic.RemoveMethodInfo) StatelessBeanInfo(org.apache.openejb.assembler.classic.StatelessBeanInfo) ManagedBeanInfo(org.apache.openejb.assembler.classic.ManagedBeanInfo) SingletonBeanInfo(org.apache.openejb.assembler.classic.SingletonBeanInfo) EnterpriseBeanInfo(org.apache.openejb.assembler.classic.EnterpriseBeanInfo) StatefulBeanInfo(org.apache.openejb.assembler.classic.StatefulBeanInfo) RemoveMethod(org.apache.openejb.jee.RemoveMethod) EjbDeployment(org.apache.openejb.jee.oejb3.EjbDeployment) Icon(org.apache.openejb.jee.Icon) ManagedBean(org.apache.openejb.jee.ManagedBean)

Example 2 with RemoveMethod

use of org.apache.openejb.jee.RemoveMethod in project tomee by apache.

the class SessionBean$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final SessionBean sessionBean, RuntimeContext context) throws Exception {
    if (sessionBean == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (!sessionBeanClasses.contains(sessionBean.getClass().getName())) {
        context.unexpectedSubclass(writer, sessionBean, SessionBean.class);
        return;
    }
    context.beforeMarshal(sessionBean, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = sessionBean.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(sessionBean, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: descriptions
    Text[] descriptions = null;
    try {
        descriptions = sessionBean.getDescriptions();
    } catch (final Exception e) {
        context.getterError(sessionBean, "descriptions", SessionBean.class, "getDescriptions", e);
    }
    if (descriptions != null) {
        for (final 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(sessionBean, "descriptions");
            }
        }
    }
    // ELEMENT: displayNames
    Text[] displayNames = null;
    try {
        displayNames = sessionBean.getDisplayNames();
    } catch (final Exception e) {
        context.getterError(sessionBean, "displayNames", SessionBean.class, "getDisplayNames", e);
    }
    if (displayNames != null) {
        for (final 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(sessionBean, "displayNames");
            }
        }
    }
    // ELEMENT: icon
    final LocalCollection<Icon> icon = sessionBean.icon;
    if (icon != null) {
        for (final 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(sessionBean, "icon");
            }
        }
    }
    // ELEMENT: ejbName
    final String ejbNameRaw = sessionBean.ejbName;
    String ejbName = null;
    try {
        ejbName = Adapters.collapsedStringAdapterAdapter.marshal(ejbNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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(sessionBean, "ejbName");
    }
    // ELEMENT: mappedName
    final String mappedNameRaw = sessionBean.mappedName;
    String mappedName = null;
    try {
        mappedName = Adapters.collapsedStringAdapterAdapter.marshal(mappedNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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
    final String homeRaw = sessionBean.home;
    String home = null;
    try {
        home = Adapters.collapsedStringAdapterAdapter.marshal(homeRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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
    final String remoteRaw = sessionBean.remote;
    String remote = null;
    try {
        remote = Adapters.collapsedStringAdapterAdapter.marshal(remoteRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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
    final String localHomeRaw = sessionBean.localHome;
    String localHome = null;
    try {
        localHome = Adapters.collapsedStringAdapterAdapter.marshal(localHomeRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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
    final String localRaw = sessionBean.local;
    String local = null;
    try {
        local = Adapters.collapsedStringAdapterAdapter.marshal(localRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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: businessLocal
    final LinkedHashSet<String> businessLocalRaw = sessionBean.businessLocal;
    if (businessLocalRaw != null) {
        for (final String businessLocalItem : businessLocalRaw) {
            String businessLocal = null;
            try {
                businessLocal = Adapters.collapsedStringAdapterAdapter.marshal(businessLocalItem);
            } catch (final Exception e) {
                context.xmlAdapterError(sessionBean, "businessLocal", CollapsedStringAdapter.class, LinkedHashSet.class, LinkedHashSet.class, e);
            }
            if (businessLocal != null) {
                writer.writeStartElement(prefix, "business-local", "http://java.sun.com/xml/ns/javaee");
                writer.writeCharacters(businessLocal);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: businessRemote
    final LinkedHashSet<String> businessRemoteRaw = sessionBean.businessRemote;
    if (businessRemoteRaw != null) {
        for (final String businessRemoteItem : businessRemoteRaw) {
            String businessRemote = null;
            try {
                businessRemote = Adapters.collapsedStringAdapterAdapter.marshal(businessRemoteItem);
            } catch (final Exception e) {
                context.xmlAdapterError(sessionBean, "businessRemote", CollapsedStringAdapter.class, LinkedHashSet.class, LinkedHashSet.class, e);
            }
            if (businessRemote != null) {
                writer.writeStartElement(prefix, "business-remote", "http://java.sun.com/xml/ns/javaee");
                writer.writeCharacters(businessRemote);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: localBean
    final Empty localBean = sessionBean.localBean;
    if (localBean != null) {
        writer.writeStartElement(prefix, "local-bean", "http://java.sun.com/xml/ns/javaee");
        writeEmpty(writer, localBean, context);
        writer.writeEndElement();
    }
    // ELEMENT: serviceEndpoint
    final String serviceEndpointRaw = sessionBean.serviceEndpoint;
    String serviceEndpoint = null;
    try {
        serviceEndpoint = Adapters.collapsedStringAdapterAdapter.marshal(serviceEndpointRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "serviceEndpoint", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (serviceEndpoint != null) {
        writer.writeStartElement(prefix, "service-endpoint", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(serviceEndpoint);
        writer.writeEndElement();
    }
    // ELEMENT: ejbClass
    final String ejbClassRaw = sessionBean.ejbClass;
    String ejbClass = null;
    try {
        ejbClass = Adapters.collapsedStringAdapterAdapter.marshal(ejbClassRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(sessionBean, "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();
    }
    // ELEMENT: sessionType
    final SessionType sessionType = sessionBean.sessionType;
    if (sessionType != null) {
        writer.writeStartElement(prefix, "session-type", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(toStringSessionType(sessionBean, null, context, sessionType));
        writer.writeEndElement();
    }
    // ELEMENT: statefulTimeout
    final Timeout statefulTimeout = sessionBean.statefulTimeout;
    if (statefulTimeout != null) {
        writer.writeStartElement(prefix, "stateful-timeout", "http://java.sun.com/xml/ns/javaee");
        writeTimeout(writer, statefulTimeout, context);
        writer.writeEndElement();
    }
    // ELEMENT: timeoutMethod
    final NamedMethod timeoutMethod = sessionBean.timeoutMethod;
    if (timeoutMethod != null) {
        writer.writeStartElement(prefix, "timeout-method", "http://java.sun.com/xml/ns/javaee");
        writeNamedMethod(writer, timeoutMethod, context);
        writer.writeEndElement();
    }
    // ELEMENT: timer
    final List<Timer> timer = sessionBean.timer;
    if (timer != null) {
        for (final Timer timerItem : timer) {
            if (timerItem != null) {
                writer.writeStartElement(prefix, "timer", "http://java.sun.com/xml/ns/javaee");
                writeTimer(writer, timerItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: initOnStartup
    final Boolean initOnStartup = sessionBean.initOnStartup;
    if (initOnStartup != null) {
        writer.writeStartElement(prefix, "init-on-startup", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(Boolean.toString(initOnStartup));
        writer.writeEndElement();
    }
    // ELEMENT: concurrencyManagementType
    final ConcurrencyManagementType concurrencyManagementType = sessionBean.concurrencyManagementType;
    if (concurrencyManagementType != null) {
        writer.writeStartElement(prefix, "concurrency-management-type", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(toStringConcurrencyManagementType(sessionBean, null, context, concurrencyManagementType));
        writer.writeEndElement();
    }
    // ELEMENT: concurrentMethod
    final List<ConcurrentMethod> concurrentMethod = sessionBean.concurrentMethod;
    if (concurrentMethod != null) {
        for (final ConcurrentMethod concurrentMethodItem : concurrentMethod) {
            if (concurrentMethodItem != null) {
                writer.writeStartElement(prefix, "concurrent-method", "http://java.sun.com/xml/ns/javaee");
                writeConcurrentMethod(writer, concurrentMethodItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: dependsOn
    final List<String> dependsOnRaw = sessionBean.dependsOn;
    if (dependsOnRaw != null) {
        writer.writeStartElement(prefix, "depends-on", "http://java.sun.com/xml/ns/javaee");
        for (final String dependsOnItem : dependsOnRaw) {
            String dependsOn = null;
            try {
                dependsOn = Adapters.collapsedStringAdapterAdapter.marshal(dependsOnItem);
            } catch (final Exception e) {
                context.xmlAdapterError(sessionBean, "dependsOn", CollapsedStringAdapter.class, List.class, List.class, e);
            }
            if (dependsOn != null) {
                writer.writeStartElement(prefix, "ejb-name", "http://java.sun.com/xml/ns/javaee");
                writer.writeCharacters(dependsOn);
                writer.writeEndElement();
            }
        }
        writer.writeEndElement();
    }
    // ELEMENT: initMethod
    final List<InitMethod> initMethod = sessionBean.initMethod;
    if (initMethod != null) {
        for (final InitMethod initMethodItem : initMethod) {
            if (initMethodItem != null) {
                writer.writeStartElement(prefix, "init-method", "http://java.sun.com/xml/ns/javaee");
                writeInitMethod(writer, initMethodItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: removeMethod
    final List<RemoveMethod> removeMethod = sessionBean.removeMethod;
    if (removeMethod != null) {
        for (final RemoveMethod removeMethodItem : removeMethod) {
            if (removeMethodItem != null) {
                writer.writeStartElement(prefix, "remove-method", "http://java.sun.com/xml/ns/javaee");
                writeRemoveMethod(writer, removeMethodItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: asyncMethod
    final List<AsyncMethod> asyncMethod = sessionBean.asyncMethod;
    if (asyncMethod != null) {
        for (final AsyncMethod asyncMethodItem : asyncMethod) {
            if (asyncMethodItem != null) {
                writer.writeStartElement(prefix, "async-method", "http://java.sun.com/xml/ns/javaee");
                writeAsyncMethod(writer, asyncMethodItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: transactionType
    final TransactionType transactionType = sessionBean.transactionType;
    if (transactionType != null) {
        writer.writeStartElement(prefix, "transaction-type", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(toStringTransactionType(sessionBean, null, context, transactionType));
        writer.writeEndElement();
    }
    // ELEMENT: afterBeginMethod
    NamedMethod afterBeginMethod = null;
    try {
        afterBeginMethod = sessionBean.getAfterBeginMethod();
    } catch (final Exception e) {
        context.getterError(sessionBean, "afterBeginMethod", SessionBean.class, "getAfterBeginMethod", e);
    }
    if (afterBeginMethod != null) {
        writer.writeStartElement(prefix, "after-begin-method", "http://java.sun.com/xml/ns/javaee");
        writeNamedMethod(writer, afterBeginMethod, context);
        writer.writeEndElement();
    }
    // ELEMENT: beforeCompletionMethod
    NamedMethod beforeCompletionMethod = null;
    try {
        beforeCompletionMethod = sessionBean.getBeforeCompletionMethod();
    } catch (final Exception e) {
        context.getterError(sessionBean, "beforeCompletionMethod", SessionBean.class, "getBeforeCompletionMethod", e);
    }
    if (beforeCompletionMethod != null) {
        writer.writeStartElement(prefix, "before-completion-method", "http://java.sun.com/xml/ns/javaee");
        writeNamedMethod(writer, beforeCompletionMethod, context);
        writer.writeEndElement();
    }
    // ELEMENT: afterCompletionMethod
    NamedMethod afterCompletionMethod = null;
    try {
        afterCompletionMethod = sessionBean.getAfterCompletionMethod();
    } catch (final Exception e) {
        context.getterError(sessionBean, "afterCompletionMethod", SessionBean.class, "getAfterCompletionMethod", e);
    }
    if (afterCompletionMethod != null) {
        writer.writeStartElement(prefix, "after-completion-method", "http://java.sun.com/xml/ns/javaee");
        writeNamedMethod(writer, afterCompletionMethod, context);
        writer.writeEndElement();
    }
    // ELEMENT: aroundInvoke
    final List<AroundInvoke> aroundInvoke = sessionBean.aroundInvoke;
    if (aroundInvoke != null) {
        for (final AroundInvoke aroundInvokeItem : aroundInvoke) {
            if (aroundInvokeItem != null) {
                writer.writeStartElement(prefix, "around-invoke", "http://java.sun.com/xml/ns/javaee");
                writeAroundInvoke(writer, aroundInvokeItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(sessionBean, "aroundInvoke");
            }
        }
    }
    // ELEMENT: aroundTimeout
    final List<AroundTimeout> aroundTimeout = sessionBean.aroundTimeout;
    if (aroundTimeout != null) {
        for (final AroundTimeout aroundTimeoutItem : aroundTimeout) {
            if (aroundTimeoutItem != null) {
                writer.writeStartElement(prefix, "around-timeout", "http://java.sun.com/xml/ns/javaee");
                writeAroundTimeout(writer, aroundTimeoutItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: envEntry
    final KeyedCollection<String, EnvEntry> envEntry = sessionBean.envEntry;
    if (envEntry != null) {
        for (final 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(sessionBean, "envEntry");
            }
        }
    }
    // ELEMENT: ejbRef
    final KeyedCollection<String, EjbRef> ejbRef = sessionBean.ejbRef;
    if (ejbRef != null) {
        for (final 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(sessionBean, "ejbRef");
            }
        }
    }
    // ELEMENT: ejbLocalRef
    final KeyedCollection<String, EjbLocalRef> ejbLocalRef = sessionBean.ejbLocalRef;
    if (ejbLocalRef != null) {
        for (final 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(sessionBean, "ejbLocalRef");
            }
        }
    }
    // ELEMENT: serviceRef
    final KeyedCollection<String, ServiceRef> serviceRef = sessionBean.serviceRef;
    if (serviceRef != null) {
        for (final 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(sessionBean, "serviceRef");
            }
        }
    }
    // ELEMENT: resourceRef
    final KeyedCollection<String, ResourceRef> resourceRef = sessionBean.resourceRef;
    if (resourceRef != null) {
        for (final 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(sessionBean, "resourceRef");
            }
        }
    }
    // ELEMENT: resourceEnvRef
    final KeyedCollection<String, ResourceEnvRef> resourceEnvRef = sessionBean.resourceEnvRef;
    if (resourceEnvRef != null) {
        for (final 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(sessionBean, "resourceEnvRef");
            }
        }
    }
    // ELEMENT: messageDestinationRef
    final KeyedCollection<String, MessageDestinationRef> messageDestinationRef = sessionBean.messageDestinationRef;
    if (messageDestinationRef != null) {
        for (final 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(sessionBean, "messageDestinationRef");
            }
        }
    }
    // ELEMENT: persistenceContextRef
    final KeyedCollection<String, PersistenceContextRef> persistenceContextRef = sessionBean.persistenceContextRef;
    if (persistenceContextRef != null) {
        for (final 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(sessionBean, "persistenceContextRef");
            }
        }
    }
    // ELEMENT: persistenceUnitRef
    final KeyedCollection<String, PersistenceUnitRef> persistenceUnitRef = sessionBean.persistenceUnitRef;
    if (persistenceUnitRef != null) {
        for (final 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(sessionBean, "persistenceUnitRef");
            }
        }
    }
    // ELEMENT: postConstruct
    final List<org.apache.openejb.jee.LifecycleCallback> postConstruct = sessionBean.postConstruct;
    if (postConstruct != null) {
        for (final 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(sessionBean, "postConstruct");
            }
        }
    }
    // ELEMENT: preDestroy
    final List<org.apache.openejb.jee.LifecycleCallback> preDestroy = sessionBean.preDestroy;
    if (preDestroy != null) {
        for (final 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(sessionBean, "preDestroy");
            }
        }
    }
    // ELEMENT: dataSource
    final KeyedCollection<String, DataSource> dataSource = sessionBean.dataSource;
    if (dataSource != null) {
        for (final 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: postActivate
    final List<org.apache.openejb.jee.LifecycleCallback> postActivate = sessionBean.postActivate;
    if (postActivate != null) {
        for (final org.apache.openejb.jee.LifecycleCallback postActivateItem : postActivate) {
            if (postActivateItem != null) {
                writer.writeStartElement(prefix, "post-activate", "http://java.sun.com/xml/ns/javaee");
                writeLifecycleCallback(writer, postActivateItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(sessionBean, "postActivate");
            }
        }
    }
    // ELEMENT: prePassivate
    final List<org.apache.openejb.jee.LifecycleCallback> prePassivate = sessionBean.prePassivate;
    if (prePassivate != null) {
        for (final org.apache.openejb.jee.LifecycleCallback prePassivateItem : prePassivate) {
            if (prePassivateItem != null) {
                writer.writeStartElement(prefix, "pre-passivate", "http://java.sun.com/xml/ns/javaee");
                writeLifecycleCallback(writer, prePassivateItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(sessionBean, "prePassivate");
            }
        }
    }
    // ELEMENT: securityRoleRef
    final List<SecurityRoleRef> securityRoleRef = sessionBean.securityRoleRef;
    if (securityRoleRef != null) {
        for (final 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(sessionBean, "securityRoleRef");
            }
        }
    }
    // ELEMENT: securityIdentity
    final SecurityIdentity securityIdentity = sessionBean.securityIdentity;
    if (securityIdentity != null) {
        writer.writeStartElement(prefix, "security-identity", "http://java.sun.com/xml/ns/javaee");
        writeSecurityIdentity(writer, securityIdentity, context);
        writer.writeEndElement();
    }
    context.afterMarshal(sessionBean, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
}
Also used : LinkedHashSet(java.util.LinkedHashSet) InitMethod$JAXB.readInitMethod(org.apache.openejb.jee.InitMethod$JAXB.readInitMethod) InitMethod$JAXB.writeInitMethod(org.apache.openejb.jee.InitMethod$JAXB.writeInitMethod) AsyncMethod$JAXB.readAsyncMethod(org.apache.openejb.jee.AsyncMethod$JAXB.readAsyncMethod) AsyncMethod$JAXB.writeAsyncMethod(org.apache.openejb.jee.AsyncMethod$JAXB.writeAsyncMethod) SecurityRoleRef$JAXB.readSecurityRoleRef(org.apache.openejb.jee.SecurityRoleRef$JAXB.readSecurityRoleRef) SecurityRoleRef$JAXB.writeSecurityRoleRef(org.apache.openejb.jee.SecurityRoleRef$JAXB.writeSecurityRoleRef) List(java.util.List) ArrayList(java.util.ArrayList) ResourceEnvRef$JAXB.readResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef$JAXB.readResourceEnvRef) ResourceEnvRef$JAXB.writeResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef$JAXB.writeResourceEnvRef) Timeout$JAXB.readTimeout(org.apache.openejb.jee.Timeout$JAXB.readTimeout) AroundTimeout$JAXB.readAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout) Timeout$JAXB.writeTimeout(org.apache.openejb.jee.Timeout$JAXB.writeTimeout) AroundTimeout$JAXB.writeAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout) DataSource$JAXB.writeDataSource(org.apache.openejb.jee.DataSource$JAXB.writeDataSource) DataSource$JAXB.readDataSource(org.apache.openejb.jee.DataSource$JAXB.readDataSource) Icon$JAXB.readIcon(org.apache.openejb.jee.Icon$JAXB.readIcon) Icon$JAXB.writeIcon(org.apache.openejb.jee.Icon$JAXB.writeIcon) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) ServiceRef$JAXB.readServiceRef(org.apache.openejb.jee.ServiceRef$JAXB.readServiceRef) ServiceRef$JAXB.writeServiceRef(org.apache.openejb.jee.ServiceRef$JAXB.writeServiceRef) SessionType$JAXB.parseSessionType(org.apache.openejb.jee.SessionType$JAXB.parseSessionType) SessionType$JAXB.toStringSessionType(org.apache.openejb.jee.SessionType$JAXB.toStringSessionType) TransactionType$JAXB.toStringTransactionType(org.apache.openejb.jee.TransactionType$JAXB.toStringTransactionType) TransactionType$JAXB.parseTransactionType(org.apache.openejb.jee.TransactionType$JAXB.parseTransactionType) ConcurrencyManagementType$JAXB.toStringConcurrencyManagementType(org.apache.openejb.jee.ConcurrencyManagementType$JAXB.toStringConcurrencyManagementType) ConcurrencyManagementType$JAXB.parseConcurrencyManagementType(org.apache.openejb.jee.ConcurrencyManagementType$JAXB.parseConcurrencyManagementType) PersistenceContextRef$JAXB.readPersistenceContextRef(org.apache.openejb.jee.PersistenceContextRef$JAXB.readPersistenceContextRef) PersistenceContextRef$JAXB.writePersistenceContextRef(org.apache.openejb.jee.PersistenceContextRef$JAXB.writePersistenceContextRef) NamedMethod$JAXB.readNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod) NamedMethod$JAXB.writeNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod) MessageDestinationRef$JAXB.writeMessageDestinationRef(org.apache.openejb.jee.MessageDestinationRef$JAXB.writeMessageDestinationRef) MessageDestinationRef$JAXB.readMessageDestinationRef(org.apache.openejb.jee.MessageDestinationRef$JAXB.readMessageDestinationRef) Empty$JAXB.writeEmpty(org.apache.openejb.jee.Empty$JAXB.writeEmpty) Empty$JAXB.readEmpty(org.apache.openejb.jee.Empty$JAXB.readEmpty) EjbRef$JAXB.readEjbRef(org.apache.openejb.jee.EjbRef$JAXB.readEjbRef) EjbRef$JAXB.writeEjbRef(org.apache.openejb.jee.EjbRef$JAXB.writeEjbRef) ConcurrentMethod$JAXB.readConcurrentMethod(org.apache.openejb.jee.ConcurrentMethod$JAXB.readConcurrentMethod) ConcurrentMethod$JAXB.writeConcurrentMethod(org.apache.openejb.jee.ConcurrentMethod$JAXB.writeConcurrentMethod) AroundInvoke$JAXB.writeAroundInvoke(org.apache.openejb.jee.AroundInvoke$JAXB.writeAroundInvoke) AroundInvoke$JAXB.readAroundInvoke(org.apache.openejb.jee.AroundInvoke$JAXB.readAroundInvoke) PersistenceUnitRef$JAXB.readPersistenceUnitRef(org.apache.openejb.jee.PersistenceUnitRef$JAXB.readPersistenceUnitRef) PersistenceUnitRef$JAXB.writePersistenceUnitRef(org.apache.openejb.jee.PersistenceUnitRef$JAXB.writePersistenceUnitRef) EnvEntry$JAXB.readEnvEntry(org.apache.openejb.jee.EnvEntry$JAXB.readEnvEntry) EnvEntry$JAXB.writeEnvEntry(org.apache.openejb.jee.EnvEntry$JAXB.writeEnvEntry) EjbLocalRef$JAXB.writeEjbLocalRef(org.apache.openejb.jee.EjbLocalRef$JAXB.writeEjbLocalRef) EjbLocalRef$JAXB.readEjbLocalRef(org.apache.openejb.jee.EjbLocalRef$JAXB.readEjbLocalRef) CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) AroundTimeout$JAXB.readAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout) AroundTimeout$JAXB.writeAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout) SecurityIdentity$JAXB.readSecurityIdentity(org.apache.openejb.jee.SecurityIdentity$JAXB.readSecurityIdentity) SecurityIdentity$JAXB.writeSecurityIdentity(org.apache.openejb.jee.SecurityIdentity$JAXB.writeSecurityIdentity) Timer$JAXB.writeTimer(org.apache.openejb.jee.Timer$JAXB.writeTimer) Timer$JAXB.readTimer(org.apache.openejb.jee.Timer$JAXB.readTimer) RemoveMethod$JAXB.readRemoveMethod(org.apache.openejb.jee.RemoveMethod$JAXB.readRemoveMethod) RemoveMethod$JAXB.writeRemoveMethod(org.apache.openejb.jee.RemoveMethod$JAXB.writeRemoveMethod) ResourceRef$JAXB.readResourceRef(org.apache.openejb.jee.ResourceRef$JAXB.readResourceRef) ResourceRef$JAXB.writeResourceRef(org.apache.openejb.jee.ResourceRef$JAXB.writeResourceRef) LifecycleCallback$JAXB.writeLifecycleCallback(org.apache.openejb.jee.LifecycleCallback$JAXB.writeLifecycleCallback) LifecycleCallback$JAXB.readLifecycleCallback(org.apache.openejb.jee.LifecycleCallback$JAXB.readLifecycleCallback)

Example 3 with RemoveMethod

use of org.apache.openejb.jee.RemoveMethod in project tomee by apache.

the class CheckCallbacks method validate.

public void validate(final EjbModule module) {
    for (final EnterpriseBean bean : module.getEjbJar().getEnterpriseBeans()) {
        Class ejbClass = null;
        try {
            ejbClass = loadClass(bean.getEjbClass());
        } catch (final OpenEJBException e) {
            continue;
        }
        if (bean instanceof Invokable) {
            final Invokable invokable = (Invokable) bean;
            for (final AroundInvoke aroundInvoke : invokable.getAroundInvoke()) {
                checkAroundInvoke(ejbClass, aroundInvoke, bean.getEjbName());
            }
            for (final AroundTimeout aroundTimeout : invokable.getAroundTimeout()) {
                checkAroundTimeout(ejbClass, aroundTimeout, bean.getEjbName());
            }
        }
        for (final LifecycleCallback callback : bean.getPostConstruct()) {
            checkCallback(ejbClass, "PostConstruct", callback, bean);
        }
        for (final LifecycleCallback callback : bean.getPreDestroy()) {
            checkCallback(ejbClass, "PreDestroy", callback, bean);
        }
        final ClassFinder finder = new ClassFinder(ejbClass);
        if (bean instanceof Session) {
            final SessionBean session = (SessionBean) bean;
            if (session.getSessionType() == SessionType.STATEFUL) {
                for (final LifecycleCallback callback : session.getPrePassivate()) {
                    checkCallback(ejbClass, "PrePassivate", callback, bean);
                }
                for (final LifecycleCallback callback : session.getPostActivate()) {
                    checkCallback(ejbClass, "PostActivate", callback, bean);
                }
                checkSessionSynchronization(ejbClass, session);
                for (final LifecycleCallback callback : session.getAfterBegin()) {
                    checkCallback(ejbClass, "AfterBegin", callback, bean);
                }
                for (final LifecycleCallback callback : session.getBeforeCompletion()) {
                    checkCallback(ejbClass, "BeforeCompletion", callback, bean);
                }
                for (final LifecycleCallback callback : session.getAfterCompletion()) {
                    checkCallback(ejbClass, "AfterCompletion", callback, bean, boolean.class);
                }
                for (final AroundTimeout aroundTimeout : session.getAroundTimeout()) {
                    ignoredMethodAnnotation("AroundTimeout", bean, bean.getEjbClass(), aroundTimeout.getMethodName(), SessionType.STATEFUL.getName());
                }
                for (final Timer timer : session.getTimer()) {
                    ignoredMethodAnnotation("Schedule/Schedules", bean, bean.getEjbClass(), timer.getTimeoutMethod().getMethodName(), SessionType.STATEFUL.getName());
                }
            } else {
                for (final LifecycleCallback callback : session.getAfterBegin()) {
                    ignoredMethodAnnotation("AfterBegin", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName());
                }
                for (final LifecycleCallback callback : session.getBeforeCompletion()) {
                    ignoredMethodAnnotation("BeforeCompletion", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName());
                }
                for (final LifecycleCallback callback : session.getAfterCompletion()) {
                    ignoredMethodAnnotation("AfterCompletion", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName());
                }
                for (final LifecycleCallback callback : session.getPrePassivate()) {
                    ignoredMethodAnnotation("PrePassivate", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName());
                }
                for (final LifecycleCallback callback : session.getPostActivate()) {
                    ignoredMethodAnnotation("PostActivate", bean, bean.getEjbClass(), callback.getMethodName(), session.getSessionType().getName());
                }
                for (final RemoveMethod method : session.getRemoveMethod()) {
                    ignoredMethodAnnotation("Remove", bean, bean.getEjbClass(), method.getBeanMethod().getMethodName(), session.getSessionType().getName());
                }
                for (final InitMethod method : session.getInitMethod()) {
                    ignoredMethodAnnotation("Init", bean, bean.getEjbClass(), method.getBeanMethod().getMethodName(), session.getSessionType().getName());
                }
            }
        } else {
            for (final Method method : finder.findAnnotatedMethods(PrePassivate.class)) {
                ignoredMethodAnnotation("PrePassivate", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
            for (final Method method : finder.findAnnotatedMethods(PostActivate.class)) {
                ignoredMethodAnnotation("PostActivate", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
            for (final Method method : finder.findAnnotatedMethods(Remove.class)) {
                ignoredMethodAnnotation("Remove", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
            for (final Method method : finder.findAnnotatedMethods(Init.class)) {
                ignoredMethodAnnotation("Init", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
            for (final Method method : finder.findAnnotatedMethods(AfterBegin.class)) {
                ignoredMethodAnnotation("AfterBegin", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
            for (final Method method : finder.findAnnotatedMethods(BeforeCompletion.class)) {
                ignoredMethodAnnotation("BeforeCompletion", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
            for (final Method method : finder.findAnnotatedMethods(AfterCompletion.class)) {
                ignoredMethodAnnotation("AfterCompletion", bean, bean.getEjbClass(), method.getName(), bean.getClass().getSimpleName());
            }
        }
    //            if (bean instanceof TimerConsumer) {
    //                TimerConsumer timerConsumer = (TimerConsumer) bean;
    //                checkTimeOut(ejbClass, timerConsumer.getTimeoutMethod(), bean);
    //
    //                List<Method> timeoutMethods = finder.findAnnotatedMethods(Timeout.class);
    //                if (timeoutMethods.size() > 1) {
    //                    fail(timerConsumer.getTimerConsumerName(), "timeout.tooManyMethods", timeoutMethods.size(), Join.join(",", timeoutMethods));
    //                }
    //
    //                for(Timer timer : ((TimerConsumer) bean).getTimer()) {
    //                    checkTimeOut(ejbClass, timer.getTimeoutMethod(), bean);
    //                }
    //            }
    }
    for (final Interceptor interceptor : module.getEjbJar().getInterceptors()) {
        Class interceptorClass = null;
        try {
            interceptorClass = loadClass(interceptor.getInterceptorClass());
        } catch (final OpenEJBException e) {
            continue;
        }
        for (final AroundInvoke aroundInvoke : interceptor.getAroundInvoke()) {
            checkAroundInvoke(interceptorClass, aroundInvoke, "Interceptor");
        }
        for (final AroundTimeout aroundTimeout : interceptor.getAroundTimeout()) {
            checkAroundTimeout(interceptorClass, aroundTimeout, "Interceptor");
        }
        for (final LifecycleCallback callback : interceptor.getPostConstruct()) {
            checkCallback(interceptorClass, "PostConstruct", callback, interceptor);
        }
        for (final LifecycleCallback callback : interceptor.getPreDestroy()) {
            checkCallback(interceptorClass, "PreDestroy", callback, interceptor);
        }
        for (final LifecycleCallback callback : interceptor.getPrePassivate()) {
            checkCallback(interceptorClass, "PrePassivate", callback, interceptor);
        }
        for (final LifecycleCallback callback : interceptor.getPostActivate()) {
            checkCallback(interceptorClass, "PostActivate", callback, interceptor);
        }
        for (final LifecycleCallback callback : interceptor.getAfterBegin()) {
            checkCallback(interceptorClass, "AfterBegin", callback, interceptor);
        }
        for (final LifecycleCallback callback : interceptor.getBeforeCompletion()) {
            checkCallback(interceptorClass, "BeforeCompletion", callback, interceptor);
        }
        for (final LifecycleCallback callback : interceptor.getAfterCompletion()) {
            checkCallback(interceptorClass, "AfterCompletion", callback, interceptor);
        }
    }
}
Also used : InitMethod(org.apache.openejb.jee.InitMethod) OpenEJBException(org.apache.openejb.OpenEJBException) EnterpriseBean(org.apache.openejb.jee.EnterpriseBean) AroundTimeout(org.apache.openejb.jee.AroundTimeout) RemoveMethod(org.apache.openejb.jee.RemoveMethod) Method(java.lang.reflect.Method) InitMethod(org.apache.openejb.jee.InitMethod) CallbackMethod(org.apache.openejb.jee.CallbackMethod) SessionBean(org.apache.openejb.jee.SessionBean) Timer(org.apache.openejb.jee.Timer) Invokable(org.apache.openejb.jee.Invokable) ClassFinder(org.apache.xbean.finder.ClassFinder) RemoveMethod(org.apache.openejb.jee.RemoveMethod) LifecycleCallback(org.apache.openejb.jee.LifecycleCallback) AroundInvoke(org.apache.openejb.jee.AroundInvoke) Interceptor(org.apache.openejb.jee.Interceptor) Session(org.apache.openejb.jee.Session)

Example 4 with RemoveMethod

use of org.apache.openejb.jee.RemoveMethod in project tomee by apache.

the class SessionBean$JAXB method _read.

public static final SessionBean _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final SessionBean sessionBean = new SessionBean();
    context.beforeUnmarshal(sessionBean, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    ArrayList<Text> displayNames = null;
    LocalCollection<Icon> icon = null;
    LinkedHashSet<String> businessLocal = null;
    LinkedHashSet<String> businessRemote = null;
    List<Timer> timer = null;
    List<ConcurrentMethod> concurrentMethod = null;
    List<InitMethod> initMethod = null;
    List<RemoveMethod> removeMethod = null;
    List<AsyncMethod> asyncMethod = null;
    List<AroundInvoke> aroundInvoke = null;
    List<AroundTimeout> aroundTimeout = 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<org.apache.openejb.jee.LifecycleCallback> postActivate = null;
    List<org.apache.openejb.jee.LifecycleCallback> prePassivate = null;
    List<SecurityRoleRef> securityRoleRef = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("session-beanType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, SessionBean.class);
        }
    }
    // Read attributes
    for (final Attribute attribute : reader.getAttributes()) {
        if (("id" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
            // ATTRIBUTE: id
            final String id = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue());
            context.addXmlId(reader, id, sessionBean);
            sessionBean.id = id;
        } else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI != attribute.getNamespace()) {
            context.unexpectedAttribute(attribute, new QName("", "id"));
        }
    }
    // Read elements
    for (final XoXMLStreamReader elementReader : reader.getChildElements()) {
        if (("description" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: descriptions
            final 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
            final 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
            final Icon iconItem = readIcon(elementReader, context);
            if (icon == null) {
                icon = sessionBean.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
            final String ejbNameRaw = elementReader.getElementAsString();
            final String ejbName;
            try {
                ejbName = Adapters.collapsedStringAdapterAdapter.unmarshal(ejbNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.ejbName = ejbName;
        } else if (("mapped-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: mappedName
            final String mappedNameRaw = elementReader.getElementAsString();
            final String mappedName;
            try {
                mappedName = Adapters.collapsedStringAdapterAdapter.unmarshal(mappedNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.mappedName = mappedName;
        } else if (("home" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: home
            final String homeRaw = elementReader.getElementAsString();
            final String home;
            try {
                home = Adapters.collapsedStringAdapterAdapter.unmarshal(homeRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.home = home;
        } else if (("remote" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: remote
            final String remoteRaw = elementReader.getElementAsString();
            final String remote;
            try {
                remote = Adapters.collapsedStringAdapterAdapter.unmarshal(remoteRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.remote = remote;
        } else if (("local-home" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: localHome
            final String localHomeRaw = elementReader.getElementAsString();
            final String localHome;
            try {
                localHome = Adapters.collapsedStringAdapterAdapter.unmarshal(localHomeRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.localHome = localHome;
        } else if (("local" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: local
            final String localRaw = elementReader.getElementAsString();
            final String local;
            try {
                local = Adapters.collapsedStringAdapterAdapter.unmarshal(localRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.local = local;
        } else if (("business-local" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: businessLocal
            final String businessLocalItemRaw = elementReader.getElementAsString();
            final String businessLocalItem;
            try {
                businessLocalItem = Adapters.collapsedStringAdapterAdapter.unmarshal(businessLocalItemRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            if (businessLocal == null) {
                businessLocal = sessionBean.businessLocal;
                if (businessLocal != null) {
                    businessLocal.clear();
                } else {
                    businessLocal = new LinkedHashSet<String>();
                }
            }
            businessLocal.add(businessLocalItem);
        } else if (("business-remote" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: businessRemote
            final String businessRemoteItemRaw = elementReader.getElementAsString();
            final String businessRemoteItem;
            try {
                businessRemoteItem = Adapters.collapsedStringAdapterAdapter.unmarshal(businessRemoteItemRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            if (businessRemote == null) {
                businessRemote = sessionBean.businessRemote;
                if (businessRemote != null) {
                    businessRemote.clear();
                } else {
                    businessRemote = new LinkedHashSet<String>();
                }
            }
            businessRemote.add(businessRemoteItem);
        } else if (("local-bean" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: localBean
            final Empty localBean = readEmpty(elementReader, context);
            sessionBean.localBean = localBean;
        } else if (("service-endpoint" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: serviceEndpoint
            final String serviceEndpointRaw = elementReader.getElementAsString();
            final String serviceEndpoint;
            try {
                serviceEndpoint = Adapters.collapsedStringAdapterAdapter.unmarshal(serviceEndpointRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.serviceEndpoint = serviceEndpoint;
        } else if (("ejb-class" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: ejbClass
            final String ejbClassRaw = elementReader.getElementAsString();
            final String ejbClass;
            try {
                ejbClass = Adapters.collapsedStringAdapterAdapter.unmarshal(ejbClassRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            sessionBean.ejbClass = ejbClass;
        } else if (("session-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: sessionType
            final SessionType sessionType = parseSessionType(elementReader, context, elementReader.getElementAsString());
            if (sessionType != null) {
                sessionBean.sessionType = sessionType;
            }
        } else if (("stateful-timeout" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: statefulTimeout
            final Timeout statefulTimeout = readTimeout(elementReader, context);
            sessionBean.statefulTimeout = statefulTimeout;
        } else if (("timeout-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: timeoutMethod
            final NamedMethod timeoutMethod = readNamedMethod(elementReader, context);
            sessionBean.timeoutMethod = timeoutMethod;
        } else if (("timer" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: timer
            final Timer timerItem = readTimer(elementReader, context);
            if (timer == null) {
                timer = sessionBean.timer;
                if (timer != null) {
                    timer.clear();
                } else {
                    timer = new ArrayList<Timer>();
                }
            }
            timer.add(timerItem);
        } else if (("init-on-startup" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: initOnStartup
            final Boolean initOnStartup = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            sessionBean.initOnStartup = initOnStartup;
        } else if (("concurrency-management-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: concurrencyManagementType
            final ConcurrencyManagementType concurrencyManagementType = parseConcurrencyManagementType(elementReader, context, elementReader.getElementAsString());
            if (concurrencyManagementType != null) {
                sessionBean.concurrencyManagementType = concurrencyManagementType;
            }
        } else if (("concurrent-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: concurrentMethod
            final ConcurrentMethod concurrentMethodItem = readConcurrentMethod(elementReader, context);
            if (concurrentMethod == null) {
                concurrentMethod = sessionBean.concurrentMethod;
                if (concurrentMethod != null) {
                    concurrentMethod.clear();
                } else {
                    concurrentMethod = new ArrayList<ConcurrentMethod>();
                }
            }
            concurrentMethod.add(concurrentMethodItem);
        } else if (("depends-on" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT WRAPPER: dependsOn
            _readDependsOn(elementReader, context, sessionBean);
        } else if (("init-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: initMethod
            final InitMethod initMethodItem = readInitMethod(elementReader, context);
            if (initMethod == null) {
                initMethod = sessionBean.initMethod;
                if (initMethod != null) {
                    initMethod.clear();
                } else {
                    initMethod = new ArrayList<InitMethod>();
                }
            }
            initMethod.add(initMethodItem);
        } else if (("remove-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: removeMethod
            final RemoveMethod removeMethodItem = readRemoveMethod(elementReader, context);
            if (removeMethod == null) {
                removeMethod = sessionBean.removeMethod;
                if (removeMethod != null) {
                    removeMethod.clear();
                } else {
                    removeMethod = new ArrayList<RemoveMethod>();
                }
            }
            removeMethod.add(removeMethodItem);
        } else if (("async-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: asyncMethod
            final AsyncMethod asyncMethodItem = readAsyncMethod(elementReader, context);
            if (asyncMethod == null) {
                asyncMethod = sessionBean.asyncMethod;
                if (asyncMethod != null) {
                    asyncMethod.clear();
                } else {
                    asyncMethod = new ArrayList<AsyncMethod>();
                }
            }
            asyncMethod.add(asyncMethodItem);
        } else if (("transaction-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: transactionType
            final TransactionType transactionType = parseTransactionType(elementReader, context, elementReader.getElementAsString());
            if (transactionType != null) {
                sessionBean.transactionType = transactionType;
            }
        } else if (("after-begin-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: afterBeginMethod
            final NamedMethod afterBeginMethod = readNamedMethod(elementReader, context);
            try {
                sessionBean.setAfterBeginMethod(afterBeginMethod);
            } catch (final Exception e) {
                context.setterError(reader, SessionBean.class, "setAfterBeginMethod", NamedMethod.class, e);
            }
        } else if (("before-completion-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: beforeCompletionMethod
            final NamedMethod beforeCompletionMethod = readNamedMethod(elementReader, context);
            try {
                sessionBean.setBeforeCompletionMethod(beforeCompletionMethod);
            } catch (final Exception e) {
                context.setterError(reader, SessionBean.class, "setBeforeCompletionMethod", NamedMethod.class, e);
            }
        } else if (("after-completion-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: afterCompletionMethod
            final NamedMethod afterCompletionMethod = readNamedMethod(elementReader, context);
            try {
                sessionBean.setAfterCompletionMethod(afterCompletionMethod);
            } catch (final Exception e) {
                context.setterError(reader, SessionBean.class, "setAfterCompletionMethod", NamedMethod.class, e);
            }
        } else if (("around-invoke" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: aroundInvoke
            final AroundInvoke aroundInvokeItem = readAroundInvoke(elementReader, context);
            if (aroundInvoke == null) {
                aroundInvoke = sessionBean.aroundInvoke;
                if (aroundInvoke != null) {
                    aroundInvoke.clear();
                } else {
                    aroundInvoke = new ArrayList<AroundInvoke>();
                }
            }
            aroundInvoke.add(aroundInvokeItem);
        } else if (("around-timeout" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: aroundTimeout
            final AroundTimeout aroundTimeoutItem = readAroundTimeout(elementReader, context);
            if (aroundTimeout == null) {
                aroundTimeout = sessionBean.aroundTimeout;
                if (aroundTimeout != null) {
                    aroundTimeout.clear();
                } else {
                    aroundTimeout = new ArrayList<AroundTimeout>();
                }
            }
            aroundTimeout.add(aroundTimeoutItem);
        } else if (("env-entry" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: envEntry
            final EnvEntry envEntryItem = readEnvEntry(elementReader, context);
            if (envEntry == null) {
                envEntry = sessionBean.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
            final EjbRef ejbRefItem = readEjbRef(elementReader, context);
            if (ejbRef == null) {
                ejbRef = sessionBean.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
            final EjbLocalRef ejbLocalRefItem = readEjbLocalRef(elementReader, context);
            if (ejbLocalRef == null) {
                ejbLocalRef = sessionBean.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
            final ServiceRef serviceRefItem = readServiceRef(elementReader, context);
            if (serviceRef == null) {
                serviceRef = sessionBean.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
            final ResourceRef resourceRefItem = readResourceRef(elementReader, context);
            if (resourceRef == null) {
                resourceRef = sessionBean.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
            final ResourceEnvRef resourceEnvRefItem = readResourceEnvRef(elementReader, context);
            if (resourceEnvRef == null) {
                resourceEnvRef = sessionBean.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
            final MessageDestinationRef messageDestinationRefItem = readMessageDestinationRef(elementReader, context);
            if (messageDestinationRef == null) {
                messageDestinationRef = sessionBean.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
            final PersistenceContextRef persistenceContextRefItem = readPersistenceContextRef(elementReader, context);
            if (persistenceContextRef == null) {
                persistenceContextRef = sessionBean.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
            final PersistenceUnitRef persistenceUnitRefItem = readPersistenceUnitRef(elementReader, context);
            if (persistenceUnitRef == null) {
                persistenceUnitRef = sessionBean.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
            final org.apache.openejb.jee.LifecycleCallback postConstructItem = readLifecycleCallback(elementReader, context);
            if (postConstruct == null) {
                postConstruct = sessionBean.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
            final org.apache.openejb.jee.LifecycleCallback preDestroyItem = readLifecycleCallback(elementReader, context);
            if (preDestroy == null) {
                preDestroy = sessionBean.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
            final DataSource dataSourceItem = readDataSource(elementReader, context);
            if (dataSource == null) {
                dataSource = sessionBean.dataSource;
                if (dataSource != null) {
                    dataSource.clear();
                } else {
                    dataSource = new KeyedCollection<String, DataSource>();
                }
            }
            dataSource.add(dataSourceItem);
        } else if (("post-activate" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: postActivate
            final org.apache.openejb.jee.LifecycleCallback postActivateItem = readLifecycleCallback(elementReader, context);
            if (postActivate == null) {
                postActivate = sessionBean.postActivate;
                if (postActivate != null) {
                    postActivate.clear();
                } else {
                    postActivate = new ArrayList<org.apache.openejb.jee.LifecycleCallback>();
                }
            }
            postActivate.add(postActivateItem);
        } else if (("pre-passivate" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: prePassivate
            final org.apache.openejb.jee.LifecycleCallback prePassivateItem = readLifecycleCallback(elementReader, context);
            if (prePassivate == null) {
                prePassivate = sessionBean.prePassivate;
                if (prePassivate != null) {
                    prePassivate.clear();
                } else {
                    prePassivate = new ArrayList<org.apache.openejb.jee.LifecycleCallback>();
                }
            }
            prePassivate.add(prePassivateItem);
        } else if (("security-role-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: securityRoleRef
            final SecurityRoleRef securityRoleRefItem = readSecurityRoleRef(elementReader, context);
            if (securityRoleRef == null) {
                securityRoleRef = sessionBean.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
            final SecurityIdentity securityIdentity = readSecurityIdentity(elementReader, context);
            sessionBean.securityIdentity = securityIdentity;
        } else if (("passivation-capable" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            sessionBean.setPassivationCapable(Boolean.parseBoolean(elementReader.getElementAsString()));
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "passivation-capable"), 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", "business-local"), new QName("http://java.sun.com/xml/ns/javaee", "business-remote"), new QName("http://java.sun.com/xml/ns/javaee", "local-bean"), new QName("http://java.sun.com/xml/ns/javaee", "service-endpoint"), new QName("http://java.sun.com/xml/ns/javaee", "ejb-class"), new QName("http://java.sun.com/xml/ns/javaee", "session-type"), new QName("http://java.sun.com/xml/ns/javaee", "stateful-timeout"), new QName("http://java.sun.com/xml/ns/javaee", "timeout-method"), new QName("http://java.sun.com/xml/ns/javaee", "timer"), new QName("http://java.sun.com/xml/ns/javaee", "init-on-startup"), new QName("http://java.sun.com/xml/ns/javaee", "concurrency-management-type"), new QName("http://java.sun.com/xml/ns/javaee", "concurrent-method"), new QName("http://java.sun.com/xml/ns/javaee", "depends-on"), new QName("http://java.sun.com/xml/ns/javaee", "init-method"), new QName("http://java.sun.com/xml/ns/javaee", "remove-method"), new QName("http://java.sun.com/xml/ns/javaee", "async-method"), new QName("http://java.sun.com/xml/ns/javaee", "transaction-type"), new QName("http://java.sun.com/xml/ns/javaee", "after-begin-method"), new QName("http://java.sun.com/xml/ns/javaee", "before-completion-method"), new QName("http://java.sun.com/xml/ns/javaee", "after-completion-method"), new QName("http://java.sun.com/xml/ns/javaee", "around-invoke"), new QName("http://java.sun.com/xml/ns/javaee", "around-timeout"), 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", "post-activate"), new QName("http://java.sun.com/xml/ns/javaee", "pre-passivate"), new QName("http://java.sun.com/xml/ns/javaee", "security-role-ref"), new QName("http://java.sun.com/xml/ns/javaee", "security-identity"));
        }
    }
    if (descriptions != null) {
        try {
            sessionBean.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, SessionBean.class, "setDescriptions", Text[].class, e);
        }
    }
    if (displayNames != null) {
        try {
            sessionBean.setDisplayNames(displayNames.toArray(new Text[displayNames.size()]));
        } catch (final Exception e) {
            context.setterError(reader, SessionBean.class, "setDisplayNames", Text[].class, e);
        }
    }
    if (icon != null) {
        sessionBean.icon = icon;
    }
    if (businessLocal != null) {
        sessionBean.businessLocal = businessLocal;
    }
    if (businessRemote != null) {
        sessionBean.businessRemote = businessRemote;
    }
    if (timer != null) {
        sessionBean.timer = timer;
    }
    if (concurrentMethod != null) {
        sessionBean.concurrentMethod = concurrentMethod;
    }
    if (initMethod != null) {
        sessionBean.initMethod = initMethod;
    }
    if (removeMethod != null) {
        sessionBean.removeMethod = removeMethod;
    }
    if (asyncMethod != null) {
        sessionBean.asyncMethod = asyncMethod;
    }
    if (aroundInvoke != null) {
        sessionBean.aroundInvoke = aroundInvoke;
    }
    if (aroundTimeout != null) {
        sessionBean.aroundTimeout = aroundTimeout;
    }
    if (envEntry != null) {
        sessionBean.envEntry = envEntry;
    }
    if (ejbRef != null) {
        sessionBean.ejbRef = ejbRef;
    }
    if (ejbLocalRef != null) {
        sessionBean.ejbLocalRef = ejbLocalRef;
    }
    if (serviceRef != null) {
        sessionBean.serviceRef = serviceRef;
    }
    if (resourceRef != null) {
        sessionBean.resourceRef = resourceRef;
    }
    if (resourceEnvRef != null) {
        sessionBean.resourceEnvRef = resourceEnvRef;
    }
    if (messageDestinationRef != null) {
        sessionBean.messageDestinationRef = messageDestinationRef;
    }
    if (persistenceContextRef != null) {
        sessionBean.persistenceContextRef = persistenceContextRef;
    }
    if (persistenceUnitRef != null) {
        sessionBean.persistenceUnitRef = persistenceUnitRef;
    }
    if (postConstruct != null) {
        sessionBean.postConstruct = postConstruct;
    }
    if (preDestroy != null) {
        sessionBean.preDestroy = preDestroy;
    }
    if (dataSource != null) {
        sessionBean.dataSource = dataSource;
    }
    if (postActivate != null) {
        sessionBean.postActivate = postActivate;
    }
    if (prePassivate != null) {
        sessionBean.prePassivate = prePassivate;
    }
    if (securityRoleRef != null) {
        sessionBean.securityRoleRef = securityRoleRef;
    }
    context.afterUnmarshal(sessionBean, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
    return sessionBean;
}
Also used : InitMethod$JAXB.readInitMethod(org.apache.openejb.jee.InitMethod$JAXB.readInitMethod) InitMethod$JAXB.writeInitMethod(org.apache.openejb.jee.InitMethod$JAXB.writeInitMethod) LinkedHashSet(java.util.LinkedHashSet) AsyncMethod$JAXB.readAsyncMethod(org.apache.openejb.jee.AsyncMethod$JAXB.readAsyncMethod) AsyncMethod$JAXB.writeAsyncMethod(org.apache.openejb.jee.AsyncMethod$JAXB.writeAsyncMethod) ArrayList(java.util.ArrayList) SecurityRoleRef$JAXB.readSecurityRoleRef(org.apache.openejb.jee.SecurityRoleRef$JAXB.readSecurityRoleRef) SecurityRoleRef$JAXB.writeSecurityRoleRef(org.apache.openejb.jee.SecurityRoleRef$JAXB.writeSecurityRoleRef) ResourceEnvRef$JAXB.readResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef$JAXB.readResourceEnvRef) ResourceEnvRef$JAXB.writeResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef$JAXB.writeResourceEnvRef) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader) Timeout$JAXB.readTimeout(org.apache.openejb.jee.Timeout$JAXB.readTimeout) AroundTimeout$JAXB.readAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout) Timeout$JAXB.writeTimeout(org.apache.openejb.jee.Timeout$JAXB.writeTimeout) AroundTimeout$JAXB.writeAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout) DataSource$JAXB.writeDataSource(org.apache.openejb.jee.DataSource$JAXB.writeDataSource) DataSource$JAXB.readDataSource(org.apache.openejb.jee.DataSource$JAXB.readDataSource) Icon$JAXB.readIcon(org.apache.openejb.jee.Icon$JAXB.readIcon) Icon$JAXB.writeIcon(org.apache.openejb.jee.Icon$JAXB.writeIcon) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) ServiceRef$JAXB.readServiceRef(org.apache.openejb.jee.ServiceRef$JAXB.readServiceRef) ServiceRef$JAXB.writeServiceRef(org.apache.openejb.jee.ServiceRef$JAXB.writeServiceRef) SessionType$JAXB.parseSessionType(org.apache.openejb.jee.SessionType$JAXB.parseSessionType) SessionType$JAXB.toStringSessionType(org.apache.openejb.jee.SessionType$JAXB.toStringSessionType) TransactionType$JAXB.toStringTransactionType(org.apache.openejb.jee.TransactionType$JAXB.toStringTransactionType) TransactionType$JAXB.parseTransactionType(org.apache.openejb.jee.TransactionType$JAXB.parseTransactionType) ConcurrencyManagementType$JAXB.toStringConcurrencyManagementType(org.apache.openejb.jee.ConcurrencyManagementType$JAXB.toStringConcurrencyManagementType) ConcurrencyManagementType$JAXB.parseConcurrencyManagementType(org.apache.openejb.jee.ConcurrencyManagementType$JAXB.parseConcurrencyManagementType) Attribute(org.metatype.sxc.util.Attribute) PersistenceContextRef$JAXB.readPersistenceContextRef(org.apache.openejb.jee.PersistenceContextRef$JAXB.readPersistenceContextRef) PersistenceContextRef$JAXB.writePersistenceContextRef(org.apache.openejb.jee.PersistenceContextRef$JAXB.writePersistenceContextRef) NamedMethod$JAXB.readNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod) NamedMethod$JAXB.writeNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod) MessageDestinationRef$JAXB.writeMessageDestinationRef(org.apache.openejb.jee.MessageDestinationRef$JAXB.writeMessageDestinationRef) MessageDestinationRef$JAXB.readMessageDestinationRef(org.apache.openejb.jee.MessageDestinationRef$JAXB.readMessageDestinationRef) Empty$JAXB.writeEmpty(org.apache.openejb.jee.Empty$JAXB.writeEmpty) Empty$JAXB.readEmpty(org.apache.openejb.jee.Empty$JAXB.readEmpty) EjbRef$JAXB.readEjbRef(org.apache.openejb.jee.EjbRef$JAXB.readEjbRef) EjbRef$JAXB.writeEjbRef(org.apache.openejb.jee.EjbRef$JAXB.writeEjbRef) ConcurrentMethod$JAXB.readConcurrentMethod(org.apache.openejb.jee.ConcurrentMethod$JAXB.readConcurrentMethod) ConcurrentMethod$JAXB.writeConcurrentMethod(org.apache.openejb.jee.ConcurrentMethod$JAXB.writeConcurrentMethod) AroundInvoke$JAXB.writeAroundInvoke(org.apache.openejb.jee.AroundInvoke$JAXB.writeAroundInvoke) AroundInvoke$JAXB.readAroundInvoke(org.apache.openejb.jee.AroundInvoke$JAXB.readAroundInvoke) PersistenceUnitRef$JAXB.readPersistenceUnitRef(org.apache.openejb.jee.PersistenceUnitRef$JAXB.readPersistenceUnitRef) PersistenceUnitRef$JAXB.writePersistenceUnitRef(org.apache.openejb.jee.PersistenceUnitRef$JAXB.writePersistenceUnitRef) EnvEntry$JAXB.readEnvEntry(org.apache.openejb.jee.EnvEntry$JAXB.readEnvEntry) EnvEntry$JAXB.writeEnvEntry(org.apache.openejb.jee.EnvEntry$JAXB.writeEnvEntry) EjbLocalRef$JAXB.writeEjbLocalRef(org.apache.openejb.jee.EjbLocalRef$JAXB.writeEjbLocalRef) EjbLocalRef$JAXB.readEjbLocalRef(org.apache.openejb.jee.EjbLocalRef$JAXB.readEjbLocalRef) CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) QName(javax.xml.namespace.QName) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) AroundTimeout$JAXB.readAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout) AroundTimeout$JAXB.writeAroundTimeout(org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout) SecurityIdentity$JAXB.readSecurityIdentity(org.apache.openejb.jee.SecurityIdentity$JAXB.readSecurityIdentity) SecurityIdentity$JAXB.writeSecurityIdentity(org.apache.openejb.jee.SecurityIdentity$JAXB.writeSecurityIdentity) Timer$JAXB.writeTimer(org.apache.openejb.jee.Timer$JAXB.writeTimer) Timer$JAXB.readTimer(org.apache.openejb.jee.Timer$JAXB.readTimer) RemoveMethod$JAXB.readRemoveMethod(org.apache.openejb.jee.RemoveMethod$JAXB.readRemoveMethod) RemoveMethod$JAXB.writeRemoveMethod(org.apache.openejb.jee.RemoveMethod$JAXB.writeRemoveMethod) ResourceRef$JAXB.readResourceRef(org.apache.openejb.jee.ResourceRef$JAXB.readResourceRef) ResourceRef$JAXB.writeResourceRef(org.apache.openejb.jee.ResourceRef$JAXB.writeResourceRef) LifecycleCallback$JAXB.writeLifecycleCallback(org.apache.openejb.jee.LifecycleCallback$JAXB.writeLifecycleCallback) LifecycleCallback$JAXB.readLifecycleCallback(org.apache.openejb.jee.LifecycleCallback$JAXB.readLifecycleCallback)

Aggregations

ArrayList (java.util.ArrayList)2 LinkedHashSet (java.util.LinkedHashSet)2 CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)2 OpenEJBException (org.apache.openejb.OpenEJBException)2 AroundInvoke$JAXB.readAroundInvoke (org.apache.openejb.jee.AroundInvoke$JAXB.readAroundInvoke)2 AroundInvoke$JAXB.writeAroundInvoke (org.apache.openejb.jee.AroundInvoke$JAXB.writeAroundInvoke)2 AroundTimeout$JAXB.readAroundTimeout (org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout)2 AroundTimeout$JAXB.writeAroundTimeout (org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout)2 AsyncMethod$JAXB.readAsyncMethod (org.apache.openejb.jee.AsyncMethod$JAXB.readAsyncMethod)2 AsyncMethod$JAXB.writeAsyncMethod (org.apache.openejb.jee.AsyncMethod$JAXB.writeAsyncMethod)2 ConcurrencyManagementType$JAXB.parseConcurrencyManagementType (org.apache.openejb.jee.ConcurrencyManagementType$JAXB.parseConcurrencyManagementType)2 ConcurrencyManagementType$JAXB.toStringConcurrencyManagementType (org.apache.openejb.jee.ConcurrencyManagementType$JAXB.toStringConcurrencyManagementType)2 ConcurrentMethod$JAXB.readConcurrentMethod (org.apache.openejb.jee.ConcurrentMethod$JAXB.readConcurrentMethod)2 ConcurrentMethod$JAXB.writeConcurrentMethod (org.apache.openejb.jee.ConcurrentMethod$JAXB.writeConcurrentMethod)2 DataSource$JAXB.readDataSource (org.apache.openejb.jee.DataSource$JAXB.readDataSource)2 DataSource$JAXB.writeDataSource (org.apache.openejb.jee.DataSource$JAXB.writeDataSource)2 EjbLocalRef$JAXB.readEjbLocalRef (org.apache.openejb.jee.EjbLocalRef$JAXB.readEjbLocalRef)2 EjbLocalRef$JAXB.writeEjbLocalRef (org.apache.openejb.jee.EjbLocalRef$JAXB.writeEjbLocalRef)2 EjbRef$JAXB.readEjbRef (org.apache.openejb.jee.EjbRef$JAXB.readEjbRef)2 EjbRef$JAXB.writeEjbRef (org.apache.openejb.jee.EjbRef$JAXB.writeEjbRef)2