Search in sources :

Example 6 with NamedMethod$JAXB.readNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod in project tomee by apache.

the class RemoveMethod$JAXB method _read.

public static final RemoveMethod _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final RemoveMethod removeMethod = new RemoveMethod();
    context.beforeUnmarshal(removeMethod, LifecycleCallback.NONE);
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("remove-methodType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, RemoveMethod.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, removeMethod);
            removeMethod.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 (("bean-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: beanMethod
            final NamedMethod beanMethod = readNamedMethod(elementReader, context);
            removeMethod.beanMethod = beanMethod;
        } else if (("retain-if-exception" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: retainIfException
            final Boolean retainIfException = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            removeMethod.retainIfException = retainIfException;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "bean-method"), new QName("http://java.sun.com/xml/ns/javaee", "retain-if-exception"));
        }
    }
    context.afterUnmarshal(removeMethod, LifecycleCallback.NONE);
    return removeMethod;
}
Also used : Attribute(org.metatype.sxc.util.Attribute) QName(javax.xml.namespace.QName) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) NamedMethod$JAXB.readNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod) NamedMethod$JAXB.writeNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 7 with NamedMethod$JAXB.readNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod 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 8 with NamedMethod$JAXB.readNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod in project tomee by apache.

the class Timer$JAXB method _read.

