Search in sources :

Example 1 with InterceptorOrder$JAXB.readInterceptorOrder

use of org.apache.openejb.jee.InterceptorOrder$JAXB.readInterceptorOrder in project tomee by apache.

the class InterceptorBinding$JAXB method _read.

public static final InterceptorBinding _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final InterceptorBinding interceptorBinding = new InterceptorBinding();
    context.beforeUnmarshal(interceptorBinding, LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    List<String> interceptorClass = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("interceptor-bindingType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, InterceptorBinding.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, interceptorBinding);
            interceptorBinding.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 (("ejb-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: ejbName
            final String ejbNameRaw = elementReader.getElementAsString();
            final String ejbName;
            try {
                ejbName = Adapters.collapsedStringAdapterAdapter.unmarshal(ejbNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            interceptorBinding.ejbName = ejbName;
        } else if (("interceptor-class" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: interceptorClass
            final String interceptorClassItemRaw = elementReader.getElementAsString();
            final String interceptorClassItem;
            try {
                interceptorClassItem = Adapters.collapsedStringAdapterAdapter.unmarshal(interceptorClassItemRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            if (interceptorClass == null) {
                interceptorClass = interceptorBinding.interceptorClass;
                if (interceptorClass != null) {
                    interceptorClass.clear();
                } else {
                    interceptorClass = new ArrayList<String>();
                }
            }
            interceptorClass.add(interceptorClassItem);
        } else if (("interceptor-order" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: interceptorOrder
            final InterceptorOrder interceptorOrder = readInterceptorOrder(elementReader, context);
            interceptorBinding.interceptorOrder = interceptorOrder;
        } else if (("exclude-default-interceptors" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: excludeDefaultInterceptors
            final Boolean excludeDefaultInterceptors = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            interceptorBinding.excludeDefaultInterceptors = excludeDefaultInterceptors;
        } else if (("exclude-class-interceptors" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: excludeClassInterceptors
            final Boolean excludeClassInterceptors = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            interceptorBinding.excludeClassInterceptors = excludeClassInterceptors;
        } else if (("method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: method
            final NamedMethod method = readNamedMethod(elementReader, context);
            interceptorBinding.method = method;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "description"), new QName("http://java.sun.com/xml/ns/javaee", "ejb-name"), new QName("http://java.sun.com/xml/ns/javaee", "interceptor-class"), new QName("http://java.sun.com/xml/ns/javaee", "interceptor-order"), new QName("http://java.sun.com/xml/ns/javaee", "exclude-default-interceptors"), new QName("http://java.sun.com/xml/ns/javaee", "exclude-class-interceptors"), new QName("http://java.sun.com/xml/ns/javaee", "method"));
        }
    }
    if (descriptions != null) {
        try {
            interceptorBinding.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, InterceptorBinding.class, "setDescriptions", Text[].class, e);
        }
    }
    if (interceptorClass != null) {
        interceptorBinding.interceptorClass = interceptorClass;
    }
    context.afterUnmarshal(interceptorBinding, LifecycleCallback.NONE);
    return interceptorBinding;
}
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) InterceptorOrder$JAXB.readInterceptorOrder(org.apache.openejb.jee.InterceptorOrder$JAXB.readInterceptorOrder) InterceptorOrder$JAXB.writeInterceptorOrder(org.apache.openejb.jee.InterceptorOrder$JAXB.writeInterceptorOrder) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 2 with InterceptorOrder$JAXB.readInterceptorOrder

use of org.apache.openejb.jee.InterceptorOrder$JAXB.readInterceptorOrder in project tomee by apache.

the class InterceptorBinding$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final InterceptorBinding interceptorBinding, RuntimeContext context) throws Exception {
    if (interceptorBinding == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (InterceptorBinding.class != interceptorBinding.getClass()) {
        context.unexpectedSubclass(writer, interceptorBinding, InterceptorBinding.class);
        return;
    }
    context.beforeMarshal(interceptorBinding, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = interceptorBinding.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(interceptorBinding, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: descriptions
    Text[] descriptions = null;
    try {
        descriptions = interceptorBinding.getDescriptions();
    } catch (final Exception e) {
        context.getterError(interceptorBinding, "descriptions", InterceptorBinding.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(interceptorBinding, "descriptions");
            }
        }
    }
    // ELEMENT: ejbName
    final String ejbNameRaw = interceptorBinding.ejbName;
    String ejbName = null;
    try {
        ejbName = Adapters.collapsedStringAdapterAdapter.marshal(ejbNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(interceptorBinding, "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(interceptorBinding, "ejbName");
    }
    // ELEMENT: interceptorClass
    final List<String> interceptorClassRaw = interceptorBinding.interceptorClass;
    if (interceptorClassRaw != null) {
        for (final String interceptorClassItem : interceptorClassRaw) {
            String interceptorClass = null;
            try {
                interceptorClass = Adapters.collapsedStringAdapterAdapter.marshal(interceptorClassItem);
            } catch (final Exception e) {
                context.xmlAdapterError(interceptorBinding, "interceptorClass", CollapsedStringAdapter.class, List.class, List.class, e);
            }
            if (interceptorClass != null) {
                writer.writeStartElement(prefix, "interceptor-class", "http://java.sun.com/xml/ns/javaee");
                writer.writeCharacters(interceptorClass);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(interceptorBinding, "interceptorClass");
            }
        }
    }
    // ELEMENT: interceptorOrder
    final InterceptorOrder interceptorOrder = interceptorBinding.interceptorOrder;
    if (interceptorOrder != null) {
        writer.writeStartElement(prefix, "interceptor-order", "http://java.sun.com/xml/ns/javaee");
        writeInterceptorOrder(writer, interceptorOrder, context);
        writer.writeEndElement();
    }
    // ELEMENT: excludeDefaultInterceptors
    final Boolean excludeDefaultInterceptors = interceptorBinding.excludeDefaultInterceptors;
    writer.writeStartElement(prefix, "exclude-default-interceptors", "http://java.sun.com/xml/ns/javaee");
    writer.writeCharacters(Boolean.toString(excludeDefaultInterceptors));
    writer.writeEndElement();
    // ELEMENT: excludeClassInterceptors
    final Boolean excludeClassInterceptors = interceptorBinding.excludeClassInterceptors;
    writer.writeStartElement(prefix, "exclude-class-interceptors", "http://java.sun.com/xml/ns/javaee");
    writer.writeCharacters(Boolean.toString(excludeClassInterceptors));
    writer.writeEndElement();
    // ELEMENT: method
    final NamedMethod method = interceptorBinding.method;
    if (method != null) {
        writer.writeStartElement(prefix, "method", "http://java.sun.com/xml/ns/javaee");
        writeNamedMethod(writer, method, context);
        writer.writeEndElement();
    }
    context.afterMarshal(interceptorBinding, LifecycleCallback.NONE);
}
Also used : InterceptorOrder$JAXB.readInterceptorOrder(org.apache.openejb.jee.InterceptorOrder$JAXB.readInterceptorOrder) InterceptorOrder$JAXB.writeInterceptorOrder(org.apache.openejb.jee.InterceptorOrder$JAXB.writeInterceptorOrder) 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) ArrayList(java.util.ArrayList) List(java.util.List) 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)

Aggregations

CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)2 InterceptorOrder$JAXB.readInterceptorOrder (org.apache.openejb.jee.InterceptorOrder$JAXB.readInterceptorOrder)2 InterceptorOrder$JAXB.writeInterceptorOrder (org.apache.openejb.jee.InterceptorOrder$JAXB.writeInterceptorOrder)2 NamedMethod$JAXB.readNamedMethod (org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod)2 NamedMethod$JAXB.writeNamedMethod (org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod)2 Text$JAXB.readText (org.apache.openejb.jee.Text$JAXB.readText)2 Text$JAXB.writeText (org.apache.openejb.jee.Text$JAXB.writeText)2 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 QName (javax.xml.namespace.QName)1 Attribute (org.metatype.sxc.util.Attribute)1 XoXMLStreamReader (org.metatype.sxc.util.XoXMLStreamReader)1