Search in sources :

Example 6 with ConnectionDefinition

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

the class OutboundResourceAdapter$JAXB method _read.

public static final OutboundResourceAdapter _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final OutboundResourceAdapter outboundResourceAdapter = new OutboundResourceAdapter();
    context.beforeUnmarshal(outboundResourceAdapter, LifecycleCallback.NONE);
    List<ConnectionDefinition> connectionDefinition = null;
    List<AuthenticationMechanism> authenticationMechanism = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("outbound-resourceadapterType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, OutboundResourceAdapter.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, outboundResourceAdapter);
            outboundResourceAdapter.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 (("connection-definition" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: connectionDefinition
            final ConnectionDefinition connectionDefinitionItem = readConnectionDefinition(elementReader, context);
            if (connectionDefinition == null) {
                connectionDefinition = outboundResourceAdapter.connectionDefinition;
                if (connectionDefinition != null) {
                    connectionDefinition.clear();
                } else {
                    connectionDefinition = new ArrayList<ConnectionDefinition>();
                }
            }
            connectionDefinition.add(connectionDefinitionItem);
        } else if (("transaction-support" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: transactionSupport
            final TransactionSupportType transactionSupport = parseTransactionSupportType(elementReader, context, elementReader.getElementAsString());
            if (transactionSupport != null) {
                outboundResourceAdapter.transactionSupport = transactionSupport;
            }
        } else if (("authentication-mechanism" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: authenticationMechanism
            final AuthenticationMechanism authenticationMechanismItem = readAuthenticationMechanism(elementReader, context);
            if (authenticationMechanism == null) {
                authenticationMechanism = outboundResourceAdapter.authenticationMechanism;
                if (authenticationMechanism != null) {
                    authenticationMechanism.clear();
                } else {
                    authenticationMechanism = new ArrayList<AuthenticationMechanism>();
                }
            }
            authenticationMechanism.add(authenticationMechanismItem);
        } else if (("reauthentication-support" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: reauthenticationSupport
            final Boolean reauthenticationSupport = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            outboundResourceAdapter.reauthenticationSupport = reauthenticationSupport;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "connection-definition"), new QName("http://java.sun.com/xml/ns/javaee", "transaction-support"), new QName("http://java.sun.com/xml/ns/javaee", "authentication-mechanism"), new QName("http://java.sun.com/xml/ns/javaee", "reauthentication-support"));
        }
    }
    if (connectionDefinition != null) {
        outboundResourceAdapter.connectionDefinition = connectionDefinition;
    }
    if (authenticationMechanism != null) {
        outboundResourceAdapter.authenticationMechanism = authenticationMechanism;
    }
    context.afterUnmarshal(outboundResourceAdapter, LifecycleCallback.NONE);
    return outboundResourceAdapter;
}
Also used : ConnectionDefinition$JAXB.readConnectionDefinition(org.apache.openejb.jee.ConnectionDefinition$JAXB.readConnectionDefinition) ConnectionDefinition$JAXB.writeConnectionDefinition(org.apache.openejb.jee.ConnectionDefinition$JAXB.writeConnectionDefinition) TransactionSupportType$JAXB.parseTransactionSupportType(org.apache.openejb.jee.TransactionSupportType$JAXB.parseTransactionSupportType) TransactionSupportType$JAXB.toStringTransactionSupportType(org.apache.openejb.jee.TransactionSupportType$JAXB.toStringTransactionSupportType) Attribute(org.metatype.sxc.util.Attribute) AuthenticationMechanism$JAXB.writeAuthenticationMechanism(org.apache.openejb.jee.AuthenticationMechanism$JAXB.writeAuthenticationMechanism) AuthenticationMechanism$JAXB.readAuthenticationMechanism(org.apache.openejb.jee.AuthenticationMechanism$JAXB.readAuthenticationMechanism) QName(javax.xml.namespace.QName) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Aggregations

ConnectionDefinition (org.apache.openejb.jee.ConnectionDefinition)4 Connector (org.apache.openejb.jee.Connector)4 OutboundResourceAdapter (org.apache.openejb.jee.OutboundResourceAdapter)4 ResourceAdapter (org.apache.openejb.jee.ResourceAdapter)4 ConnectionFactory (javax.resource.cci.ConnectionFactory)3 ManagedConnectionFactory (javax.resource.spi.ManagedConnectionFactory)3 Module (org.apache.openejb.testing.Module)3 AuthenticationMechanism$JAXB.readAuthenticationMechanism (org.apache.openejb.jee.AuthenticationMechanism$JAXB.readAuthenticationMechanism)2 AuthenticationMechanism$JAXB.writeAuthenticationMechanism (org.apache.openejb.jee.AuthenticationMechanism$JAXB.writeAuthenticationMechanism)2 ConfigProperty (org.apache.openejb.jee.ConfigProperty)2 ConnectionDefinition$JAXB.readConnectionDefinition (org.apache.openejb.jee.ConnectionDefinition$JAXB.readConnectionDefinition)2 ConnectionDefinition$JAXB.writeConnectionDefinition (org.apache.openejb.jee.ConnectionDefinition$JAXB.writeConnectionDefinition)2 TransactionSupportType$JAXB.parseTransactionSupportType (org.apache.openejb.jee.TransactionSupportType$JAXB.parseTransactionSupportType)2 TransactionSupportType$JAXB.toStringTransactionSupportType (org.apache.openejb.jee.TransactionSupportType$JAXB.toStringTransactionSupportType)2 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)2 File (java.io.File)1 IOException (java.io.IOException)1 URL (java.net.URL)1 Properties (java.util.Properties)1 ValidatingManagedConnectionFactory (javax.resource.spi.ValidatingManagedConnectionFactory)1