Search in sources :

Example 1 with Listener$JAXB.writeListener

use of org.apache.openejb.jee.Listener$JAXB.writeListener in project tomee by apache.

the class ReadDescriptors method readTldTaglib.

public static TldTaglib readTldTaglib(final URL url) throws OpenEJBException {
    // TOMEE-164 Optimization on reading built-in tld files
    if (url.getPath().contains("jstl-1.2.jar") || ((url.getPath().contains("taglibs-standard-") || url.getPath().contains("taglibs-shade-") && url.getPath().contains(".jar!")))) {
        return SKIP_TAGLIB;
    }
    if (url.getPath().contains("myfaces-impl")) {
        // we should return SKIP_TAGLIB too
        final TldTaglib taglib = new TldTaglib();
        final Listener listener = new Listener();
        listener.setListenerClass("org.apache.myfaces.webapp.StartupServletContextListener");
        taglib.getListener().add(listener);
        return taglib;
    }
    try {
        return TldTaglibXml.unmarshal(url);
    } catch (final SAXException e) {
        final String message = "Cannot parse the JSP tag library definition file: " + url.toExternalForm();
        logger.warning(message);
        logger.debug(message, e);
    } catch (final JAXBException e) {
        final String message = "Cannot unmarshall the JSP tag library definition file: " + url.toExternalForm();
        logger.warning(message);
        logger.debug(message, e);
    } catch (final IOException e) {
        final String message = "Cannot read the JSP tag library definition file: " + url.toExternalForm();
        logger.warning(message);
        logger.debug(message, e);
    } catch (final Exception e) {
        final String message = "Encountered unknown error parsing the JSP tag library definition file: " + url.toExternalForm();
        logger.warning(message);
        logger.debug(message, e);
    }
    return SKIP_TAGLIB;
}
Also used : Listener(org.apache.openejb.jee.Listener) TldTaglib(org.apache.openejb.jee.TldTaglib) JAXBException(javax.xml.bind.JAXBException) IOException(java.io.IOException) OpenEJBException(org.apache.openejb.OpenEJBException) JAXBException(javax.xml.bind.JAXBException) SAXException(org.xml.sax.SAXException) IOException(java.io.IOException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) SAXException(org.xml.sax.SAXException)

Example 2 with Listener$JAXB.writeListener

use of org.apache.openejb.jee.Listener$JAXB.writeListener in project tomee by apache.

the class TldTaglib$JAXB method _read.

