Search in sources :

Example 6 with NamedMethod$JAXB.writeNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod in project tomee by apache.

the class CheckInvalidInterceptorTest method test.

@Keys({ @Key(value = "interceptor.callback.badReturnType", count = 2), @Key(value = "interceptor.callback.invalidArguments", count = 2), @Key(value = "aroundInvoke.badReturnType", count = 2), @Key(value = "aroundInvoke.invalidArguments", count = 2), @Key("interceptor.callback.missing"), @Key("aroundInvoke.missing"), @Key("interceptorBinding.noSuchEjbName"), @Key("interceptorBinding.ejbNameRequiredWithMethod"), @Key("interceptor.callback.missing.possibleTypo") })
public EjbJar test() throws Exception {
    final EjbJar ejbJar = new EjbJar();
    ejbJar.addEnterpriseBean(new StatelessBean(FooBean.class));
    final Interceptor interceptor = ejbJar.addInterceptor(new org.apache.openejb.jee.Interceptor(CallbackMissingInterceptor.class));
    interceptor.addAroundInvoke("wrongMethod");
    interceptor.addPostConstruct("foo");
    interceptor.addPostConstruct("wrongMethod");
    final List<InterceptorBinding> interceptorBindings = ejbJar.getAssemblyDescriptor().getInterceptorBinding();
    final InterceptorBinding binding = new InterceptorBinding("wrongEjbName");
    // binding.setMethod(new NamedMethod("wrongMethod"));
    interceptorBindings.add(binding);
    final InterceptorBinding binding1 = new InterceptorBinding();
    binding1.setMethod(new NamedMethod("aMethod"));
    interceptorBindings.add(binding1);
    return ejbJar;
}
Also used : InterceptorBinding(org.apache.openejb.jee.InterceptorBinding) StatelessBean(org.apache.openejb.jee.StatelessBean) Interceptor(org.apache.openejb.jee.Interceptor) NamedMethod(org.apache.openejb.jee.NamedMethod) Interceptor(org.apache.openejb.jee.Interceptor) EjbJar(org.apache.openejb.jee.EjbJar)

Example 7 with NamedMethod$JAXB.writeNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod in project tomee by apache.

the class InitMethod$JAXB method _read.

public static final InitMethod _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final InitMethod initMethod = new InitMethod();
    context.beforeUnmarshal(initMethod, LifecycleCallback.NONE);
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("init-methodType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, InitMethod.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, initMethod);
            initMethod.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 (("create-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: createMethod
            final NamedMethod createMethod = readNamedMethod(elementReader, context);
            initMethod.createMethod = createMethod;
        } else if (("bean-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: beanMethod
            final NamedMethod beanMethod = readNamedMethod(elementReader, context);
            initMethod.beanMethod = beanMethod;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "create-method"), new QName("http://java.sun.com/xml/ns/javaee", "bean-method"));
        }
    }
    context.afterUnmarshal(initMethod, LifecycleCallback.NONE);
    return initMethod;
}
Also used : Attribute(org.metatype.sxc.util.Attribute) QName(javax.xml.namespace.QName) 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) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 8 with NamedMethod$JAXB.writeNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod 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)

Example 9 with NamedMethod$JAXB.writeNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod 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 10 with NamedMethod$JAXB.writeNamedMethod

use of org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod in project tomee by apache.

the class RemoveMethod$JAXB method _read.

public static final RemoveMethod _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final RemoveMethod removeMethod = new RemoveMethod();
    context.beforeUnmarshal(removeMethod, LifecycleCallback.NONE);
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("remove-methodType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, RemoveMethod.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, removeMethod);
            removeMethod.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 (("bean-method" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: beanMethod
            final NamedMethod beanMethod = readNamedMethod(elementReader, context);
            removeMethod.beanMethod = beanMethod;
        } else if (("retain-if-exception" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: retainIfException
            final Boolean retainIfException = ("1".equals(elementReader.getElementAsString()) || "true".equals(elementReader.getElementAsString()));
            removeMethod.retainIfException = retainIfException;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "bean-method"), new QName("http://java.sun.com/xml/ns/javaee", "retain-if-exception"));
        }
    }
    context.afterUnmarshal(removeMethod, LifecycleCallback.NONE);
    return removeMethod;
}
Also used : Attribute(org.metatype.sxc.util.Attribute) QName(javax.xml.namespace.QName) 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) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Aggregations

NamedMethod$JAXB.readNamedMethod (org.apache.openejb.jee.NamedMethod$JAXB.readNamedMethod)14 NamedMethod$JAXB.writeNamedMethod (org.apache.openejb.jee.NamedMethod$JAXB.writeNamedMethod)14 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)14 CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)11 NamedMethod (org.apache.openejb.jee.NamedMethod)11 EjbJar (org.apache.openejb.jee.EjbJar)10 Text$JAXB.readText (org.apache.openejb.jee.Text$JAXB.readText)8 Text$JAXB.writeText (org.apache.openejb.jee.Text$JAXB.writeText)8 StatefulBean (org.apache.openejb.jee.StatefulBean)6 ArrayList (java.util.ArrayList)5 QName (javax.xml.namespace.QName)5 Interceptor (org.apache.openejb.jee.Interceptor)5 InterceptorBinding (org.apache.openejb.jee.InterceptorBinding)5 Attribute (org.metatype.sxc.util.Attribute)5 XoXMLStreamReader (org.metatype.sxc.util.XoXMLStreamReader)5 AroundInvoke$JAXB.readAroundInvoke (org.apache.openejb.jee.AroundInvoke$JAXB.readAroundInvoke)4 AroundInvoke$JAXB.writeAroundInvoke (org.apache.openejb.jee.AroundInvoke$JAXB.writeAroundInvoke)4 AroundTimeout$JAXB.readAroundTimeout (org.apache.openejb.jee.AroundTimeout$JAXB.readAroundTimeout)4 AroundTimeout$JAXB.writeAroundTimeout (org.apache.openejb.jee.AroundTimeout$JAXB.writeAroundTimeout)4 AssemblyDescriptor (org.apache.openejb.jee.AssemblyDescriptor)4