Search in sources :

Example 1 with PortMapping$JAXB.readPortMapping

use of org.apache.openejb.jee.PortMapping$JAXB.readPortMapping in project tomee by apache.

the class ServiceInterfaceMapping$JAXB method _read.

public static final ServiceInterfaceMapping _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final ServiceInterfaceMapping serviceInterfaceMapping = new ServiceInterfaceMapping();
    context.beforeUnmarshal(serviceInterfaceMapping, LifecycleCallback.NONE);
    List<PortMapping> portMapping = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("service-interface-mappingType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, ServiceInterfaceMapping.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, serviceInterfaceMapping);
            serviceInterfaceMapping.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 (("service-interface" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: serviceInterface
            final String serviceInterfaceRaw = elementReader.getElementAsString();
            final String serviceInterface;
            try {
                serviceInterface = Adapters.collapsedStringAdapterAdapter.unmarshal(serviceInterfaceRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            serviceInterfaceMapping.serviceInterface = serviceInterface;
        } else if (("wsdl-service-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: wsdlServiceName
            final QName wsdlServiceName = elementReader.getElementAsQName();
            serviceInterfaceMapping.wsdlServiceName = wsdlServiceName;
        } else if (("port-mapping" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: portMapping
            final PortMapping portMappingItem = readPortMapping(elementReader, context);
            if (portMapping == null) {
                portMapping = serviceInterfaceMapping.portMapping;
                if (portMapping != null) {
                    portMapping.clear();
                } else {
                    portMapping = new ArrayList<PortMapping>();
                }
            }
            portMapping.add(portMappingItem);
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "service-interface"), new QName("http://java.sun.com/xml/ns/javaee", "wsdl-service-name"), new QName("http://java.sun.com/xml/ns/javaee", "port-mapping"));
        }
    }
    if (portMapping != null) {
        serviceInterfaceMapping.portMapping = portMapping;
    }
    context.afterUnmarshal(serviceInterfaceMapping, LifecycleCallback.NONE);
    return serviceInterfaceMapping;
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) Attribute(org.metatype.sxc.util.Attribute) QName(javax.xml.namespace.QName) PortMapping$JAXB.readPortMapping(org.apache.openejb.jee.PortMapping$JAXB.readPortMapping) PortMapping$JAXB.writePortMapping(org.apache.openejb.jee.PortMapping$JAXB.writePortMapping) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 2 with PortMapping$JAXB.readPortMapping

use of org.apache.openejb.jee.PortMapping$JAXB.readPortMapping in project tomee by apache.

the class ServiceInterfaceMapping$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final ServiceInterfaceMapping serviceInterfaceMapping, RuntimeContext context) throws Exception {
    if (serviceInterfaceMapping == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (ServiceInterfaceMapping.class != serviceInterfaceMapping.getClass()) {
        context.unexpectedSubclass(writer, serviceInterfaceMapping, ServiceInterfaceMapping.class);
        return;
    }
    context.beforeMarshal(serviceInterfaceMapping, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = serviceInterfaceMapping.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(serviceInterfaceMapping, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: serviceInterface
    final String serviceInterfaceRaw = serviceInterfaceMapping.serviceInterface;
    String serviceInterface = null;
    try {
        serviceInterface = Adapters.collapsedStringAdapterAdapter.marshal(serviceInterfaceRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(serviceInterfaceMapping, "serviceInterface", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (serviceInterface != null) {
        writer.writeStartElement(prefix, "service-interface", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(serviceInterface);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(serviceInterfaceMapping, "serviceInterface");
    }
    // ELEMENT: wsdlServiceName
    final QName wsdlServiceName = serviceInterfaceMapping.wsdlServiceName;
    if (wsdlServiceName != null) {
        writer.writeStartElement(prefix, "wsdl-service-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeQName(wsdlServiceName);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(serviceInterfaceMapping, "wsdlServiceName");
    }
    // ELEMENT: portMapping
    final List<PortMapping> portMapping = serviceInterfaceMapping.portMapping;
    if (portMapping != null) {
        for (final PortMapping portMappingItem : portMapping) {
            if (portMappingItem != null) {
                writer.writeStartElement(prefix, "port-mapping", "http://java.sun.com/xml/ns/javaee");
                writePortMapping(writer, portMappingItem, context);
                writer.writeEndElement();
            }
        }
    }
    context.afterMarshal(serviceInterfaceMapping, LifecycleCallback.NONE);
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) QName(javax.xml.namespace.QName) PortMapping$JAXB.readPortMapping(org.apache.openejb.jee.PortMapping$JAXB.readPortMapping) PortMapping$JAXB.writePortMapping(org.apache.openejb.jee.PortMapping$JAXB.writePortMapping) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext)

Aggregations

CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)2 QName (javax.xml.namespace.QName)2 PortMapping$JAXB.readPortMapping (org.apache.openejb.jee.PortMapping$JAXB.readPortMapping)2 PortMapping$JAXB.writePortMapping (org.apache.openejb.jee.PortMapping$JAXB.writePortMapping)2 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)2 Attribute (org.metatype.sxc.util.Attribute)1 XoXMLStreamReader (org.metatype.sxc.util.XoXMLStreamReader)1