public static final TldTaglib _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final TldTaglib tldTaglib = new TldTaglib();
    context.beforeUnmarshal(tldTaglib, LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    ArrayList<Text> displayNames = null;
    LocalCollection<Icon> icon = null;
    List<Listener> listener = null;
    List<Tag> tag = null;
    List<TagFile> tagFile = null;
    List<Function> function = null;
    List<TldExtension> taglibExtension = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("tldTaglibType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, TldTaglib.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, tldTaglib);
            tldTaglib.id = id;
        } else if (("version" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
            // ATTRIBUTE: version
            tldTaglib.version = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue());
        } else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI != attribute.getNamespace()) {
            context.unexpectedAttribute(attribute, new QName("", "id"), new QName("", "version"));
        }
    }
    // 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 (("display-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: displayNames
            final Text displayNamesItem = readText(elementReader, context);
            if (displayNames == null) {
                displayNames = new ArrayList<Text>();
            }
            displayNames.add(displayNamesItem);
        } else if (("icon" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: icon
            final Icon iconItem = readIcon(elementReader, context);
            if (icon == null) {
                icon = tldTaglib.icon;
                if (icon != null) {
                    icon.clear();
                } else {
                    icon = new LocalCollection<Icon>();
                }
            }
            icon.add(iconItem);
        } else if (("tlib-version" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: tlibVersion
            final String tlibVersionRaw = elementReader.getElementAsString();
            final String tlibVersion;
            try {
                tlibVersion = Adapters.collapsedStringAdapterAdapter.unmarshal(tlibVersionRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            tldTaglib.tlibVersion = tlibVersion;
        } else if (("jsp-version" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: jspVersion
            final String jspVersionRaw = elementReader.getElementAsString();
            final String jspVersion;
            try {
                jspVersion = Adapters.collapsedStringAdapterAdapter.unmarshal(jspVersionRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            tldTaglib.jspVersion = jspVersion;
        } else if (("short-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: shortName
            final String shortNameRaw = elementReader.getElementAsString();
            final String shortName;
            try {
                shortName = Adapters.collapsedStringAdapterAdapter.unmarshal(shortNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            tldTaglib.shortName = shortName;
        } else if (("uri" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: uri
            final String uriRaw = elementReader.getElementAsString();
            final String uri;
            try {
                uri = Adapters.collapsedStringAdapterAdapter.unmarshal(uriRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            tldTaglib.uri = uri;
        } else if (("validator" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: validator
            final Validator validator = readValidator(elementReader, context);
            tldTaglib.validator = validator;
        } else if (("listener" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: listener
            final Listener listenerItem = readListener(elementReader, context);
            if (listener == null) {
                listener = tldTaglib.listener;
                if (listener != null) {
                    listener.clear();
                } else {
                    listener = new ArrayList<Listener>();
                }
            }
            listener.add(listenerItem);
        } else if (("tag" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: tag
            final Tag tagItem = readTag(elementReader, context);
            if (tag == null) {
                tag = tldTaglib.tag;
                if (tag != null) {
                    tag.clear();
                } else {
                    tag = new ArrayList<Tag>();
                }
            }
            tag.add(tagItem);
        } else if (("tag-file" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: tagFile
            final TagFile tagFileItem = readTagFile(elementReader, context);
            if (tagFile == null) {
                tagFile = tldTaglib.tagFile;
                if (tagFile != null) {
                    tagFile.clear();
                } else {
                    tagFile = new ArrayList<TagFile>();
                }
            }
            tagFile.add(tagFileItem);
        } else if (("function" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: function
            final Function functionItem = readFunction(elementReader, context);
            if (function == null) {
                function = tldTaglib.function;
                if (function != null) {
                    function.clear();
                } else {
                    function = new ArrayList<Function>();
                }
            }
            function.add(functionItem);
        } else if (("taglib-extension" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: taglibExtension
            final TldExtension taglibExtensionItem = readTldExtension(elementReader, context);
            if (taglibExtension == null) {
                taglibExtension = tldTaglib.taglibExtension;
                if (taglibExtension != null) {
                    taglibExtension.clear();
                } else {
                    taglibExtension = new ArrayList<TldExtension>();
                }
            }
            taglibExtension.add(taglibExtensionItem);
        }
    /* else { // we are not the one responsible of the failure so don't fail
                context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "description"), new QName("http://java.sun.com/xml/ns/javaee", "display-name"), new QName("http://java.sun.com/xml/ns/javaee", "icon"), new QName("http://java.sun.com/xml/ns/javaee", "tlib-version"), new QName("http://java.sun.com/xml/ns/javaee", "jsp-version"), new QName("http://java.sun.com/xml/ns/javaee", "short-name"), new QName("http://java.sun.com/xml/ns/javaee", "uri"), new QName("http://java.sun.com/xml/ns/javaee", "validator"), new QName("http://java.sun.com/xml/ns/javaee", "listener"), new QName("http://java.sun.com/xml/ns/javaee", "tag"), new QName("http://java.sun.com/xml/ns/javaee", "tag-file"), new QName("http://java.sun.com/xml/ns/javaee", "function"), new QName("http://java.sun.com/xml/ns/javaee", "taglib-extension"));
            }*/
    }
    if (descriptions != null) {
        try {
            tldTaglib.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, TldTaglib.class, "setDescriptions", Text[].class, e);
        }
    }
    if (displayNames != null) {
        try {
            tldTaglib.setDisplayNames(displayNames.toArray(new Text[displayNames.size()]));
        } catch (final Exception e) {
            context.setterError(reader, TldTaglib.class, "setDisplayNames", Text[].class, e);
        }
    }
    if (icon != null) {
        tldTaglib.icon = icon;
    }
    if (listener != null) {
        tldTaglib.listener = listener;
    }
    if (tag != null) {
        tldTaglib.tag = tag;
    }
    if (tagFile != null) {
        tldTaglib.tagFile = tagFile;
    }
    if (function != null) {
        tldTaglib.function = function;
    }
    if (taglibExtension != null) {
        tldTaglib.taglibExtension = taglibExtension;
    }
    context.afterUnmarshal(tldTaglib, LifecycleCallback.NONE);
    return tldTaglib;
}
Also used : Listener$JAXB.readListener(org.apache.openejb.jee.Listener$JAXB.readListener) Listener$JAXB.writeListener(org.apache.openejb.jee.Listener$JAXB.writeListener) Attribute(org.metatype.sxc.util.Attribute) TagFile$JAXB.readTagFile(org.apache.openejb.jee.TagFile$JAXB.readTagFile) TagFile$JAXB.writeTagFile(org.apache.openejb.jee.TagFile$JAXB.writeTagFile) ArrayList(java.util.ArrayList) Function$JAXB.readFunction(org.apache.openejb.jee.Function$JAXB.readFunction) Function$JAXB.writeFunction(org.apache.openejb.jee.Function$JAXB.writeFunction) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader) CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) 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) TldExtension$JAXB.readTldExtension(org.apache.openejb.jee.TldExtension$JAXB.readTldExtension) TldExtension$JAXB.writeTldExtension(org.apache.openejb.jee.TldExtension$JAXB.writeTldExtension) Icon$JAXB.readIcon(org.apache.openejb.jee.Icon$JAXB.readIcon) Icon$JAXB.writeIcon(org.apache.openejb.jee.Icon$JAXB.writeIcon) Tag$JAXB.readTag(org.apache.openejb.jee.Tag$JAXB.readTag) Tag$JAXB.writeTag(org.apache.openejb.jee.Tag$JAXB.writeTag) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) Validator$JAXB.readValidator(org.apache.openejb.jee.Validator$JAXB.readValidator) Validator$JAXB.writeValidator(org.apache.openejb.jee.Validator$JAXB.writeValidator)

Example 3 with Listener$JAXB.writeListener

use of org.apache.openejb.jee.Listener$JAXB.writeListener in project tomee by apache.

the class TldTaglib$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final TldTaglib tldTaglib, RuntimeContext context) throws Exception {
    if (tldTaglib == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (TldTaglib.class != tldTaglib.getClass()) {
        context.unexpectedSubclass(writer, tldTaglib, TldTaglib.class);
        return;
    }
    context.beforeMarshal(tldTaglib, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = tldTaglib.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(tldTaglib, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ATTRIBUTE: version
    final String versionRaw = tldTaglib.version;
    if (versionRaw != null) {
        String version = null;
        try {
            version = Adapters.collapsedStringAdapterAdapter.marshal(versionRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(tldTaglib, "version", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "version", version);
    }
    // ELEMENT: descriptions
    Text[] descriptions = null;
    try {
        descriptions = tldTaglib.getDescriptions();
    } catch (final Exception e) {
        context.getterError(tldTaglib, "descriptions", TldTaglib.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(tldTaglib, "descriptions");
            }
        }
    }
    // ELEMENT: displayNames
    Text[] displayNames = null;
    try {
        displayNames = tldTaglib.getDisplayNames();
    } catch (final Exception e) {
        context.getterError(tldTaglib, "displayNames", TldTaglib.class, "getDisplayNames", e);
    }
    if (displayNames != null) {
        for (final Text displayNamesItem : displayNames) {
            if (displayNamesItem != null) {
                writer.writeStartElement(prefix, "display-name", "http://java.sun.com/xml/ns/javaee");
                writeText(writer, displayNamesItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(tldTaglib, "displayNames");
            }
        }
    }
    // ELEMENT: icon
    final LocalCollection<Icon> icon = tldTaglib.icon;
    if (icon != null) {
        for (final Icon iconItem : icon) {
            if (iconItem != null) {
                writer.writeStartElement(prefix, "icon", "http://java.sun.com/xml/ns/javaee");
                writeIcon(writer, iconItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(tldTaglib, "icon");
            }
        }
    }
    // ELEMENT: tlibVersion
    final String tlibVersionRaw = tldTaglib.tlibVersion;
    String tlibVersion = null;
    try {
        tlibVersion = Adapters.collapsedStringAdapterAdapter.marshal(tlibVersionRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(tldTaglib, "tlibVersion", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (tlibVersion != null) {
        writer.writeStartElement(prefix, "tlib-version", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(tlibVersion);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(tldTaglib, "tlibVersion");
    }
    // ELEMENT: jspVersion
    final String jspVersionRaw = tldTaglib.jspVersion;
    String jspVersion = null;
    try {
        jspVersion = Adapters.collapsedStringAdapterAdapter.marshal(jspVersionRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(tldTaglib, "jspVersion", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (jspVersion != null) {
        writer.writeStartElement(prefix, "jsp-version", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(jspVersion);
        writer.writeEndElement();
    }
    // ELEMENT: shortName
    final String shortNameRaw = tldTaglib.shortName;
    String shortName = null;
    try {
        shortName = Adapters.collapsedStringAdapterAdapter.marshal(shortNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(tldTaglib, "shortName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (shortName != null) {
        writer.writeStartElement(prefix, "short-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(shortName);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(tldTaglib, "shortName");
    }
    // ELEMENT: uri
    final String uriRaw = tldTaglib.uri;
    String uri = null;
    try {
        uri = Adapters.collapsedStringAdapterAdapter.marshal(uriRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(tldTaglib, "uri", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (uri != null) {
        writer.writeStartElement(prefix, "uri", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(uri);
        writer.writeEndElement();
    }
    // ELEMENT: validator
    final Validator validator = tldTaglib.validator;
    if (validator != null) {
        writer.writeStartElement(prefix, "validator", "http://java.sun.com/xml/ns/javaee");
        writeValidator(writer, validator, context);
        writer.writeEndElement();
    }
    // ELEMENT: listener
    final List<Listener> listener = tldTaglib.listener;
    if (listener != null) {
        for (final Listener listenerItem : listener) {
            writer.writeStartElement(prefix, "listener", "http://java.sun.com/xml/ns/javaee");
            if (listenerItem != null) {
                writeListener(writer, listenerItem, context);
            } else {
                writer.writeXsiNil();
            }
            writer.writeEndElement();
        }
    }
    // ELEMENT: tag
    final List<Tag> tag = tldTaglib.tag;
    if (tag != null) {
        for (final Tag tagItem : tag) {
            writer.writeStartElement(prefix, "tag", "http://java.sun.com/xml/ns/javaee");
            if (tagItem != null) {
                writeTag(writer, tagItem, context);
            } else {
                writer.writeXsiNil();
            }
            writer.writeEndElement();
        }
    }
    // ELEMENT: tagFile
    final List<TagFile> tagFile = tldTaglib.tagFile;
    if (tagFile != null) {
        for (final TagFile tagFileItem : tagFile) {
            if (tagFileItem != null) {
                writer.writeStartElement(prefix, "tag-file", "http://java.sun.com/xml/ns/javaee");
                writeTagFile(writer, tagFileItem, context);
                writer.writeEndElement();
            }
        }
    }
    // ELEMENT: function
    final List<Function> function = tldTaglib.function;
    if (function != null) {
        for (final Function functionItem : function) {
            writer.writeStartElement(prefix, "function", "http://java.sun.com/xml/ns/javaee");
            if (functionItem != null) {
                writeFunction(writer, functionItem, context);
            } else {
                writer.writeXsiNil();
            }
            writer.writeEndElement();
        }
    }
    // ELEMENT: taglibExtension
    final List<TldExtension> taglibExtension = tldTaglib.taglibExtension;
    if (taglibExtension != null) {
        for (final TldExtension taglibExtensionItem : taglibExtension) {
            if (taglibExtensionItem != null) {
                writer.writeStartElement(prefix, "taglib-extension", "http://java.sun.com/xml/ns/javaee");
                writeTldExtension(writer, taglibExtensionItem, context);
                writer.writeEndElement();
            }
        }
    }
    context.afterMarshal(tldTaglib, LifecycleCallback.NONE);
}
Also used : Listener$JAXB.readListener(org.apache.openejb.jee.Listener$JAXB.readListener) Listener$JAXB.writeListener(org.apache.openejb.jee.Listener$JAXB.writeListener) CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) TagFile$JAXB.readTagFile(org.apache.openejb.jee.TagFile$JAXB.readTagFile) TagFile$JAXB.writeTagFile(org.apache.openejb.jee.TagFile$JAXB.writeTagFile) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) Function$JAXB.readFunction(org.apache.openejb.jee.Function$JAXB.readFunction) Function$JAXB.writeFunction(org.apache.openejb.jee.Function$JAXB.writeFunction) TldExtension$JAXB.readTldExtension(org.apache.openejb.jee.TldExtension$JAXB.readTldExtension) TldExtension$JAXB.writeTldExtension(org.apache.openejb.jee.TldExtension$JAXB.writeTldExtension) Icon$JAXB.readIcon(org.apache.openejb.jee.Icon$JAXB.readIcon) Icon$JAXB.writeIcon(org.apache.openejb.jee.Icon$JAXB.writeIcon) Tag$JAXB.readTag(org.apache.openejb.jee.Tag$JAXB.readTag) Tag$JAXB.writeTag(org.apache.openejb.jee.Tag$JAXB.writeTag) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) Validator$JAXB.readValidator(org.apache.openejb.jee.Validator$JAXB.readValidator) Validator$JAXB.writeValidator(org.apache.openejb.jee.Validator$JAXB.writeValidator)

Example 4 with Listener$JAXB.writeListener

use of org.apache.openejb.jee.Listener$JAXB.writeListener in project tomee by apache.

the class AppInfoBuilder method buildWebModules.

private void buildWebModules(final AppModule appModule, final JndiEncInfoBuilder jndiEncInfoBuilder, final AppInfo appInfo) throws OpenEJBException {
    for (final WebModule webModule : appModule.getWebModules()) {
        final WebApp webApp = webModule.getWebApp();
        final WebAppInfo webAppInfo = new WebAppInfo();
        webAppInfo.description = webApp.getDescription();
        webAppInfo.displayName = webApp.getDisplayName();
        webAppInfo.path = webModule.getJarLocation();
        webAppInfo.moduleId = webModule.getModuleId();
        webAppInfo.watchedResources.addAll(webModule.getWatchedResources());
        webAppInfo.validationInfo = ValidatorBuilder.getInfo(webModule.getValidationConfig());
        webAppInfo.uniqueId = webModule.getUniqueId();
        webAppInfo.restApplications.addAll(webModule.getRestApplications());
        webAppInfo.restClass.addAll(webModule.getRestClasses());
        webAppInfo.ejbWebServices.addAll(webModule.getEjbWebServices());
        webAppInfo.ejbRestServices.addAll(webModule.getEjbRestServices());
        webAppInfo.jaxRsProviders.addAll(webModule.getJaxrsProviders());
        for (final Map.Entry<String, Set<String>> entry : webModule.getWebAnnotatedClasses().entrySet()) {
            final ClassListInfo info = new ClassListInfo();
            info.name = entry.getKey();
            info.list.addAll(entry.getValue());
            webAppInfo.webAnnotatedClasses.add(info);
        }
        for (final Map.Entry<String, Set<String>> entry : webModule.getJsfAnnotatedClasses().entrySet()) {
            final ClassListInfo info = new ClassListInfo();
            info.name = entry.getKey();
            info.list.addAll(entry.getValue());
            webAppInfo.jsfAnnotatedClasses.add(info);
        }
        webAppInfo.host = webModule.getHost();
        if (!webModule.isStandaloneModule() && USE_EAR_AS_CONTEXT_ROOT_BASE) {
            webAppInfo.contextRoot = appModule.getModuleId() + "/" + webModule.getContextRoot();
        } else {
            webAppInfo.contextRoot = webModule.getContextRoot();
        }
        webAppInfo.defaultContextPath = webModule.getDefaultContextPath();
        webAppInfo.sessionTimeout = 30;
        if (webModule.getWebApp() != null && webModule.getWebApp().getSessionConfig() != null) {
            for (final SessionConfig sessionConfig : webModule.getWebApp().getSessionConfig()) {
                if (sessionConfig.getSessionTimeout() != null) {
                    webAppInfo.sessionTimeout = sessionConfig.getSessionTimeout();
                    break;
                }
            }
        }
        jndiEncInfoBuilder.build(webApp, webModule.getJarLocation(), webAppInfo.moduleId, webModule.getModuleUri(), webAppInfo.jndiEnc, webAppInfo.jndiEnc);
        webAppInfo.portInfos.addAll(this.configureWebservices(webModule.getWebservices()));
        for (final Servlet servlet : webModule.getWebApp().getServlet()) {
            final ServletInfo servletInfo = new ServletInfo();
            servletInfo.servletName = servlet.getServletName();
            servletInfo.servletClass = servlet.getServletClass();
            servletInfo.mappings = webModule.getWebApp().getServletMappings(servletInfo.servletName);
            for (final ParamValue pv : servlet.getInitParam()) {
                final ParamValueInfo pvi = new ParamValueInfo();
                pvi.name = pv.getParamName();
                pvi.value = pv.getParamValue();
                servletInfo.initParams.add(pvi);
            }
            webAppInfo.servlets.add(servletInfo);
        }
        for (final Listener listener : webModule.getWebApp().getListener()) {
            final ListenerInfo listenerInfo = new ListenerInfo();
            listenerInfo.classname = listener.getListenerClass();
            webAppInfo.listeners.add(listenerInfo);
        }
        for (final Filter filter : webModule.getWebApp().getFilter()) {
            final FilterInfo filterInfo = new FilterInfo();
            filterInfo.name = filter.getFilterName();
            filterInfo.classname = filter.getFilterClass();
            filterInfo.mappings = webModule.getWebApp().getFilterMappings(filter.getFilterName());
            for (final ParamValue pv : filter.getInitParam()) {
                filterInfo.initParams.put(pv.getParamName(), pv.getParamValue());
            }
            webAppInfo.filters.add(filterInfo);
        }
        appInfo.webApps.add(webAppInfo);
    }
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet) MessageListener(org.apache.openejb.jee.MessageListener) Listener(org.apache.openejb.jee.Listener) SessionConfig(org.apache.openejb.jee.SessionConfig) ParamValue(org.apache.openejb.jee.ParamValue) ClassListInfo(org.apache.openejb.assembler.classic.ClassListInfo) ServletInfo(org.apache.openejb.assembler.classic.ServletInfo) WebAppInfo(org.apache.openejb.assembler.classic.WebAppInfo) ListenerInfo(org.apache.openejb.assembler.classic.ListenerInfo) ParamValueInfo(org.apache.openejb.assembler.classic.ParamValueInfo) Filter(org.apache.openejb.jee.Filter) Servlet(org.apache.openejb.jee.Servlet) Map(java.util.Map) HashMap(java.util.HashMap) FilterInfo(org.apache.openejb.assembler.classic.FilterInfo) WebApp(org.apache.openejb.jee.WebApp)

Example 5 with Listener$JAXB.writeListener

use of org.apache.openejb.jee.Listener$JAXB.writeListener in project tomee by apache.

the class WebApp$JAXB method _read.

public static final WebApp _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final WebApp webApp = new WebApp();
    context.beforeUnmarshal(webApp, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    ArrayList<Text> displayNames = null;
    LocalCollection<Icon> icon = null;
    List<Empty> distributable = null;
    List<ParamValue> contextParam = null;
    List<Filter> filter = null;
    List<FilterMapping> filterMapping = null;
    List<Listener> listener = null;
    List<Servlet> servlet = null;
    List<ServletMapping> servletMapping = null;
    List<SessionConfig> sessionConfig = null;
    List<MimeMapping> mimeMapping = null;
    List<WelcomeFileList> welcomeFileList = null;
    List<ErrorPage> errorPage = null;
    List<JspConfig> jspConfig = null;
    List<SecurityConstraint> securityConstraint = null;
    List<LoginConfig> loginConfig = null;
    List<SecurityRole> securityRole = null;
    List<LocaleEncodingMappingList> localeEncodingMappingList = null;
    KeyedCollection<String, EnvEntry> envEntry = null;
    KeyedCollection<String, EjbRef> ejbRef = null;
    KeyedCollection<String, EjbLocalRef> ejbLocalRef = null;
    KeyedCollection<String, ServiceRef> serviceRef = null;
    KeyedCollection<String, ResourceRef> resourceRef = null;
    KeyedCollection<String, ResourceEnvRef> resourceEnvRef = null;
    KeyedCollection<String, MessageDestinationRef> messageDestinationRef = null;
    KeyedCollection<String, PersistenceContextRef> persistenceContextRef = null;
    KeyedCollection<String, PersistenceUnitRef> persistenceUnitRef = null;
    List<org.apache.openejb.jee.LifecycleCallback> postConstruct = null;
    List<org.apache.openejb.jee.LifecycleCallback> preDestroy = null;
    List<MessageDestination> messageDestination = null;
    KeyedCollection<String, DataSource> dataSource = null;
    KeyedCollection<String, JMSConnectionFactory> jmsConnectionFactories = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("web-appType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, WebApp.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, webApp);
            webApp.id = id;
        } else if (("metadata-complete" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
            // ATTRIBUTE: metadataComplete
            final Boolean metadataComplete = ("1".equals(attribute.getValue()) || "true".equals(attribute.getValue()));
            webApp.metadataComplete = metadataComplete;
        } else if (("version" == attribute.getLocalName()) && (("" == attribute.getNamespace()) || (attribute.getNamespace() == null))) {
            // ATTRIBUTE: version
            webApp.version = Adapters.collapsedStringAdapterAdapter.unmarshal(attribute.getValue());
        } else if (XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI != attribute.getNamespace()) {
            context.unexpectedAttribute(attribute, new QName("", "id"), new QName("", "metadata-complete"), new QName("", "version"));
        }
    }
    // 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 (("display-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: displayNames
            final Text displayNamesItem = readText(elementReader, context);
            if (displayNames == null) {
                displayNames = new ArrayList<Text>();
            }
            displayNames.add(displayNamesItem);
        } else if (("icon" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: icon
            final Icon iconItem = readIcon(elementReader, context);
            if (icon == null) {
                icon = webApp.icon;
                if (icon != null) {
                    icon.clear();
                } else {
                    icon = new LocalCollection<Icon>();
                }
            }
            icon.add(iconItem);
        } else if (("distributable" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: distributable
            final Empty distributableItem = readEmpty(elementReader, context);
            if (distributable == null) {
                distributable = webApp.distributable;
                if (distributable != null) {
                    distributable.clear();
                } else {
                    distributable = new ArrayList<Empty>();
                }
            }
            distributable.add(distributableItem);
        } else if (("context-param" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: contextParam
            final ParamValue contextParamItem = readParamValue(elementReader, context);
            if (contextParam == null) {
                contextParam = webApp.contextParam;
                if (contextParam != null) {
                    contextParam.clear();
                } else {
                    contextParam = new ArrayList<ParamValue>();
                }
            }
            contextParam.add(contextParamItem);
        } else if (("filter" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: filter
            final Filter filterItem = readFilter(elementReader, context);
            if (filter == null) {
                filter = webApp.filter;
                if (filter != null) {
                    filter.clear();
                } else {
                    filter = new ArrayList<Filter>();
                }
            }
            filter.add(filterItem);
        } else if (("filter-mapping" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: filterMapping
            final FilterMapping filterMappingItem = readFilterMapping(elementReader, context);
            if (filterMapping == null) {
                filterMapping = webApp.filterMapping;
                if (filterMapping != null) {
                    filterMapping.clear();
                } else {
                    filterMapping = new ArrayList<FilterMapping>();
                }
            }
            filterMapping.add(filterMappingItem);
        } else if (("listener" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: listener
            final Listener listenerItem = readListener(elementReader, context);
            if (listener == null) {
                listener = webApp.listener;
                if (listener != null) {
                    listener.clear();
                } else {
                    listener = new ArrayList<Listener>();
                }
            }
            listener.add(listenerItem);
        } else if (("servlet" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: servlet
            final Servlet servletItem = readServlet(elementReader, context);
            if (servlet == null) {
                servlet = webApp.servlet;
                if (servlet != null) {
                    servlet.clear();
                } else {
                    servlet = new ArrayList<Servlet>();
                }
            }
            servlet.add(servletItem);
        } else if (("servlet-mapping" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: servletMapping
            final ServletMapping servletMappingItem = readServletMapping(elementReader, context);
            if (servletMapping == null) {
                servletMapping = webApp.servletMapping;
                if (servletMapping != null) {
                    servletMapping.clear();
                } else {
                    servletMapping = new ArrayList<ServletMapping>();
                }
            }
            servletMapping.add(servletMappingItem);
        } else if (("session-config" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: sessionConfig
            final SessionConfig sessionConfigItem = readSessionConfig(elementReader, context);
            if (sessionConfig == null) {
                sessionConfig = webApp.sessionConfig;
                if (sessionConfig != null) {
                    sessionConfig.clear();
                } else {
                    sessionConfig = new ArrayList<SessionConfig>();
                }
            }
            sessionConfig.add(sessionConfigItem);
        } else if (("mime-mapping" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: mimeMapping
            final MimeMapping mimeMappingItem = readMimeMapping(elementReader, context);
            if (mimeMapping == null) {
                mimeMapping = webApp.mimeMapping;
                if (mimeMapping != null) {
                    mimeMapping.clear();
                } else {
                    mimeMapping = new ArrayList<MimeMapping>();
                }
            }
            mimeMapping.add(mimeMappingItem);
        } else if (("welcome-file-list" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: welcomeFileList
            final WelcomeFileList welcomeFileListItem = readWelcomeFileList(elementReader, context);
            if (welcomeFileList == null) {
                welcomeFileList = webApp.welcomeFileList;
                if (welcomeFileList != null) {
                    welcomeFileList.clear();
                } else {
                    welcomeFileList = new ArrayList<WelcomeFileList>();
                }
            }
            welcomeFileList.add(welcomeFileListItem);
        } else if (("error-page" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: errorPage
            final ErrorPage errorPageItem = readErrorPage(elementReader, context);
            if (errorPage == null) {
                errorPage = webApp.errorPage;
                if (errorPage != null) {
                    errorPage.clear();
                } else {
                    errorPage = new ArrayList<ErrorPage>();
                }
            }
            errorPage.add(errorPageItem);
        } else if (("taglib" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: taglib
            final Taglib taglib = readTaglib(elementReader, context);
            try {
                webApp.setTaglib(taglib);
            } catch (final Exception e) {
                context.setterError(reader, WebApp.class, "setTaglib", Taglib.class, e);
            }
        } else if (("jsp-config" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: jspConfig
            final JspConfig jspConfigItem = readJspConfig(elementReader, context);
            if (jspConfig == null) {
                jspConfig = webApp.jspConfig;
                if (jspConfig != null) {
                    jspConfig.clear();
                } else {
                    jspConfig = new ArrayList<JspConfig>();
                }
            }
            jspConfig.add(jspConfigItem);
        } else if (("security-constraint" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: securityConstraint
            final SecurityConstraint securityConstraintItem = readSecurityConstraint(elementReader, context);
            if (securityConstraint == null) {
                securityConstraint = webApp.securityConstraint;
                if (securityConstraint != null) {
                    securityConstraint.clear();
                } else {
                    securityConstraint = new ArrayList<SecurityConstraint>();
                }
            }
            securityConstraint.add(securityConstraintItem);
        } else if (("login-config" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: loginConfig
            final LoginConfig loginConfigItem = readLoginConfig(elementReader, context);
            if (loginConfig == null) {
                loginConfig = webApp.loginConfig;
                if (loginConfig != null) {
                    loginConfig.clear();
                } else {
                    loginConfig = new ArrayList<LoginConfig>();
                }
            }
            loginConfig.add(loginConfigItem);
        } else 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 = webApp.securityRole;
                if (securityRole != null) {
                    securityRole.clear();
                } else {
                    securityRole = new ArrayList<SecurityRole>();
                }
            }
            securityRole.add(securityRoleItem);
        } else if (("locale-encoding-mapping-list" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: localeEncodingMappingList
            final LocaleEncodingMappingList localeEncodingMappingListItem = readLocaleEncodingMappingList(elementReader, context);
            if (localeEncodingMappingList == null) {
                localeEncodingMappingList = webApp.localeEncodingMappingList;
                if (localeEncodingMappingList != null) {
                    localeEncodingMappingList.clear();
                } else {
                    localeEncodingMappingList = new ArrayList<LocaleEncodingMappingList>();
                }
            }
            localeEncodingMappingList.add(localeEncodingMappingListItem);
        } else if (("env-entry" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: envEntry
            final EnvEntry envEntryItem = readEnvEntry(elementReader, context);
            if (envEntry == null) {
                envEntry = webApp.envEntry;
                if (envEntry != null) {
                    envEntry.clear();
                } else {
                    envEntry = new KeyedCollection<String, EnvEntry>();
                }
            }
            envEntry.add(envEntryItem);
        } else if (("ejb-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: ejbRef
            final EjbRef ejbRefItem = readEjbRef(elementReader, context);
            if (ejbRef == null) {
                ejbRef = webApp.ejbRef;
                if (ejbRef != null) {
                    ejbRef.clear();
                } else {
                    ejbRef = new KeyedCollection<String, EjbRef>();
                }
            }
            ejbRef.add(ejbRefItem);
        } else if (("ejb-local-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: ejbLocalRef
            final EjbLocalRef ejbLocalRefItem = readEjbLocalRef(elementReader, context);
            if (ejbLocalRef == null) {
                ejbLocalRef = webApp.ejbLocalRef;
                if (ejbLocalRef != null) {
                    ejbLocalRef.clear();
                } else {
                    ejbLocalRef = new KeyedCollection<String, EjbLocalRef>();
                }
            }
            ejbLocalRef.add(ejbLocalRefItem);
        } else if (("service-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: serviceRef
            final ServiceRef serviceRefItem = readServiceRef(elementReader, context);
            if (serviceRef == null) {
                serviceRef = webApp.serviceRef;
                if (serviceRef != null) {
                    serviceRef.clear();
                } else {
                    serviceRef = new KeyedCollection<String, ServiceRef>();
                }
            }
            serviceRef.add(serviceRefItem);
        } else if (("resource-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: resourceRef
            final ResourceRef resourceRefItem = readResourceRef(elementReader, context);
            if (resourceRef == null) {
                resourceRef = webApp.resourceRef;
                if (resourceRef != null) {
                    resourceRef.clear();
                } else {
                    resourceRef = new KeyedCollection<String, ResourceRef>();
                }
            }
            resourceRef.add(resourceRefItem);
        } else if (("resource-env-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: resourceEnvRef
            final ResourceEnvRef resourceEnvRefItem = readResourceEnvRef(elementReader, context);
            if (resourceEnvRef == null) {
                resourceEnvRef = webApp.resourceEnvRef;
                if (resourceEnvRef != null) {
                    resourceEnvRef.clear();
                } else {
                    resourceEnvRef = new KeyedCollection<String, ResourceEnvRef>();
                }
            }
            resourceEnvRef.add(resourceEnvRefItem);
        } else if (("message-destination-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: messageDestinationRef
            final MessageDestinationRef messageDestinationRefItem = readMessageDestinationRef(elementReader, context);
            if (messageDestinationRef == null) {
                messageDestinationRef = webApp.messageDestinationRef;
                if (messageDestinationRef != null) {
                    messageDestinationRef.clear();
                } else {
                    messageDestinationRef = new KeyedCollection<String, MessageDestinationRef>();
                }
            }
            messageDestinationRef.add(messageDestinationRefItem);
        } else if (("persistence-context-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceContextRef
            final PersistenceContextRef persistenceContextRefItem = readPersistenceContextRef(elementReader, context);
            if (persistenceContextRef == null) {
                persistenceContextRef = webApp.persistenceContextRef;
                if (persistenceContextRef != null) {
                    persistenceContextRef.clear();
                } else {
                    persistenceContextRef = new KeyedCollection<String, PersistenceContextRef>();
                }
            }
            persistenceContextRef.add(persistenceContextRefItem);
        } else if (("persistence-unit-ref" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceUnitRef
            final PersistenceUnitRef persistenceUnitRefItem = readPersistenceUnitRef(elementReader, context);
            if (persistenceUnitRef == null) {
                persistenceUnitRef = webApp.persistenceUnitRef;
                if (persistenceUnitRef != null) {
                    persistenceUnitRef.clear();
                } else {
                    persistenceUnitRef = new KeyedCollection<String, PersistenceUnitRef>();
                }
            }
            persistenceUnitRef.add(persistenceUnitRefItem);
        } else if (("post-construct" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: postConstruct
            final org.apache.openejb.jee.LifecycleCallback postConstructItem = readLifecycleCallback(elementReader, context);
            if (postConstruct == null) {
                postConstruct = webApp.postConstruct;
                if (postConstruct != null) {
                    postConstruct.clear();
                } else {
                    postConstruct = new ArrayList<org.apache.openejb.jee.LifecycleCallback>();
                }
            }
            postConstruct.add(postConstructItem);
        } else if (("pre-destroy" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: preDestroy
            final org.apache.openejb.jee.LifecycleCallback preDestroyItem = readLifecycleCallback(elementReader, context);
            if (preDestroy == null) {
                preDestroy = webApp.preDestroy;
                if (preDestroy != null) {
                    preDestroy.clear();
                } else {
                    preDestroy = new ArrayList<org.apache.openejb.jee.LifecycleCallback>();
                }
            }
            preDestroy.add(preDestroyItem);
        } 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 = webApp.messageDestination;
                if (messageDestination != null) {
                    messageDestination.clear();
                } else {
                    messageDestination = new ArrayList<MessageDestination>();
                }
            }
            messageDestination.add(messageDestinationItem);
        } else if (("absolute-ordering" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: absoluteOrdering
            final AbsoluteOrdering absoluteOrdering = readAbsoluteOrdering(elementReader, context);
            webApp.absoluteOrdering = absoluteOrdering;
        } else if (("data-source" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: dataSource
            final DataSource dataSourceItem = readDataSource(elementReader, context);
            if (dataSource == null) {
                dataSource = webApp.dataSource;
                if (dataSource != null) {
                    dataSource.clear();
                } else {
                    dataSource = new KeyedCollection<String, DataSource>();
                }
            }
            dataSource.add(dataSourceItem);
        } else if (("jms-connection-factory" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: dataSource
            final JMSConnectionFactory connectionFactory = readJMSConnectionFactory(elementReader, context);
            if (jmsConnectionFactories == null) {
                jmsConnectionFactories = webApp.jmsConnectionFactories;
                if (jmsConnectionFactories != null) {
                    jmsConnectionFactories.clear();
                } else {
                    jmsConnectionFactories = new KeyedCollection<>();
                }
            }
            jmsConnectionFactories.add(connectionFactory);
        } else if (("module-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: moduleName
            final String moduleNameRaw = elementReader.getElementAsString();
            final String moduleName;
            try {
                moduleName = Adapters.collapsedStringAdapterAdapter.unmarshal(moduleNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            webApp.moduleName = moduleName;
        } else if (("default-context-path" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: defaultContextPath
            final String defaultContextPathRaw = elementReader.getElementAsString();
            final String defaultContextPath;
            try {
                defaultContextPath = Adapters.collapsedStringAdapterAdapter.unmarshal(defaultContextPathRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            webApp.defaultContextPath = defaultContextPath;
        }
    /*
            else not yet used so ignored, here will come servlet 3.1 elements we don't parse cause don't need yet
            */
    }
    if (descriptions != null) {
        try {
            webApp.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, WebApp.class, "setDescriptions", Text[].class, e);
        }
    }
    if (displayNames != null) {
        try {
            webApp.setDisplayNames(displayNames.toArray(new Text[displayNames.size()]));
        } catch (final Exception e) {
            context.setterError(reader, WebApp.class, "setDisplayNames", Text[].class, e);
        }
    }
    if (icon != null) {
        webApp.icon = icon;
    }
    if (distributable != null) {
        webApp.distributable = distributable;
    }
    if (contextParam != null) {
        webApp.contextParam = contextParam;
    }
    if (filter != null) {
        webApp.filter = filter;
    }
    if (filterMapping != null) {
        webApp.filterMapping = filterMapping;
    }
    if (listener != null) {
        webApp.listener = listener;
    }
    if (servlet != null) {
        webApp.servlet = servlet;
    }
    if (servletMapping != null) {
        webApp.servletMapping = servletMapping;
    }
    if (sessionConfig != null) {
        webApp.sessionConfig = sessionConfig;
    }
    if (mimeMapping != null) {
        webApp.mimeMapping = mimeMapping;
    }
    if (welcomeFileList != null) {
        webApp.welcomeFileList = welcomeFileList;
    }
    if (errorPage != null) {
        webApp.errorPage = errorPage;
    }
    if (jspConfig != null) {
        webApp.jspConfig = jspConfig;
    }
    if (securityConstraint != null) {
        webApp.securityConstraint = securityConstraint;
    }
    if (loginConfig != null) {
        webApp.loginConfig = loginConfig;
    }
    if (securityRole != null) {
        webApp.securityRole = securityRole;
    }
    if (localeEncodingMappingList != null) {
        webApp.localeEncodingMappingList = localeEncodingMappingList;
    }
    if (envEntry != null) {
        webApp.envEntry = envEntry;
    }
    if (ejbRef != null) {
        webApp.ejbRef = ejbRef;
    }
    if (ejbLocalRef != null) {
        webApp.ejbLocalRef = ejbLocalRef;
    }
    if (serviceRef != null) {
        webApp.serviceRef = serviceRef;
    }
    if (resourceRef != null) {
        webApp.resourceRef = resourceRef;
    }
    if (resourceEnvRef != null) {
        webApp.resourceEnvRef = resourceEnvRef;
    }
    if (messageDestinationRef != null) {
        webApp.messageDestinationRef = messageDestinationRef;
    }
    if (persistenceContextRef != null) {
        webApp.persistenceContextRef = persistenceContextRef;
    }
    if (persistenceUnitRef != null) {
        webApp.persistenceUnitRef = persistenceUnitRef;
    }
    if (postConstruct != null) {
        webApp.postConstruct = postConstruct;
    }
    if (preDestroy != null) {
        webApp.preDestroy = preDestroy;
    }
    if (messageDestination != null) {
        webApp.messageDestination = messageDestination;
    }
    if (dataSource != null) {
        webApp.dataSource = dataSource;
    }
    context.afterUnmarshal(webApp, org.metatype.sxc.jaxb.LifecycleCallback.NONE);
    return webApp;
}
Also used : SecurityRole$JAXB.readSecurityRole(org.apache.openejb.jee.SecurityRole$JAXB.readSecurityRole) SecurityRole$JAXB.writeSecurityRole(org.apache.openejb.jee.SecurityRole$JAXB.writeSecurityRole) ErrorPage$JAXB.writeErrorPage(org.apache.openejb.jee.ErrorPage$JAXB.writeErrorPage) ErrorPage$JAXB.readErrorPage(org.apache.openejb.jee.ErrorPage$JAXB.readErrorPage) JspConfig$JAXB.writeJspConfig(org.apache.openejb.jee.JspConfig$JAXB.writeJspConfig) JspConfig$JAXB.readJspConfig(org.apache.openejb.jee.JspConfig$JAXB.readJspConfig) ArrayList(java.util.ArrayList) Taglib$JAXB.writeTaglib(org.apache.openejb.jee.Taglib$JAXB.writeTaglib) Taglib$JAXB.readTaglib(org.apache.openejb.jee.Taglib$JAXB.readTaglib) LocaleEncodingMappingList$JAXB.readLocaleEncodingMappingList(org.apache.openejb.jee.LocaleEncodingMappingList$JAXB.readLocaleEncodingMappingList) LocaleEncodingMappingList$JAXB.writeLocaleEncodingMappingList(org.apache.openejb.jee.LocaleEncodingMappingList$JAXB.writeLocaleEncodingMappingList) ResourceEnvRef$JAXB.readResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef$JAXB.readResourceEnvRef) ResourceEnvRef$JAXB.writeResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef$JAXB.writeResourceEnvRef) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader) ServletMapping$JAXB.readServletMapping(org.apache.openejb.jee.ServletMapping$JAXB.readServletMapping) ServletMapping$JAXB.writeServletMapping(org.apache.openejb.jee.ServletMapping$JAXB.writeServletMapping) MessageDestination$JAXB.readMessageDestination(org.apache.openejb.jee.MessageDestination$JAXB.readMessageDestination) MessageDestination$JAXB.writeMessageDestination(org.apache.openejb.jee.MessageDestination$JAXB.writeMessageDestination) DataSource$JAXB.writeDataSource(org.apache.openejb.jee.DataSource$JAXB.writeDataSource) DataSource$JAXB.readDataSource(org.apache.openejb.jee.DataSource$JAXB.readDataSource) AbsoluteOrdering$JAXB.readAbsoluteOrdering(org.apache.openejb.jee.AbsoluteOrdering$JAXB.readAbsoluteOrdering) AbsoluteOrdering$JAXB.writeAbsoluteOrdering(org.apache.openejb.jee.AbsoluteOrdering$JAXB.writeAbsoluteOrdering) Icon$JAXB.readIcon(org.apache.openejb.jee.Icon$JAXB.readIcon) Icon$JAXB.writeIcon(org.apache.openejb.jee.Icon$JAXB.writeIcon) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) ServiceRef$JAXB.readServiceRef(org.apache.openejb.jee.ServiceRef$JAXB.readServiceRef) ServiceRef$JAXB.writeServiceRef(org.apache.openejb.jee.ServiceRef$JAXB.writeServiceRef) Listener$JAXB.readListener(org.apache.openejb.jee.Listener$JAXB.readListener) Listener$JAXB.writeListener(org.apache.openejb.jee.Listener$JAXB.writeListener) Attribute(org.metatype.sxc.util.Attribute) PersistenceContextRef$JAXB.readPersistenceContextRef(org.apache.openejb.jee.PersistenceContextRef$JAXB.readPersistenceContextRef) PersistenceContextRef$JAXB.writePersistenceContextRef(org.apache.openejb.jee.PersistenceContextRef$JAXB.writePersistenceContextRef) ParamValue$JAXB.readParamValue(org.apache.openejb.jee.ParamValue$JAXB.readParamValue) ParamValue$JAXB.writeParamValue(org.apache.openejb.jee.ParamValue$JAXB.writeParamValue) SessionConfig$JAXB.readSessionConfig(org.apache.openejb.jee.SessionConfig$JAXB.readSessionConfig) SessionConfig$JAXB.writeSessionConfig(org.apache.openejb.jee.SessionConfig$JAXB.writeSessionConfig) FilterMapping$JAXB.writeFilterMapping(org.apache.openejb.jee.FilterMapping$JAXB.writeFilterMapping) FilterMapping$JAXB.readFilterMapping(org.apache.openejb.jee.FilterMapping$JAXB.readFilterMapping) SecurityConstraint$JAXB.readSecurityConstraint(org.apache.openejb.jee.SecurityConstraint$JAXB.readSecurityConstraint) SecurityConstraint$JAXB.writeSecurityConstraint(org.apache.openejb.jee.SecurityConstraint$JAXB.writeSecurityConstraint) MessageDestinationRef$JAXB.writeMessageDestinationRef(org.apache.openejb.jee.MessageDestinationRef$JAXB.writeMessageDestinationRef) MessageDestinationRef$JAXB.readMessageDestinationRef(org.apache.openejb.jee.MessageDestinationRef$JAXB.readMessageDestinationRef) Empty$JAXB.writeEmpty(org.apache.openejb.jee.Empty$JAXB.writeEmpty) Empty$JAXB.readEmpty(org.apache.openejb.jee.Empty$JAXB.readEmpty) EjbRef$JAXB.readEjbRef(org.apache.openejb.jee.EjbRef$JAXB.readEjbRef) EjbRef$JAXB.writeEjbRef(org.apache.openejb.jee.EjbRef$JAXB.writeEjbRef) LoginConfig$JAXB.readLoginConfig(org.apache.openejb.jee.LoginConfig$JAXB.readLoginConfig) LoginConfig$JAXB.writeLoginConfig(org.apache.openejb.jee.LoginConfig$JAXB.writeLoginConfig) Servlet$JAXB.writeServlet(org.apache.openejb.jee.Servlet$JAXB.writeServlet) Servlet$JAXB.readServlet(org.apache.openejb.jee.Servlet$JAXB.readServlet) MimeMapping$JAXB.readMimeMapping(org.apache.openejb.jee.MimeMapping$JAXB.readMimeMapping) MimeMapping$JAXB.writeMimeMapping(org.apache.openejb.jee.MimeMapping$JAXB.writeMimeMapping) PersistenceUnitRef$JAXB.readPersistenceUnitRef(org.apache.openejb.jee.PersistenceUnitRef$JAXB.readPersistenceUnitRef) PersistenceUnitRef$JAXB.writePersistenceUnitRef(org.apache.openejb.jee.PersistenceUnitRef$JAXB.writePersistenceUnitRef) EnvEntry$JAXB.readEnvEntry(org.apache.openejb.jee.EnvEntry$JAXB.readEnvEntry) EnvEntry$JAXB.writeEnvEntry(org.apache.openejb.jee.EnvEntry$JAXB.writeEnvEntry) EjbLocalRef$JAXB.writeEjbLocalRef(org.apache.openejb.jee.EjbLocalRef$JAXB.writeEjbLocalRef) EjbLocalRef$JAXB.readEjbLocalRef(org.apache.openejb.jee.EjbLocalRef$JAXB.readEjbLocalRef) CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) WelcomeFileList$JAXB.readWelcomeFileList(org.apache.openejb.jee.WelcomeFileList$JAXB.readWelcomeFileList) WelcomeFileList$JAXB.writeWelcomeFileList(org.apache.openejb.jee.WelcomeFileList$JAXB.writeWelcomeFileList) 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) JMSConnectionFactory$JAXB.readJMSConnectionFactory(org.apache.openejb.jee.JMSConnectionFactory$JAXB.readJMSConnectionFactory) Filter$JAXB.readFilter(org.apache.openejb.jee.Filter$JAXB.readFilter) Filter$JAXB.writeFilter(org.apache.openejb.jee.Filter$JAXB.writeFilter) ResourceRef$JAXB.readResourceRef(org.apache.openejb.jee.ResourceRef$JAXB.readResourceRef) ResourceRef$JAXB.writeResourceRef(org.apache.openejb.jee.ResourceRef$JAXB.writeResourceRef) LifecycleCallback$JAXB.writeLifecycleCallback(org.apache.openejb.jee.LifecycleCallback$JAXB.writeLifecycleCallback) LifecycleCallback$JAXB.readLifecycleCallback(org.apache.openejb.jee.LifecycleCallback$JAXB.readLifecycleCallback)

Aggregations

CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)4 Icon$JAXB.readIcon (org.apache.openejb.jee.Icon$JAXB.readIcon)4 Icon$JAXB.writeIcon (org.apache.openejb.jee.Icon$JAXB.writeIcon)4 Listener$JAXB.readListener (org.apache.openejb.jee.Listener$JAXB.readListener)4 Listener$JAXB.writeListener (org.apache.openejb.jee.Listener$JAXB.writeListener)4 AbsoluteOrdering$JAXB.readAbsoluteOrdering (org.apache.openejb.jee.AbsoluteOrdering$JAXB.readAbsoluteOrdering)2 AbsoluteOrdering$JAXB.writeAbsoluteOrdering (org.apache.openejb.jee.AbsoluteOrdering$JAXB.writeAbsoluteOrdering)2 DataSource$JAXB.readDataSource (org.apache.openejb.jee.DataSource$JAXB.readDataSource)2 DataSource$JAXB.writeDataSource (org.apache.openejb.jee.DataSource$JAXB.writeDataSource)2 EjbLocalRef$JAXB.readEjbLocalRef (org.apache.openejb.jee.EjbLocalRef$JAXB.readEjbLocalRef)2 EjbLocalRef$JAXB.writeEjbLocalRef (org.apache.openejb.jee.EjbLocalRef$JAXB.writeEjbLocalRef)2 EjbRef$JAXB.readEjbRef (org.apache.openejb.jee.EjbRef$JAXB.readEjbRef)2 EjbRef$JAXB.writeEjbRef (org.apache.openejb.jee.EjbRef$JAXB.writeEjbRef)2 Empty$JAXB.readEmpty (org.apache.openejb.jee.Empty$JAXB.readEmpty)2 Empty$JAXB.writeEmpty (org.apache.openejb.jee.Empty$JAXB.writeEmpty)2 EnvEntry$JAXB.readEnvEntry (org.apache.openejb.jee.EnvEntry$JAXB.readEnvEntry)2 EnvEntry$JAXB.writeEnvEntry (org.apache.openejb.jee.EnvEntry$JAXB.writeEnvEntry)2 ErrorPage$JAXB.readErrorPage (org.apache.openejb.jee.ErrorPage$JAXB.readErrorPage)2 ErrorPage$JAXB.writeErrorPage (org.apache.openejb.jee.ErrorPage$JAXB.writeErrorPage)2 Filter$JAXB.readFilter (org.apache.openejb.jee.Filter$JAXB.readFilter)2