public static final Timer _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final Timer timer = new Timer();
    context.beforeUnmarshal(timer, LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("timerType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, Timer.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, timer);
            timer.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 (("schedule" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: schedule
            final TimerSchedule schedule = readTimerSchedule(elementReader, context);
            timer.schedule = schedule;
        } else if (("start" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: start
            final XMLGregorianCalendar start = datatypeFactory.newXMLGregorianCalendar(elementReader.getElementAsString());
            timer.start = start;
        } else if (("end" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: end
            final XMLGregorianCalendar end = datatypeFactory.newXMLGregorianCalendar(elementReader.getElementAsString());
            timer.end = end;
        } else if (("timeout-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: timeoutMethod
            final NamedMethod timeoutMethod = readNamedMethod(elementReader, context);
            timer.timeoutMethod = timeoutMethod;
        } else if (("persistent" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistent
            final Boolean persistent = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            timer.persistent = persistent;
        } else if (("timezone" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: timezone
            final String timezoneRaw = elementReader.getElementAsString();
            final String timezone;
            try {
                timezone = Adapters.collapsedStringAdapterAdapter.unmarshal(timezoneRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            timer.timezone = timezone;
        } else if (("info" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: info
            final String infoRaw = elementReader.getElementAsString();
            final String info;
            try {
                info = Adapters.collapsedStringAdapterAdapter.unmarshal(infoRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            timer.info = info;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "description"), new QName("http://java.sun.com/xml/ns/javaee", "schedule"), new QName("http://java.sun.com/xml/ns/javaee", "start"), new QName("http://java.sun.com/xml/ns/javaee", "end"), new QName("http://java.sun.com/xml/ns/javaee", "timeout-method"), new QName("http://java.sun.com/xml/ns/javaee", "persistent"), new QName("http://java.sun.com/xml/ns/javaee", "timezone"), new QName("http://java.sun.com/xml/ns/javaee", "info"));
        }
    }
    if (descriptions != null) {
        try {
            timer.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, Timer.class, "setDescriptions", Text[].class, e);
        }
    }
    context.afterUnmarshal(timer, LifecycleCallback.NONE);
    return timer;
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) Attribute(org.metatype.sxc.util.Attribute) 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) NamedMethod$JAXB.readNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod) NamedMethod$JAXB.writeNamedMethod(org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod) DatatypeConfigurationException(javax.xml.datatype.DatatypeConfigurationException) XMLGregorianCalendar(javax.xml.datatype.XMLGregorianCalendar) TimerSchedule$JAXB.readTimerSchedule(org.apache.openejb.jee.TimerSchedule$JAXB.readTimerSchedule) TimerSchedule$JAXB.writeTimerSchedule(org.apache.openejb.jee.TimerSchedule$JAXB.writeTimerSchedule) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 9 with NamedMethod$JAXB.readNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod in project tomee by apache.

the class StatefulConcurrencyTest method setUp.

@Override
protected void setUp() throws Exception {
    super.setUp();
    System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
    final ConfigurationFactory config = new ConfigurationFactory();
    final Assembler assembler = new Assembler();
    assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class));
    assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
    assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
    final StatefulSessionContainerInfo statefulContainerInfo = config.configureService(StatefulSessionContainerInfo.class);
    assembler.createContainer(statefulContainerInfo);
    final EjbJar ejbJar = new EjbJar();
    final StatefulBean bean1 = new StatefulBean(MyLocalBeanImpl.class);
    final Timeout timeout1 = new Timeout();
    timeout1.setTimeout(1000);
    timeout1.setUnit(TimeUnit.MILLISECONDS);
    final ConcurrentMethod method1 = new ConcurrentMethod();
    method1.setMethod(new NamedMethod("*"));
    method1.setAccessTimeout(timeout1);
    bean1.getConcurrentMethod().add(method1);
    final StatefulBean bean2 = new StatefulBean("BeanNegative", MyLocalBeanImpl.class);
    final Timeout timeout2 = new Timeout();
    timeout2.setTimeout(-1);
    timeout2.setUnit(TimeUnit.MILLISECONDS);
    final ConcurrentMethod method2 = new ConcurrentMethod();
    method2.setMethod(new NamedMethod("*"));
    method2.setAccessTimeout(timeout2);
    bean2.getConcurrentMethod().add(method2);
    ejbJar.addEnterpriseBean(bean1);
    ejbJar.addEnterpriseBean(bean2);
    assembler.createApplication(config.configureApplication(ejbJar));
}
Also used : StatefulSessionContainerInfo(org.apache.openejb.assembler.classic.StatefulSessionContainerInfo) ProxyFactoryInfo(org.apache.openejb.assembler.classic.ProxyFactoryInfo) TransactionServiceInfo(org.apache.openejb.assembler.classic.TransactionServiceInfo) StatefulBean(org.apache.openejb.jee.StatefulBean) Timeout(org.apache.openejb.jee.Timeout) ConfigurationFactory(org.apache.openejb.config.ConfigurationFactory) Assembler(org.apache.openejb.assembler.classic.Assembler) ConcurrentMethod(org.apache.openejb.jee.ConcurrentMethod) LocalInitialContextFactory(org.apache.openejb.core.LocalInitialContextFactory) NamedMethod(org.apache.openejb.jee.NamedMethod) SecurityServiceInfo(org.apache.openejb.assembler.classic.SecurityServiceInfo) EjbJar(org.apache.openejb.jee.EjbJar)

Example 10 with NamedMethod$JAXB.readNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod in project tomee by apache.

the class ScheduleTest method testSchedule.

public void testSchedule() throws Exception {
    System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
    final Assembler assembler = new Assembler();
    final ConfigurationFactory config = new ConfigurationFactory();
    assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class));
    assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
    assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
    final EjbJar ejbJar = new EjbJar();
    // Configure schedule by deployment plan
    final StatelessBean subBeanA = new StatelessBean(SubBeanA.class);
    final Timer subBeanATimer = new Timer();
    subBeanATimer.setTimeoutMethod(new NamedMethod("subBeanA", "javax.ejb.Timer"));
    final TimerSchedule timerScheduleA = new TimerSchedule();
    timerScheduleA.setSecond("2");
    timerScheduleA.setMinute("*");
    timerScheduleA.setHour("*");
    subBeanATimer.setSchedule(timerScheduleA);
    subBeanATimer.setInfo("SubBeanAInfo");
    subBeanA.getTimer().add(subBeanATimer);
    ejbJar.addEnterpriseBean(subBeanA);
    // Configure schedule by annotation
    final StatelessBean subBeanB = new StatelessBean(SubBeanB.class);
    ejbJar.addEnterpriseBean(subBeanB);
    // Override aroundTimeout annotation by deployment plan
    final StatelessBean subBeanC = new StatelessBean(SubBeanC.class);
    final Timer subBeanCTimer = new Timer();
    subBeanCTimer.setTimeoutMethod(new NamedMethod("subBeanC", "javax.ejb.Timer"));
    final TimerSchedule timerScheduleC = new TimerSchedule();
    timerScheduleC.setSecond("2");
    timerScheduleC.setMinute("*");
    timerScheduleC.setHour("*");
    subBeanCTimer.setSchedule(timerScheduleC);
    subBeanCTimer.setInfo("SubBeanCInfo");
    subBeanC.getTimer().add(subBeanCTimer);
    ejbJar.addEnterpriseBean(subBeanC);
    final StatefulBean subBeanM = new StatefulBean(SubBeanM.class);
    ejbJar.addEnterpriseBean(subBeanM);
    final EjbJarInfo ejbJarInfo = config.configureApplication(ejbJar);
    assembler.createApplication(ejbJarInfo);
    countDownLatch.await(1L, TimeUnit.MINUTES);
    // A better way for validation ?
    int beforeAroundInvocationCount = 0;
    int afterAroundInvocationCount = 0;
    int timeoutInvocationCount = 0;
    final int size;
    synchronized (result) {
        size = result.size();
        for (final Call call : result) {
            switch(call) {
                case BEAN_BEFORE_AROUNDTIMEOUT:
                    beforeAroundInvocationCount++;
                    break;
                case BEAN_AFTER_AROUNDTIMEOUT:
                    afterAroundInvocationCount++;
                    break;
                case TIMEOUT:
                    timeoutInvocationCount++;
                    break;
            }
        }
    }
    assertEquals(3, beforeAroundInvocationCount);
    assertEquals(3, afterAroundInvocationCount);
    assertEquals(3, timeoutInvocationCount);
    assertEquals(9, size);
}
Also used : StatefulBean(org.apache.openejb.jee.StatefulBean) LocalInitialContextFactory(org.apache.openejb.core.LocalInitialContextFactory) NamedMethod(org.apache.openejb.jee.NamedMethod) ProxyFactoryInfo(org.apache.openejb.assembler.classic.ProxyFactoryInfo) TimerSchedule(org.apache.openejb.jee.TimerSchedule) TransactionServiceInfo(org.apache.openejb.assembler.classic.TransactionServiceInfo) StatelessBean(org.apache.openejb.jee.StatelessBean) Timer(org.apache.openejb.jee.Timer) ConfigurationFactory(org.apache.openejb.config.ConfigurationFactory) Assembler(org.apache.openejb.assembler.classic.Assembler) SecurityServiceInfo(org.apache.openejb.assembler.classic.SecurityServiceInfo) EjbJarInfo(org.apache.openejb.assembler.classic.EjbJarInfo) EjbJar(org.apache.openejb.jee.EjbJar)

Aggregations

NamedMethod$JAXB.readNamedMethod (org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod)14 NamedMethod$JAXB.writeNamedMethod (org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod)14 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)14 CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)11 NamedMethod (org.apache.openejb.jee.NamedMethod)11 EjbJar (org.apache.openejb.jee.EjbJar)10 Text$JAXB.readText (org.apache.openejb.jee.Text$JAXB.readText)8 Text$JAXB.writeText (org.apache.openejb.jee.Text$JAXB.writeText)8 StatefulBean (org.apache.openejb.jee.StatefulBean)6 ArrayList (java.util.ArrayList)5 QName (javax.xml.namespace.QName)5 Interceptor (org.apache.openejb.jee.Interceptor)5 InterceptorBinding (org.apache.openejb.jee.InterceptorBinding)5 Attribute (org.metatype.sxc.util.Attribute)5 XoXMLStreamReader (org.metatype.sxc.util.XoXMLStreamReader)5 AroundInvoke$JAXB.readAroundInvoke (org.apache.openejb.jee.AroundInvoke$JAXB.readAroundInvoke)4 AroundInvoke$JAXB.writeAroundInvoke (org.apache.openejb.jee.AroundInvoke$JAXB.writeAroundInvoke)4 AroundTimeout$JAXB.readAroundTimeout (org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout)4 AroundTimeout$JAXB.writeAroundTimeout (org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout)4 AssemblyDescriptor (org.apache.openejb.jee.AssemblyDescriptor)4