Search in sources :

Example 1 with MethodParams

use of org.apache.openejb.jee.MethodParams in project tomee by apache.

the class AsyncMethod$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final AsyncMethod asyncMethod, RuntimeContext context) throws Exception {
    if (asyncMethod == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (AsyncMethod.class != asyncMethod.getClass()) {
        context.unexpectedSubclass(writer, asyncMethod, AsyncMethod.class);
        return;
    }
    context.beforeMarshal(asyncMethod, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = asyncMethod.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(asyncMethod, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: methodName
    final String methodNameRaw = asyncMethod.methodName;
    String methodName = null;
    try {
        methodName = Adapters.collapsedStringAdapterAdapter.marshal(methodNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(asyncMethod, "methodName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (methodName != null) {
        writer.writeStartElement(prefix, "method-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(methodName);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(asyncMethod, "methodName");
    }
    // ELEMENT: methodParams
    final MethodParams methodParams = asyncMethod.methodParams;
    if (methodParams != null) {
        writer.writeStartElement(prefix, "method-params", "http://java.sun.com/xml/ns/javaee");
        writeMethodParams(writer, methodParams, context);
        writer.writeEndElement();
    }
    context.afterMarshal(asyncMethod, LifecycleCallback.NONE);
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) MethodParams$JAXB.writeMethodParams(org.apache.openejb.jee.MethodParams$JAXB.writeMethodParams) MethodParams$JAXB.readMethodParams(org.apache.openejb.jee.MethodParams$JAXB.readMethodParams) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext)

Example 2 with MethodParams

use of org.apache.openejb.jee.MethodParams in project tomee by apache.

the class EjbJarInfoBuilder method getMethodInfo.

private MethodInfo getMethodInfo(final Method method, final Map ejbds) {
    final MethodInfo methodInfo = new MethodInfo();
    final EjbDeployment d = (EjbDeployment) ejbds.get(method.getEjbName());
    methodInfo.description = method.getDescription();
    methodInfo.ejbDeploymentId = d == null ? null : d.getDeploymentId();
    methodInfo.ejbName = method.getEjbName();
    methodInfo.methodIntf = method.getMethodIntf() == null ? null : method.getMethodIntf().toString();
    methodInfo.methodName = method.getMethodName();
    if (methodInfo.methodName == null || methodInfo.methodName.equals("")) {
        methodInfo.methodName = "*";
    }
    methodInfo.className = method.getClassName();
    if (methodInfo.className == null || methodInfo.className.equals("")) {
        methodInfo.className = "*";
    }
    final MethodParams mp = method.getMethodParams();
    if (mp != null) {
        methodInfo.methodParams = mp.getMethodParam();
    }
    return methodInfo;
}
Also used : MethodParams(org.apache.openejb.jee.MethodParams) MethodInfo(org.apache.openejb.assembler.classic.MethodInfo) InitMethodInfo(org.apache.openejb.assembler.classic.InitMethodInfo) NamedMethodInfo(org.apache.openejb.assembler.classic.NamedMethodInfo) RemoveMethodInfo(org.apache.openejb.assembler.classic.RemoveMethodInfo) EjbDeployment(org.apache.openejb.jee.oejb3.EjbDeployment)

Example 3 with MethodParams

use of org.apache.openejb.jee.MethodParams in project tomee by apache.

the class CheckAsynchronous method getMethod.

private Method getMethod(final Class<?> clazz, final AsyncMethod asyncMethod) {
    try {
        final MethodParams methodParams = asyncMethod.getMethodParams();
        final Class<?>[] parameterTypes;
        if (methodParams != null) {
            parameterTypes = new Class[methodParams.getMethodParam().size()];
            int arrayIndex = 0;
            for (final String parameterType : methodParams.getMethodParam()) {
                parameterTypes[arrayIndex++] = loadClass(parameterType);
            }
        } else {
            parameterTypes = new Class[0];
        }
        return clazz.getMethod(asyncMethod.getMethodName(), parameterTypes);
    } catch (final NoSuchMethodException e) {
        return null;
    } catch (final OpenEJBException e) {
        throw new OpenEJBRuntimeException(e);
    }
}
Also used : OpenEJBRuntimeException(org.apache.openejb.OpenEJBRuntimeException) OpenEJBException(org.apache.openejb.OpenEJBException) MethodParams(org.apache.openejb.jee.MethodParams)

Example 4 with MethodParams

use of org.apache.openejb.jee.MethodParams in project tomee by apache.

the class Method$JAXB method _read.

public static final Method _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final Method method = new Method();
    context.beforeUnmarshal(method, LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("methodType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, Method.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, method);
            method.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;
            }
            method.ejbName = ejbName;
        } else if (("method-intf" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: methodIntf
            final MethodIntf methodIntf = parseMethodIntf(elementReader, context, elementReader.getElementAsString());
            if (methodIntf != null) {
                method.methodIntf = methodIntf;
            }
        } else if (("method-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: methodName
            final String methodNameRaw = elementReader.getElementAsString();
            final String methodName;
            try {
                methodName = Adapters.collapsedStringAdapterAdapter.unmarshal(methodNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            method.methodName = methodName;
        } else if (("method-params" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: methodParams
            final MethodParams methodParams = readMethodParams(elementReader, context);
            method.methodParams = methodParams;
        } 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", "method-intf"), new QName("http://java.sun.com/xml/ns/javaee", "method-name"), new QName("http://java.sun.com/xml/ns/javaee", "method-params"));
        }
    }
    if (descriptions != null) {
        try {
            method.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, Method.class, "setDescriptions", Text[].class, e);
        }
    }
    context.afterUnmarshal(method, LifecycleCallback.NONE);
    return method;
}
Also used : Attribute(org.metatype.sxc.util.Attribute) QName(javax.xml.namespace.QName) MethodParams$JAXB.writeMethodParams(org.apache.openejb.jee.MethodParams$JAXB.writeMethodParams) MethodParams$JAXB.readMethodParams(org.apache.openejb.jee.MethodParams$JAXB.readMethodParams) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) MethodIntf$JAXB.parseMethodIntf(org.apache.openejb.jee.MethodIntf$JAXB.parseMethodIntf) MethodIntf$JAXB.toStringMethodIntf(org.apache.openejb.jee.MethodIntf$JAXB.toStringMethodIntf) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 5 with MethodParams

use of org.apache.openejb.jee.MethodParams in project tomee by apache.

the class Method$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final Method method, RuntimeContext context) throws Exception {
    if (method == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (Method.class != method.getClass()) {
        context.unexpectedSubclass(writer, method, Method.class);
        return;
    }
    context.beforeMarshal(method, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = method.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(method, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: descriptions
    Text[] descriptions = null;
    try {
        descriptions = method.getDescriptions();
    } catch (final Exception e) {
        context.getterError(method, "descriptions", Method.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(method, "descriptions");
            }
        }
    }
    // ELEMENT: ejbName
    final String ejbNameRaw = method.ejbName;
    String ejbName = null;
    try {
        ejbName = Adapters.collapsedStringAdapterAdapter.marshal(ejbNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(method, "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(method, "ejbName");
    }
    // ELEMENT: methodIntf
    final MethodIntf methodIntf = method.methodIntf;
    if (methodIntf != null) {
        writer.writeStartElement(prefix, "method-intf", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(toStringMethodIntf(method, null, context, methodIntf));
        writer.writeEndElement();
    }
    // ELEMENT: methodName
    final String methodNameRaw = method.methodName;
    String methodName = null;
    try {
        methodName = Adapters.collapsedStringAdapterAdapter.marshal(methodNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(method, "methodName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (methodName != null) {
        writer.writeStartElement(prefix, "method-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(methodName);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(method, "methodName");
    }
    // ELEMENT: methodParams
    final MethodParams methodParams = method.methodParams;
    if (methodParams != null) {
        writer.writeStartElement(prefix, "method-params", "http://java.sun.com/xml/ns/javaee");
        writeMethodParams(writer, methodParams, context);
        writer.writeEndElement();
    }
    context.afterMarshal(method, LifecycleCallback.NONE);
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) MethodParams$JAXB.writeMethodParams(org.apache.openejb.jee.MethodParams$JAXB.writeMethodParams) MethodParams$JAXB.readMethodParams(org.apache.openejb.jee.MethodParams$JAXB.readMethodParams) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) MethodIntf$JAXB.parseMethodIntf(org.apache.openejb.jee.MethodIntf$JAXB.parseMethodIntf) MethodIntf$JAXB.toStringMethodIntf(org.apache.openejb.jee.MethodIntf$JAXB.toStringMethodIntf)

Aggregations

MethodParams$JAXB.readMethodParams (org.apache.openejb.jee.MethodParams$JAXB.readMethodParams)8 MethodParams$JAXB.writeMethodParams (org.apache.openejb.jee.MethodParams$JAXB.writeMethodParams)8 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)8 CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)7 QName (javax.xml.namespace.QName)4 Attribute (org.metatype.sxc.util.Attribute)4 XoXMLStreamReader (org.metatype.sxc.util.XoXMLStreamReader)4 MethodIntf$JAXB.parseMethodIntf (org.apache.openejb.jee.MethodIntf$JAXB.parseMethodIntf)2 MethodIntf$JAXB.toStringMethodIntf (org.apache.openejb.jee.MethodIntf$JAXB.toStringMethodIntf)2 MethodParams (org.apache.openejb.jee.MethodParams)2 Text$JAXB.readText (org.apache.openejb.jee.Text$JAXB.readText)2 Text$JAXB.writeText (org.apache.openejb.jee.Text$JAXB.writeText)2 OpenEJBException (org.apache.openejb.OpenEJBException)1 OpenEJBRuntimeException (org.apache.openejb.OpenEJBRuntimeException)1 InitMethodInfo (org.apache.openejb.assembler.classic.InitMethodInfo)1 MethodInfo (org.apache.openejb.assembler.classic.MethodInfo)1 NamedMethodInfo (org.apache.openejb.assembler.classic.NamedMethodInfo)1 RemoveMethodInfo (org.apache.openejb.assembler.classic.RemoveMethodInfo)1 EjbDeployment (org.apache.openejb.jee.oejb3.EjbDeployment)1