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;
}
Aggregations