use of org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination in project tomee by apache.
the class AutoConfig method resolveDestinationLinks.
/**
* Set resource id in all message-destination-refs and MDBs that are using message destination links.
*/
private void resolveDestinationLinks(final AppModule appModule) throws OpenEJBException {
// build up a link resolver
final LinkResolver<MessageDestination> destinationResolver = new LinkResolver<MessageDestination>();
for (final EjbModule ejbModule : appModule.getEjbModules()) {
final AssemblyDescriptor assembly = ejbModule.getEjbJar().getAssemblyDescriptor();
if (assembly != null) {
for (final MessageDestination destination : assembly.getMessageDestination()) {
destinationResolver.add(ejbModule.getModuleUri(), destination.getMessageDestinationName(), destination);
}
}
}
for (final ClientModule clientModule : appModule.getClientModules()) {
for (final MessageDestination destination : clientModule.getApplicationClient().getMessageDestination()) {
destinationResolver.add(appModule.getModuleUri(), destination.getMessageDestinationName(), destination);
}
}
for (final WebModule webModule : appModule.getWebModules()) {
for (final MessageDestination destination : webModule.getWebApp().getMessageDestination()) {
destinationResolver.add(appModule.getModuleUri(), destination.getMessageDestinationName(), destination);
}
}
// remember the type of each destination so we can use it to fillin MDBs that don't declare destination type
final Map<MessageDestination, String> destinationTypes = new HashMap<MessageDestination, String>();
// if MessageDestination does not have a mapped name assigned, give it the destination from the MDB
for (final EjbModule ejbModule : appModule.getEjbModules()) {
final AssemblyDescriptor assembly = ejbModule.getEjbJar().getAssemblyDescriptor();
if (assembly == null) {
continue;
}
final URI moduleUri = ejbModule.getModuleUri();
final OpenejbJar openejbJar = ejbModule.getOpenejbJar();
for (final EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) {
// MDB destination is deploymentId if none set
if (bean instanceof MessageDrivenBean) {
final MessageDrivenBean mdb = (MessageDrivenBean) bean;
final EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName());
if (ejbDeployment == null) {
throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName());
}
// skip destination refs without a destination link
final String link = mdb.getMessageDestinationLink();
if (link == null || link.length() == 0) {
continue;
}
// resolve the destination... if we don't find one it is a configuration bug
final MessageDestination destination = destinationResolver.resolveLink(link, moduleUri);
if (destination == null) {
throw new OpenEJBException("Message destination " + link + " for message driven bean " + mdb.getEjbName() + " not found");
}
// get the destinationId is the mapped name
String destinationId = destination.getMappedName();
if (destinationId == null) {
// if we don't have a mapped name use the destination of the mdb
final Properties properties = mdb.getActivationConfig().toProperties();
destinationId = properties.getProperty("destination");
destination.setMappedName(destinationId);
}
if (mdb.getMessageDestinationType() != null && !destinationTypes.containsKey(destination)) {
destinationTypes.put(destination, mdb.getMessageDestinationType());
}
// destination identifier
ResourceLink resourceLink = ejbDeployment.getResourceLink("openejb/destination");
if (resourceLink == null) {
resourceLink = new ResourceLink();
resourceLink.setResRefName("openejb/destination");
ejbDeployment.addResourceLink(resourceLink);
}
resourceLink.setResId(destinationId);
}
}
}
// resolve all message destination refs with links and assign a ref id to the reference
for (final EjbModule ejbModule : appModule.getEjbModules()) {
final AssemblyDescriptor assembly = ejbModule.getEjbJar().getAssemblyDescriptor();
if (assembly == null) {
continue;
}
final URI moduleUri = ejbModule.getModuleUri();
final OpenejbJar openejbJar = ejbModule.getOpenejbJar();
for (final EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) {
final EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName());
if (ejbDeployment == null) {
throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName());
}
for (final MessageDestinationRef ref : bean.getMessageDestinationRef()) {
// skip destination refs with a resource link already assigned
if (ref.getMappedName() == null && ejbDeployment.getResourceLink(ref.getName()) == null) {
final String destinationId = resolveDestinationId(ref, moduleUri, destinationResolver, destinationTypes);
if (destinationId != null) {
// build the link and add it
final ResourceLink resourceLink = new ResourceLink();
resourceLink.setResId(destinationId);
resourceLink.setResRefName(ref.getName());
ejbDeployment.addResourceLink(resourceLink);
}
}
}
}
}
for (final ClientModule clientModule : appModule.getClientModules()) {
final URI moduleUri = clientModule.getModuleUri();
for (final MessageDestinationRef ref : clientModule.getApplicationClient().getMessageDestinationRef()) {
final String destinationId = resolveDestinationId(ref, moduleUri, destinationResolver, destinationTypes);
if (destinationId != null) {
// for client modules we put the destinationId in the mapped name
ref.setMappedName(destinationId);
}
}
}
for (final WebModule webModule : appModule.getWebModules()) {
final URI moduleUri = URLs.uri(webModule.getModuleId());
for (final MessageDestinationRef ref : webModule.getWebApp().getMessageDestinationRef()) {
final String destinationId = resolveDestinationId(ref, moduleUri, destinationResolver, destinationTypes);
if (destinationId != null) {
// for web modules we put the destinationId in the mapped name
ref.setMappedName(destinationId);
}
}
}
// the info from the destination (which got filled in from the references)
for (final EjbModule ejbModule : appModule.getEjbModules()) {
final AssemblyDescriptor assembly = ejbModule.getEjbJar().getAssemblyDescriptor();
if (assembly == null) {
continue;
}
final URI moduleUri = URLs.uri(ejbModule.getModuleId());
final OpenejbJar openejbJar = ejbModule.getOpenejbJar();
for (final EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) {
// MDB destination is deploymentId if none set
if (bean instanceof MessageDrivenBean) {
final MessageDrivenBean mdb = (MessageDrivenBean) bean;
if (!isJms(mdb)) {
continue;
}
final EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName());
if (ejbDeployment == null) {
throw new OpenEJBException("No ejb deployment found for ejb " + bean.getEjbName());
}
// if destination type is already set in, continue
String destinationType = mdb.getMessageDestinationType();
if (destinationType != null) {
continue;
}
final String link = mdb.getMessageDestinationLink();
if (link != null && link.length() != 0) {
// resolve the destination... if we don't find one it is a configuration bug
final MessageDestination destination = destinationResolver.resolveLink(link, moduleUri);
if (destination == null) {
throw new OpenEJBException("Message destination " + link + " for message driven bean " + mdb.getEjbName() + " not found");
}
destinationType = destinationTypes.get(destination);
}
if (destinationType == null) {
// couldn't determine type... we'll have to guess
// if destination name contains the string "queue" or "topic" we use that
final Properties properties = mdb.getActivationConfig().toProperties();
final String destination = properties.getProperty("destination").toLowerCase();
if (destination.contains("queue")) {
destinationType = Queue.class.getName();
} else if (destination.contains("topic")) {
destinationType = Topic.class.getName();
} else {
// Queue is the default
destinationType = Queue.class.getName();
}
logger.info("Auto-configuring a message driven bean " + ejbDeployment.getDeploymentId() + " destination " + properties.getProperty("destination") + " to be destinationType " + destinationType);
}
if (destinationType != null) {
mdb.getActivationConfig().addProperty("destinationType", destinationType);
mdb.setMessageDestinationType(destinationType);
// topics need a clientId and subscriptionName
if ("javax.jms.Topic".equals(destinationType)) {
final Properties properties = mdb.getActivationConfig().toProperties();
if (!properties.containsKey("clientId")) {
mdb.getActivationConfig().addProperty("clientId", ejbDeployment.getDeploymentId());
}
if (!properties.containsKey("subscriptionName")) {
mdb.getActivationConfig().addProperty("subscriptionName", ejbDeployment.getDeploymentId() + "_subscription");
}
}
}
}
}
}
}
use of org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination in project tomee by apache.
the class Application$JAXB method _write.
public static final void _write(final XoXMLStreamWriter writer, final Application application, RuntimeContext context) throws Exception {
if (application == null) {
writer.writeXsiNil();
return;
}
if (context == null) {
context = new RuntimeContext();
}
final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
if (Application.class != application.getClass()) {
context.unexpectedSubclass(writer, application, Application.class);
return;
}
context.beforeMarshal(application, LifecycleCallback.NONE);
// ATTRIBUTE: version
final String versionRaw = application.version;
if (versionRaw != null) {
String version = null;
try {
version = Adapters.collapsedStringAdapterAdapter.marshal(versionRaw);
} catch (final Exception e) {
context.xmlAdapterError(application, "version", CollapsedStringAdapter.class, String.class, String.class, e);
}
writer.writeAttribute("", "", "version", version);
}
// ATTRIBUTE: id
final String idRaw = application.id;
if (idRaw != null) {
String id = null;
try {
id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
} catch (final Exception e) {
context.xmlAdapterError(application, "id", CollapsedStringAdapter.class, String.class, String.class, e);
}
writer.writeAttribute("", "", "id", id);
}
// ELEMENT: applicationName
final String applicationNameRaw = application.applicationName;
String applicationName = null;
try {
applicationName = Adapters.collapsedStringAdapterAdapter.marshal(applicationNameRaw);
} catch (final Exception e) {
context.xmlAdapterError(application, "applicationName", CollapsedStringAdapter.class, String.class, String.class, e);
}
if (applicationName != null) {
writer.writeStartElement(prefix, "application-name", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(applicationName);
writer.writeEndElement();
}
// ELEMENT: descriptions
Text[] descriptions = null;
try {
descriptions = application.getDescriptions();
} catch (final Exception e) {
context.getterError(application, "descriptions", Application.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(application, "descriptions");
}
}
}
// ELEMENT: displayNames
Text[] displayNames = null;
try {
displayNames = application.getDisplayNames();
} catch (final Exception e) {
context.getterError(application, "displayNames", Application.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(application, "displayNames");
}
}
}
// ELEMENT: icon
final LocalCollection<Icon> icon = application.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(application, "icon");
}
}
}
// ELEMENT: initializeInOrder
final Boolean initializeInOrder = application.initializeInOrder;
if (initializeInOrder != null) {
writer.writeStartElement(prefix, "initialize-in-order", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(Boolean.toString(initializeInOrder));
writer.writeEndElement();
}
// ELEMENT: module
final List<Module> module = application.module;
if (module != null) {
for (final Module moduleItem : module) {
if (moduleItem != null) {
writer.writeStartElement(prefix, "module", "http://java.sun.com/xml/ns/javaee");
writeModule(writer, moduleItem, context);
writer.writeEndElement();
} else {
context.unexpectedNullValue(application, "module");
}
}
}
// ELEMENT: securityRole
final List<SecurityRole> securityRole = application.securityRole;
if (securityRole != null) {
for (final SecurityRole securityRoleItem : securityRole) {
if (securityRoleItem != null) {
writer.writeStartElement(prefix, "security-role", "http://java.sun.com/xml/ns/javaee");
writeSecurityRole(writer, securityRoleItem, context);
writer.writeEndElement();
}
}
}
// ELEMENT: libraryDirectory
final String libraryDirectoryRaw = application.libraryDirectory;
String libraryDirectory = null;
try {
libraryDirectory = Adapters.collapsedStringAdapterAdapter.marshal(libraryDirectoryRaw);
} catch (final Exception e) {
context.xmlAdapterError(application, "libraryDirectory", CollapsedStringAdapter.class, String.class, String.class, e);
}
if (libraryDirectory != null) {
writer.writeStartElement(prefix, "library-directory", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(libraryDirectory);
writer.writeEndElement();
}
// ELEMENT: envEntry
final KeyedCollection<String, EnvEntry> envEntry = application.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(application, "envEntry");
}
}
}
// ELEMENT: ejbRef
final KeyedCollection<String, EjbRef> ejbRef = application.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(application, "ejbRef");
}
}
}
// ELEMENT: ejbLocalRef
final KeyedCollection<String, EjbLocalRef> ejbLocalRef = application.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(application, "ejbLocalRef");
}
}
}
// ELEMENT: serviceRef
final KeyedCollection<String, ServiceRef> serviceRef = application.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(application, "serviceRef");
}
}
}
// ELEMENT: resourceRef
final KeyedCollection<String, ResourceRef> resourceRef = application.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(application, "resourceRef");
}
}
}
// ELEMENT: resourceEnvRef
final KeyedCollection<String, ResourceEnvRef> resourceEnvRef = application.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(application, "resourceEnvRef");
}
}
}
// ELEMENT: messageDestinationRef
final KeyedCollection<String, MessageDestinationRef> messageDestinationRef = application.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(application, "messageDestinationRef");
}
}
}
// ELEMENT: persistenceContextRef
final KeyedCollection<String, PersistenceContextRef> persistenceContextRef = application.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(application, "persistenceContextRef");
}
}
}
// ELEMENT: persistenceUnitRef
final KeyedCollection<String, PersistenceUnitRef> persistenceUnitRef = application.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(application, "persistenceUnitRef");
}
}
}
// ELEMENT: messageDestination
final KeyedCollection<String, MessageDestination> messageDestination = application.messageDestination;
if (messageDestination != null) {
for (final MessageDestination messageDestinationItem : messageDestination) {
if (messageDestinationItem != null) {
writer.writeStartElement(prefix, "message-destination", "http://java.sun.com/xml/ns/javaee");
writeMessageDestination(writer, messageDestinationItem, context);
writer.writeEndElement();
} else {
context.unexpectedNullValue(application, "messageDestination");
}
}
}
// ELEMENT: dataSource
final KeyedCollection<String, DataSource> dataSource = application.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();
}
}
}
context.afterMarshal(application, LifecycleCallback.NONE);
}
use of org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination in project tomee by apache.
the class Application$JAXB method _read.
public static final Application _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
// Check for xsi:nil
if (reader.isXsiNil()) {
return null;
}
if (context == null) {
context = new RuntimeContext();
}
final Application application = new Application();
context.beforeUnmarshal(application, LifecycleCallback.NONE);
ArrayList<Text> descriptions = null;
ArrayList<Text> displayNames = null;
LocalCollection<Icon> icon = null;
List<Module> module = null;
List<SecurityRole> securityRole = 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;
KeyedCollection<String, MessageDestination> messageDestination = null;
KeyedCollection<String, DataSource> dataSource = null;
// Check xsi:type
final QName xsiType = reader.getXsiType();
if (xsiType != null) {
if (("applicationType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
return context.unexpectedXsiType(reader, Application.class);
}
}
// Read attributes
for (final Attribute attribute : reader.getAttributes()) {
if (("version" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
// ATTRIBUTE: version
application.version = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue());
} else if (("id" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
// ATTRIBUTE: id
final String id = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue());
context.addXmlId(reader, id, application);
application.id = id;
} else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI != attribute.getNamespace()) {
context.unexpectedAttribute(attribute, new QName("", "version"), new QName("", "id"));
}
}
// Read elements
for (final XoXMLStreamReader elementReader : reader.getChildElements()) {
if (("application-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: applicationName
final String applicationNameRaw = elementReader.getElementAsString();
final String applicationName;
try {
applicationName = Adapters.collapsedStringAdapterAdapter.unmarshal(applicationNameRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
application.applicationName = applicationName;
} else 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 = application.icon;
if (icon != null) {
icon.clear();
} else {
icon = new LocalCollection<Icon>();
}
}
icon.add(iconItem);
} else if (("initialize-in-order" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: initializeInOrder
final Boolean initializeInOrder = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
application.initializeInOrder = initializeInOrder;
} else if (("module" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: module
final Module moduleItem = readModule(elementReader, context);
if (module == null) {
module = application.module;
if (module != null) {
module.clear();
} else {
module = new ArrayList<Module>();
}
}
module.add(moduleItem);
} else if (("security-role" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: securityRole
final SecurityRole securityRoleItem = readSecurityRole(elementReader, context);
if (securityRole == null) {
securityRole = application.securityRole;
if (securityRole != null) {
securityRole.clear();
} else {
securityRole = new ArrayList<SecurityRole>();
}
}
securityRole.add(securityRoleItem);
} else if (("library-directory" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: libraryDirectory
final String libraryDirectoryRaw = elementReader.getElementAsString();
final String libraryDirectory;
try {
libraryDirectory = Adapters.collapsedStringAdapterAdapter.unmarshal(libraryDirectoryRaw);
} catch (final Exception e) {
context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
continue;
}
application.libraryDirectory = libraryDirectory;
} 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 = application.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 = application.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 = application.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 = application.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 = application.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 = application.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 = application.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 = application.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 = application.persistenceUnitRef;
if (persistenceUnitRef != null) {
persistenceUnitRef.clear();
} else {
persistenceUnitRef = new KeyedCollection<String, PersistenceUnitRef>();
}
}
persistenceUnitRef.add(persistenceUnitRefItem);
} else if (("message-destination" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: messageDestination
final MessageDestination messageDestinationItem = readMessageDestination(elementReader, context);
if (messageDestination == null) {
messageDestination = application.messageDestination;
if (messageDestination != null) {
messageDestination.clear();
} else {
messageDestination = new KeyedCollection<String, MessageDestination>();
}
}
messageDestination.add(messageDestinationItem);
} 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 = application.dataSource;
if (dataSource != null) {
dataSource.clear();
} else {
dataSource = new KeyedCollection<String, DataSource>();
}
}
dataSource.add(dataSourceItem);
} else {
context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "application-name"), 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", "initialize-in-order"), new QName("http://java.sun.com/xml/ns/javaee", "module"), new QName("http://java.sun.com/xml/ns/javaee", "security-role"), new QName("http://java.sun.com/xml/ns/javaee", "library-directory"), 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", "message-destination"), new QName("http://java.sun.com/xml/ns/javaee", "data-source"));
}
}
if (descriptions != null) {
try {
application.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
} catch (final Exception e) {
context.setterError(reader, Application.class, "setDescriptions", Text[].class, e);
}
}
if (displayNames != null) {
try {
application.setDisplayNames(displayNames.toArray(new Text[displayNames.size()]));
} catch (final Exception e) {
context.setterError(reader, Application.class, "setDisplayNames", Text[].class, e);
}
}
if (icon != null) {
application.icon = icon;
}
if (module != null) {
application.module = module;
}
if (securityRole != null) {
application.securityRole = securityRole;
}
if (envEntry != null) {
application.envEntry = envEntry;
}
if (ejbRef != null) {
application.ejbRef = ejbRef;
}
if (ejbLocalRef != null) {
application.ejbLocalRef = ejbLocalRef;
}
if (serviceRef != null) {
application.serviceRef = serviceRef;
}
if (resourceRef != null) {
application.resourceRef = resourceRef;
}
if (resourceEnvRef != null) {
application.resourceEnvRef = resourceEnvRef;
}
if (messageDestinationRef != null) {
application.messageDestinationRef = messageDestinationRef;
}
if (persistenceContextRef != null) {
application.persistenceContextRef = persistenceContextRef;
}
if (persistenceUnitRef != null) {
application.persistenceUnitRef = persistenceUnitRef;
}
if (messageDestination != null) {
application.messageDestination = messageDestination;
}
if (dataSource != null) {
application.dataSource = dataSource;
}
context.afterUnmarshal(application, LifecycleCallback.NONE);
return application;
}
use of org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination in project tomee by apache.
the class ApplicationClient$JAXB method _write.
public static final void _write(final XoXMLStreamWriter writer, final ApplicationClient applicationClient, RuntimeContext context) throws Exception {
if (applicationClient == null) {
writer.writeXsiNil();
return;
}
if (context == null) {
context = new RuntimeContext();
}
final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
if (ApplicationClient.class != applicationClient.getClass()) {
context.unexpectedSubclass(writer, applicationClient, ApplicationClient.class);
return;
}
context.beforeMarshal(applicationClient, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
// ATTRIBUTE: id
final String idRaw = applicationClient.id;
if (idRaw != null) {
String id = null;
try {
id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
} catch (final Exception e) {
context.xmlAdapterError(applicationClient, "id", CollapsedStringAdapter.class, String.class, String.class, e);
}
writer.writeAttribute("", "", "id", id);
}
// ATTRIBUTE: metadataComplete
final Boolean metadataComplete = applicationClient.metadataComplete;
if (metadataComplete != null) {
writer.writeAttribute("", "", "metadata-complete", Boolean.toString(metadataComplete));
}
// ATTRIBUTE: version
final String versionRaw = applicationClient.version;
if (versionRaw != null) {
String version = null;
try {
version = Adapters.collapsedStringAdapterAdapter.marshal(versionRaw);
} catch (final Exception e) {
context.xmlAdapterError(applicationClient, "version", CollapsedStringAdapter.class, String.class, String.class, e);
}
writer.writeAttribute("", "", "version", version);
}
// ELEMENT: moduleName
final String moduleNameRaw = applicationClient.moduleName;
String moduleName = null;
try {
moduleName = Adapters.collapsedStringAdapterAdapter.marshal(moduleNameRaw);
} catch (final Exception e) {
context.xmlAdapterError(applicationClient, "moduleName", CollapsedStringAdapter.class, String.class, String.class, e);
}
if (moduleName != null) {
writer.writeStartElement(prefix, "module-name", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(moduleName);
writer.writeEndElement();
} else {
context.unexpectedNullValue(applicationClient, "moduleName");
}
// ELEMENT: descriptions
Text[] descriptions = null;
try {
descriptions = applicationClient.getDescriptions();
} catch (final Exception e) {
context.getterError(applicationClient, "descriptions", ApplicationClient.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(applicationClient, "descriptions");
}
}
}
// ELEMENT: displayNames
Text[] displayNames = null;
try {
displayNames = applicationClient.getDisplayNames();
} catch (final Exception e) {
context.getterError(applicationClient, "displayNames", ApplicationClient.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(applicationClient, "displayNames");
}
}
}
// ELEMENT: icon
final LocalCollection<Icon> icon = applicationClient.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(applicationClient, "icon");
}
}
}
// ELEMENT: envEntry
final KeyedCollection<String, EnvEntry> envEntry = applicationClient.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(applicationClient, "envEntry");
}
}
}
// ELEMENT: ejbRef
final KeyedCollection<String, EjbRef> ejbRef = applicationClient.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(applicationClient, "ejbRef");
}
}
}
// ELEMENT: ejbLocalRef
final KeyedCollection<String, EjbLocalRef> ejbLocalRef = applicationClient.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(applicationClient, "ejbLocalRef");
}
}
}
// ELEMENT: serviceRef
final KeyedCollection<String, ServiceRef> serviceRef = applicationClient.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(applicationClient, "serviceRef");
}
}
}
// ELEMENT: resourceRef
final KeyedCollection<String, ResourceRef> resourceRef = applicationClient.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(applicationClient, "resourceRef");
}
}
}
// ELEMENT: resourceEnvRef
final KeyedCollection<String, ResourceEnvRef> resourceEnvRef = applicationClient.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(applicationClient, "resourceEnvRef");
}
}
}
// ELEMENT: messageDestinationRef
final KeyedCollection<String, MessageDestinationRef> messageDestinationRef = applicationClient.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(applicationClient, "messageDestinationRef");
}
}
}
// ELEMENT: persistenceContextRef
final KeyedCollection<String, PersistenceContextRef> persistenceContextRef = applicationClient.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(applicationClient, "persistenceContextRef");
}
}
}
// ELEMENT: persistenceUnitRef
final KeyedCollection<String, PersistenceUnitRef> persistenceUnitRef = applicationClient.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(applicationClient, "persistenceUnitRef");
}
}
}
// ELEMENT: postConstruct
final List<org.apache.openejb.jee.LifecycleCallback> postConstruct = applicationClient.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(applicationClient, "postConstruct");
}
}
}
// ELEMENT: preDestroy
final List<org.apache.openejb.jee.LifecycleCallback> preDestroy = applicationClient.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(applicationClient, "preDestroy");
}
}
}
// ELEMENT: callbackHandler
final String callbackHandlerRaw = applicationClient.callbackHandler;
String callbackHandler = null;
try {
callbackHandler = Adapters.collapsedStringAdapterAdapter.marshal(callbackHandlerRaw);
} catch (final Exception e) {
context.xmlAdapterError(applicationClient, "callbackHandler", CollapsedStringAdapter.class, String.class, String.class, e);
}
if (callbackHandler != null) {
writer.writeStartElement(prefix, "callback-handler", "http://java.sun.com/xml/ns/javaee");
writer.writeCharacters(callbackHandler);
writer.writeEndElement();
}
// ELEMENT: messageDestination
final KeyedCollection<String, MessageDestination> messageDestination = applicationClient.messageDestination;
if (messageDestination != null) {
for (final MessageDestination messageDestinationItem : messageDestination) {
if (messageDestinationItem != null) {
writer.writeStartElement(prefix, "message-destination", "http://java.sun.com/xml/ns/javaee");
writeMessageDestination(writer, messageDestinationItem, context);
writer.writeEndElement();
} else {
context.unexpectedNullValue(applicationClient, "messageDestination");
}
}
}
// ELEMENT: dataSource
final KeyedCollection<String, DataSource> dataSource = applicationClient.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();
}
}
}
context.afterMarshal(applicationClient, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
}
use of org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination in project tomee by apache.
the class AssemblyDescriptor$JAXB method _read.
public static final AssemblyDescriptor _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
// Check for xsi:nil
if (reader.isXsiNil()) {
return null;
}
if (context == null) {
context = new RuntimeContext();
}
final AssemblyDescriptor assemblyDescriptor = new AssemblyDescriptor();
context.beforeUnmarshal(assemblyDescriptor, LifecycleCallback.NONE);
List<SecurityRole> securityRole = null;
List<MethodPermission> methodPermission = null;
List<ContainerTransaction> containerTransaction = null;
List<ContainerConcurrency> containerConcurrency = null;
List<InterceptorBinding> interceptorBinding = null;
List<MessageDestination> messageDestination = null;
KeyedCollection<String, ApplicationException> applicationException = null;
// Check xsi:type
final QName xsiType = reader.getXsiType();
if (xsiType != null) {
if (("assembly-descriptorType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
return context.unexpectedXsiType(reader, AssemblyDescriptor.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, assemblyDescriptor);
assemblyDescriptor.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 (("security-role" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: securityRole
final SecurityRole securityRoleItem = readSecurityRole(elementReader, context);
if (securityRole == null) {
securityRole = assemblyDescriptor.securityRole;
if (securityRole != null) {
securityRole.clear();
} else {
securityRole = new ArrayList<SecurityRole>();
}
}
securityRole.add(securityRoleItem);
} else if (("method-permission" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: methodPermission
final MethodPermission methodPermissionItem = readMethodPermission(elementReader, context);
if (methodPermission == null) {
methodPermission = assemblyDescriptor.methodPermission;
if (methodPermission != null) {
methodPermission.clear();
} else {
methodPermission = new ArrayList<MethodPermission>();
}
}
methodPermission.add(methodPermissionItem);
} else if (("container-transaction" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: containerTransaction
final ContainerTransaction containerTransactionItem = readContainerTransaction(elementReader, context);
if (containerTransaction == null) {
containerTransaction = assemblyDescriptor.containerTransaction;
if (containerTransaction != null) {
containerTransaction.clear();
} else {
containerTransaction = new ArrayList<ContainerTransaction>();
}
}
containerTransaction.add(containerTransactionItem);
} else if (("container-concurrency" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: containerConcurrency
final ContainerConcurrency containerConcurrencyItem = readContainerConcurrency(elementReader, context);
if (containerConcurrency == null) {
containerConcurrency = assemblyDescriptor.containerConcurrency;
if (containerConcurrency != null) {
containerConcurrency.clear();
} else {
containerConcurrency = new ArrayList<ContainerConcurrency>();
}
}
containerConcurrency.add(containerConcurrencyItem);
} else if (("interceptor-binding" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: interceptorBinding
final InterceptorBinding interceptorBindingItem = readInterceptorBinding(elementReader, context);
if (interceptorBinding == null) {
interceptorBinding = assemblyDescriptor.interceptorBinding;
if (interceptorBinding != null) {
interceptorBinding.clear();
} else {
interceptorBinding = new ArrayList<InterceptorBinding>();
}
}
interceptorBinding.add(interceptorBindingItem);
} else if (("message-destination" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: messageDestination
final MessageDestination messageDestinationItem = readMessageDestination(elementReader, context);
if (messageDestination == null) {
messageDestination = assemblyDescriptor.messageDestination;
if (messageDestination != null) {
messageDestination.clear();
} else {
messageDestination = new ArrayList<MessageDestination>();
}
}
messageDestination.add(messageDestinationItem);
} else if (("exclude-list" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: excludeList
final ExcludeList excludeList = readExcludeList(elementReader, context);
assemblyDescriptor.excludeList = excludeList;
} else if (("application-exception" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
// ELEMENT: applicationException
final ApplicationException applicationExceptionItem = readApplicationException(elementReader, context);
if (applicationException == null) {
applicationException = assemblyDescriptor.applicationException;
if (applicationException != null) {
applicationException.clear();
} else {
applicationException = new KeyedCollection<String, ApplicationException>();
}
}
applicationException.add(applicationExceptionItem);
} else {
context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "security-role"), new QName("http://java.sun.com/xml/ns/javaee", "method-permission"), new QName("http://java.sun.com/xml/ns/javaee", "container-transaction"), new QName("http://java.sun.com/xml/ns/javaee", "container-concurrency"), new QName("http://java.sun.com/xml/ns/javaee", "interceptor-binding"), new QName("http://java.sun.com/xml/ns/javaee", "message-destination"), new QName("http://java.sun.com/xml/ns/javaee", "exclude-list"), new QName("http://java.sun.com/xml/ns/javaee", "application-exception"));
}
}
if (securityRole != null) {
assemblyDescriptor.securityRole = securityRole;
}
if (methodPermission != null) {
assemblyDescriptor.methodPermission = methodPermission;
}
if (containerTransaction != null) {
assemblyDescriptor.containerTransaction = containerTransaction;
}
if (containerConcurrency != null) {
assemblyDescriptor.containerConcurrency = containerConcurrency;
}
if (interceptorBinding != null) {
assemblyDescriptor.interceptorBinding = interceptorBinding;
}
if (messageDestination != null) {
assemblyDescriptor.messageDestination = messageDestination;
}
if (applicationException != null) {
assemblyDescriptor.applicationException = applicationException;
}
context.afterUnmarshal(assemblyDescriptor, LifecycleCallback.NONE);
return assemblyDescriptor;
}
Aggregations