| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.openejb.jee; |
| |
| import org.metatype.sxc.jaxb.JAXBObject; |
| import org.metatype.sxc.jaxb.LifecycleCallback; |
| import org.metatype.sxc.jaxb.RuntimeContext; |
| import org.metatype.sxc.util.Attribute; |
| import org.metatype.sxc.util.XoXMLStreamReader; |
| import org.metatype.sxc.util.XoXMLStreamWriter; |
| |
| import javax.xml.XMLConstants; |
| import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; |
| import javax.xml.namespace.QName; |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import static org.apache.openejb.jee.ApplicationException$JAXB.readApplicationException; |
| import static org.apache.openejb.jee.ApplicationException$JAXB.writeApplicationException; |
| import static org.apache.openejb.jee.ContainerConcurrency$JAXB.readContainerConcurrency; |
| import static org.apache.openejb.jee.ContainerConcurrency$JAXB.writeContainerConcurrency; |
| import static org.apache.openejb.jee.ContainerTransaction$JAXB.readContainerTransaction; |
| import static org.apache.openejb.jee.ContainerTransaction$JAXB.writeContainerTransaction; |
| import static org.apache.openejb.jee.ExcludeList$JAXB.readExcludeList; |
| import static org.apache.openejb.jee.ExcludeList$JAXB.writeExcludeList; |
| import static org.apache.openejb.jee.InterceptorBinding$JAXB.readInterceptorBinding; |
| import static org.apache.openejb.jee.InterceptorBinding$JAXB.writeInterceptorBinding; |
| import static org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination; |
| import static org.apache.openejb.jee.MessageDestination$JAXB.writeMessageDestination; |
| import static org.apache.openejb.jee.MethodPermission$JAXB.readMethodPermission; |
| import static org.apache.openejb.jee.MethodPermission$JAXB.writeMethodPermission; |
| import static org.apache.openejb.jee.SecurityRole$JAXB.readSecurityRole; |
| import static org.apache.openejb.jee.SecurityRole$JAXB.writeSecurityRole; |
| |
| @SuppressWarnings({ |
| "StringEquality" |
| }) |
| public class AssemblyDescriptor$JAXB |
| extends JAXBObject<AssemblyDescriptor> { |
| |
| |
| public AssemblyDescriptor$JAXB() { |
| super(AssemblyDescriptor.class, null, new QName("http://java.sun.com/xml/ns/javaee".intern(), "assembly-descriptorType".intern()), SecurityRole$JAXB.class, MethodPermission$JAXB.class, ContainerTransaction$JAXB.class, ContainerConcurrency$JAXB.class, InterceptorBinding$JAXB.class, MessageDestination$JAXB.class, ExcludeList$JAXB.class, ApplicationException$JAXB.class); |
| } |
| |
| public static AssemblyDescriptor readAssemblyDescriptor(final XoXMLStreamReader reader, final RuntimeContext context) |
| throws Exception { |
| return _read(reader, context); |
| } |
| |
| public static void writeAssemblyDescriptor(final XoXMLStreamWriter writer, final AssemblyDescriptor assemblyDescriptor, final RuntimeContext context) |
| throws Exception { |
| _write(writer, assemblyDescriptor, context); |
| } |
| |
| public void write(final XoXMLStreamWriter writer, final AssemblyDescriptor assemblyDescriptor, final RuntimeContext context) |
| throws Exception { |
| _write(writer, assemblyDescriptor, context); |
| } |
| |
| public final static 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; |
| } |
| |
| public final AssemblyDescriptor read(final XoXMLStreamReader reader, final RuntimeContext context) |
| throws Exception { |
| return _read(reader, context); |
| } |
| |
| public final static void _write(final XoXMLStreamWriter writer, final AssemblyDescriptor assemblyDescriptor, RuntimeContext context) |
| throws Exception { |
| if (assemblyDescriptor == null) { |
| writer.writeXsiNil(); |
| return; |
| } |
| |
| if (context == null) { |
| context = new RuntimeContext(); |
| } |
| |
| final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee"); |
| if (AssemblyDescriptor.class != assemblyDescriptor.getClass()) { |
| context.unexpectedSubclass(writer, assemblyDescriptor, AssemblyDescriptor.class); |
| return; |
| } |
| |
| context.beforeMarshal(assemblyDescriptor, LifecycleCallback.NONE); |
| |
| |
| // ATTRIBUTE: id |
| final String idRaw = assemblyDescriptor.id; |
| if (idRaw != null) { |
| String id = null; |
| try { |
| id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw); |
| } catch (final Exception e) { |
| context.xmlAdapterError(assemblyDescriptor, "id", CollapsedStringAdapter.class, String.class, String.class, e); |
| } |
| writer.writeAttribute("", "", "id", id); |
| } |
| |
| // ELEMENT: securityRole |
| final List<SecurityRole> securityRole = assemblyDescriptor.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(); |
| } else { |
| context.unexpectedNullValue(assemblyDescriptor, "securityRole"); |
| } |
| } |
| } |
| |
| // ELEMENT: methodPermission |
| final List<MethodPermission> methodPermission = assemblyDescriptor.methodPermission; |
| if (methodPermission != null) { |
| for (final MethodPermission methodPermissionItem : methodPermission) { |
| if (methodPermissionItem != null) { |
| writer.writeStartElement(prefix, "method-permission", "http://java.sun.com/xml/ns/javaee"); |
| writeMethodPermission(writer, methodPermissionItem, context); |
| writer.writeEndElement(); |
| } else { |
| context.unexpectedNullValue(assemblyDescriptor, "methodPermission"); |
| } |
| } |
| } |
| |
| // ELEMENT: containerTransaction |
| final List<ContainerTransaction> containerTransaction = assemblyDescriptor.containerTransaction; |
| if (containerTransaction != null) { |
| for (final ContainerTransaction containerTransactionItem : containerTransaction) { |
| if (containerTransactionItem != null) { |
| writer.writeStartElement(prefix, "container-transaction", "http://java.sun.com/xml/ns/javaee"); |
| writeContainerTransaction(writer, containerTransactionItem, context); |
| writer.writeEndElement(); |
| } else { |
| context.unexpectedNullValue(assemblyDescriptor, "containerTransaction"); |
| } |
| } |
| } |
| |
| // ELEMENT: containerConcurrency |
| final List<ContainerConcurrency> containerConcurrency = assemblyDescriptor.containerConcurrency; |
| if (containerConcurrency != null) { |
| for (final ContainerConcurrency containerConcurrencyItem : containerConcurrency) { |
| if (containerConcurrencyItem != null) { |
| writer.writeStartElement(prefix, "container-concurrency", "http://java.sun.com/xml/ns/javaee"); |
| writeContainerConcurrency(writer, containerConcurrencyItem, context); |
| writer.writeEndElement(); |
| } else { |
| context.unexpectedNullValue(assemblyDescriptor, "containerConcurrency"); |
| } |
| } |
| } |
| |
| // ELEMENT: interceptorBinding |
| final List<InterceptorBinding> interceptorBinding = assemblyDescriptor.interceptorBinding; |
| if (interceptorBinding != null) { |
| for (final InterceptorBinding interceptorBindingItem : interceptorBinding) { |
| if (interceptorBindingItem != null) { |
| writer.writeStartElement(prefix, "interceptor-binding", "http://java.sun.com/xml/ns/javaee"); |
| writeInterceptorBinding(writer, interceptorBindingItem, context); |
| writer.writeEndElement(); |
| } else { |
| context.unexpectedNullValue(assemblyDescriptor, "interceptorBinding"); |
| } |
| } |
| } |
| |
| // ELEMENT: messageDestination |
| final List<MessageDestination> messageDestination = assemblyDescriptor.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(assemblyDescriptor, "messageDestination"); |
| } |
| } |
| } |
| |
| // ELEMENT: excludeList |
| final ExcludeList excludeList = assemblyDescriptor.excludeList; |
| if (excludeList != null) { |
| writer.writeStartElement(prefix, "exclude-list", "http://java.sun.com/xml/ns/javaee"); |
| writeExcludeList(writer, excludeList, context); |
| writer.writeEndElement(); |
| } |
| |
| // ELEMENT: applicationException |
| final KeyedCollection<String, ApplicationException> applicationException = assemblyDescriptor.applicationException; |
| if (applicationException != null) { |
| for (final ApplicationException applicationExceptionItem : applicationException) { |
| if (applicationExceptionItem != null) { |
| writer.writeStartElement(prefix, "application-exception", "http://java.sun.com/xml/ns/javaee"); |
| writeApplicationException(writer, applicationExceptionItem, context); |
| writer.writeEndElement(); |
| } else { |
| context.unexpectedNullValue(assemblyDescriptor, "applicationException"); |
| } |
| } |
| } |
| |
| context.afterMarshal(assemblyDescriptor, LifecycleCallback.NONE); |
| } |
| |
| } |