Search in sources :

Example 1 with InjectionTarget$JAXB.readInjectionTarget

use of org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget in project tomee by apache.

the class InjectionTest method setUp.

protected void setUp() throws Exception {
    super.setUp();
    System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
    final ConfigurationFactory config = new ConfigurationFactory();
    final Assembler assembler = new Assembler();
    assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class));
    assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
    assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
    // containers
    final StatelessSessionContainerInfo statelessContainerInfo = config.configureService(StatelessSessionContainerInfo.class);
    statelessContainerInfo.properties.setProperty("TimeOut", "10");
    statelessContainerInfo.properties.setProperty("MaxSize", "0");
    statelessContainerInfo.properties.setProperty("StrictPooling", "false");
    assembler.createContainer(statelessContainerInfo);
    // Setup the descriptor information
    final StatelessBean bean = new StatelessBean(WidgetBean.class);
    bean.addBusinessLocal(Widget.class.getName());
    bean.addBusinessRemote(RemoteWidget.class.getName());
    final EjbJar ejbJar = new EjbJar();
    ejbJar.addEnterpriseBean(bean);
    bean.getEnvEntry().add(new EnvEntry(name("myString"), "java.lang.String", "2"));
    bean.getEnvEntry().add(new EnvEntry(name("myDouble"), "java.lang.Double", "3.0"));
    bean.getEnvEntry().add(new EnvEntry(name("myLong"), "java.lang.Long", "4"));
    bean.getEnvEntry().add(new EnvEntry(name("myFloat"), "java.lang.Float", "5"));
    bean.getEnvEntry().add(new EnvEntry(name("myInteger"), "java.lang.Integer", "6"));
    bean.getEnvEntry().add(new EnvEntry(name("myShort"), "java.lang.Short", "7"));
    bean.getEnvEntry().add(new EnvEntry(name("myBoolean"), "java.lang.Boolean", "false"));
    bean.getEnvEntry().add(new EnvEntry(name("myByte"), "java.lang.Byte", "8"));
    bean.getEnvEntry().add(new EnvEntry(name("myCharacter"), "java.lang.Character", "9"));
    bean.getEnvEntry().add(new EnvEntry(name("myClass"), "java.lang.Class", Widget.class.getName()));
    bean.getEnvEntry().add(new EnvEntry(name("myTimeUnit"), TimeUnit.class.getName(), "HOURS"));
    final EnvEntry entry = new EnvEntry("injectedBoolean", (String) null, "true");
    entry.getInjectionTarget().add((new InjectionTarget(WidgetBean.class.getName(), "injectedBoolean")));
    bean.getEnvEntry().add(entry);
    final ResourceEnvRef resourceEnvRef = new ResourceEnvRef("injectedContext", (String) null);
    resourceEnvRef.getInjectionTarget().add((new InjectionTarget(WidgetBean.class.getName(), "injectedContext")));
    bean.getResourceEnvRef().add(resourceEnvRef);
    assembler.createApplication(config.configureApplication(ejbJar));
}
Also used : StatelessSessionContainerInfo(org.apache.openejb.assembler.classic.StatelessSessionContainerInfo) LocalInitialContextFactory(org.apache.openejb.core.LocalInitialContextFactory) ProxyFactoryInfo(org.apache.openejb.assembler.classic.ProxyFactoryInfo) TransactionServiceInfo(org.apache.openejb.assembler.classic.TransactionServiceInfo) StatelessBean(org.apache.openejb.jee.StatelessBean) InjectionTarget(org.apache.openejb.jee.InjectionTarget) Assembler(org.apache.openejb.assembler.classic.Assembler) SecurityServiceInfo(org.apache.openejb.assembler.classic.SecurityServiceInfo) ResourceEnvRef(org.apache.openejb.jee.ResourceEnvRef) EjbJar(org.apache.openejb.jee.EjbJar) EnvEntry(org.apache.openejb.jee.EnvEntry)

Example 2 with InjectionTarget$JAXB.readInjectionTarget

use of org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget in project tomee by apache.

the class AutoConfig method getType.

private String getType(final JndiReference ref, final ClassLoader classLoader) throws OpenEJBException {
    final String refType = ref.getType();
    if (refType != null) {
        return refType;
    }
    if (classLoader != null) {
        final Set<InjectionTarget> injections = ref.getInjectionTarget();
        for (final InjectionTarget injection : injections) {
            try {
                final Class target = classLoader.loadClass(injection.getInjectionTargetClass().trim());
                final Class type = IntrospectionSupport.getPropertyType(target, injection.getInjectionTargetName().trim());
                return type.getName();
            } catch (final ClassNotFoundException | NoSuchFieldException e) {
            // ignore
            }
        }
    }
    throw new OpenEJBException("Unable to infer type for " + ref.getKey());
}
Also used : OpenEJBException(org.apache.openejb.OpenEJBException) InjectionTarget(org.apache.openejb.jee.InjectionTarget)

Example 3 with InjectionTarget$JAXB.readInjectionTarget

use of org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget in project tomee by apache.

the class MessageDestinationRef$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final MessageDestinationRef messageDestinationRef, RuntimeContext context) throws Exception {
    if (messageDestinationRef == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (MessageDestinationRef.class != messageDestinationRef.getClass()) {
        context.unexpectedSubclass(writer, messageDestinationRef, MessageDestinationRef.class);
        return;
    }
    context.beforeMarshal(messageDestinationRef, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = messageDestinationRef.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(messageDestinationRef, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: descriptions
    Text[] descriptions = null;
    try {
        descriptions = messageDestinationRef.getDescriptions();
    } catch (final Exception e) {
        context.getterError(messageDestinationRef, "descriptions", MessageDestinationRef.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(messageDestinationRef, "descriptions");
            }
        }
    }
    // ELEMENT: messageDestinationRefName
    final String messageDestinationRefNameRaw = messageDestinationRef.messageDestinationRefName;
    String messageDestinationRefName = null;
    try {
        messageDestinationRefName = Adapters.collapsedStringAdapterAdapter.marshal(messageDestinationRefNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(messageDestinationRef, "messageDestinationRefName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (messageDestinationRefName != null) {
        writer.writeStartElement(prefix, "message-destination-ref-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(messageDestinationRefName);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(messageDestinationRef, "messageDestinationRefName");
    }
    // ELEMENT: messageDestinationType
    final String messageDestinationTypeRaw = messageDestinationRef.messageDestinationType;
    String messageDestinationType = null;
    try {
        messageDestinationType = Adapters.collapsedStringAdapterAdapter.marshal(messageDestinationTypeRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(messageDestinationRef, "messageDestinationType", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (messageDestinationType != null) {
        writer.writeStartElement(prefix, "message-destination-type", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(messageDestinationType);
        writer.writeEndElement();
    }
    // ELEMENT: messageDestinationUsage
    final MessageDestinationUsage messageDestinationUsage = messageDestinationRef.messageDestinationUsage;
    if (messageDestinationUsage != null) {
        writer.writeStartElement(prefix, "message-destination-usage", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(toStringMessageDestinationUsage(messageDestinationRef, null, context, messageDestinationUsage));
        writer.writeEndElement();
    }
    // ELEMENT: messageDestinationLink
    final String messageDestinationLinkRaw = messageDestinationRef.messageDestinationLink;
    String messageDestinationLink = null;
    try {
        messageDestinationLink = Adapters.collapsedStringAdapterAdapter.marshal(messageDestinationLinkRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(messageDestinationRef, "messageDestinationLink", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (messageDestinationLink != null) {
        writer.writeStartElement(prefix, "message-destination-link", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(messageDestinationLink);
        writer.writeEndElement();
    }
    // ELEMENT: mappedName
    final String mappedNameRaw = messageDestinationRef.mappedName;
    String mappedName = null;
    try {
        mappedName = Adapters.collapsedStringAdapterAdapter.marshal(mappedNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(messageDestinationRef, "mappedName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (mappedName != null) {
        writer.writeStartElement(prefix, "mapped-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(mappedName);
        writer.writeEndElement();
    }
    // ELEMENT: injectionTarget
    final Set<InjectionTarget> injectionTarget = messageDestinationRef.injectionTarget;
    if (injectionTarget != null) {
        for (final InjectionTarget injectionTargetItem : injectionTarget) {
            if (injectionTargetItem != null) {
                writer.writeStartElement(prefix, "injection-target", "http://java.sun.com/xml/ns/javaee");
                writeInjectionTarget(writer, injectionTargetItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(messageDestinationRef, "injectionTarget");
            }
        }
    }
    // ELEMENT: lookupName
    final String lookupNameRaw = messageDestinationRef.lookupName;
    String lookupName = null;
    try {
        lookupName = Adapters.collapsedStringAdapterAdapter.marshal(lookupNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(messageDestinationRef, "lookupName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (lookupName != null) {
        writer.writeStartElement(prefix, "lookup-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(lookupName);
        writer.writeEndElement();
    }
    context.afterMarshal(messageDestinationRef, LifecycleCallback.NONE);
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) MessageDestinationUsage$JAXB.toStringMessageDestinationUsage(org.apache.openejb.jee.MessageDestinationUsage$JAXB.toStringMessageDestinationUsage) MessageDestinationUsage$JAXB.parseMessageDestinationUsage(org.apache.openejb.jee.MessageDestinationUsage$JAXB.parseMessageDestinationUsage) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) InjectionTarget$JAXB.writeInjectionTarget(org.apache.openejb.jee.InjectionTarget$JAXB.writeInjectionTarget) InjectionTarget$JAXB.readInjectionTarget(org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext)

Example 4 with InjectionTarget$JAXB.readInjectionTarget

use of org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget in project tomee by apache.

the class PersistenceContextRef$JAXB method _read.

public static final PersistenceContextRef _read(final XoXMLStreamReader reader, RuntimeContext context) throws Exception {
    // Check for xsi:nil
    if (reader.isXsiNil()) {
        return null;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final PersistenceContextRef persistenceContextRef = new PersistenceContextRef();
    context.beforeUnmarshal(persistenceContextRef, LifecycleCallback.NONE);
    ArrayList<Text> descriptions = null;
    List<Property> persistenceProperty = null;
    Set<InjectionTarget> injectionTarget = null;
    // Check xsi:type
    final QName xsiType = reader.getXsiType();
    if (xsiType != null) {
        if (("persistence-context-refType" != xsiType.getLocalPart()) || ("http://java.sun.com/xml/ns/javaee" != xsiType.getNamespaceURI())) {
            return context.unexpectedXsiType(reader, PersistenceContextRef.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, persistenceContextRef);
            persistenceContextRef.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 (("persistence-context-ref-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceContextRefName
            final String persistenceContextRefNameRaw = elementReader.getElementAsString();
            final String persistenceContextRefName;
            try {
                persistenceContextRefName = Adapters.collapsedStringAdapterAdapter.unmarshal(persistenceContextRefNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            persistenceContextRef.persistenceContextRefName = persistenceContextRefName;
        } else if (("persistence-unit-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceUnitName
            final String persistenceUnitNameRaw = elementReader.getElementAsString();
            final String persistenceUnitName;
            try {
                persistenceUnitName = Adapters.collapsedStringAdapterAdapter.unmarshal(persistenceUnitNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            persistenceContextRef.persistenceUnitName = persistenceUnitName;
        } else if (("persistence-context-type" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceContextType
            final PersistenceContextType persistenceContextType = parsePersistenceContextType(elementReader, context, elementReader.getElementAsString());
            if (persistenceContextType != null) {
                persistenceContextRef.persistenceContextType = persistenceContextType;
            }
        } else if (("persistence-context-synchronization" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceContextType
            final PersistenceContextSynchronization synchronization = parsePersistenceContextSynchronization(elementReader, context, elementReader.getElementAsString());
            if (synchronization != null) {
                persistenceContextRef.persistenceContextSynchronization = synchronization;
            }
        } else if (("persistence-property" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: persistenceProperty
            final Property persistencePropertyItem = readProperty(elementReader, context);
            if (persistenceProperty == null) {
                persistenceProperty = persistenceContextRef.persistenceProperty;
                if (persistenceProperty != null) {
                    persistenceProperty.clear();
                } else {
                    persistenceProperty = new ArrayList<Property>();
                }
            }
            persistenceProperty.add(persistencePropertyItem);
        } else if (("mapped-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: mappedName
            final String mappedNameRaw = elementReader.getElementAsString();
            final String mappedName;
            try {
                mappedName = Adapters.collapsedStringAdapterAdapter.unmarshal(mappedNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            persistenceContextRef.mappedName = mappedName;
        } else if (("injection-target" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: injectionTarget
            final InjectionTarget injectionTargetItem = readInjectionTarget(elementReader, context);
            if (injectionTarget == null) {
                injectionTarget = persistenceContextRef.injectionTarget;
                if (injectionTarget != null) {
                    injectionTarget.clear();
                } else {
                    injectionTarget = new LinkedHashSet<InjectionTarget>();
                }
            }
            injectionTarget.add(injectionTargetItem);
        } else if (("lookup-name" == elementReader.getLocalName()) && ("http://java.sun.com/xml/ns/javaee" == elementReader.getNamespaceURI())) {
            // ELEMENT: lookupName
            final String lookupNameRaw = elementReader.getElementAsString();
            final String lookupName;
            try {
                lookupName = Adapters.collapsedStringAdapterAdapter.unmarshal(lookupNameRaw);
            } catch (final Exception e) {
                context.xmlAdapterError(elementReader, CollapsedStringAdapter.class, String.class, String.class, e);
                continue;
            }
            persistenceContextRef.lookupName = lookupName;
        } else {
            context.unexpectedElement(elementReader, new QName("http://java.sun.com/xml/ns/javaee", "description"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-context-ref-name"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-unit-name"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-context-type"), new QName("http://java.sun.com/xml/ns/javaee", "persistence-property"), new QName("http://java.sun.com/xml/ns/javaee", "mapped-name"), new QName("http://java.sun.com/xml/ns/javaee", "injection-target"), new QName("http://java.sun.com/xml/ns/javaee", "lookup-name"));
        }
    }
    if (descriptions != null) {
        try {
            persistenceContextRef.setDescriptions(descriptions.toArray(new Text[descriptions.size()]));
        } catch (final Exception e) {
            context.setterError(reader, PersistenceContextRef.class, "setDescriptions", Text[].class, e);
        }
    }
    if (persistenceProperty != null) {
        persistenceContextRef.persistenceProperty = persistenceProperty;
    }
    if (injectionTarget != null) {
        persistenceContextRef.injectionTarget = injectionTarget;
    }
    context.afterUnmarshal(persistenceContextRef, LifecycleCallback.NONE);
    return persistenceContextRef;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) Attribute(org.metatype.sxc.util.Attribute) QName(javax.xml.namespace.QName) ArrayList(java.util.ArrayList) PersistenceContextType$JAXB.parsePersistenceContextType(org.apache.openejb.jee.PersistenceContextType$JAXB.parsePersistenceContextType) PersistenceContextType$JAXB.toStringPersistenceContextType(org.apache.openejb.jee.PersistenceContextType$JAXB.toStringPersistenceContextType) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) InjectionTarget$JAXB.writeInjectionTarget(org.apache.openejb.jee.InjectionTarget$JAXB.writeInjectionTarget) InjectionTarget$JAXB.readInjectionTarget(org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext) Property$JAXB.writeProperty(org.apache.openejb.jee.Property$JAXB.writeProperty) Property$JAXB.readProperty(org.apache.openejb.jee.Property$JAXB.readProperty) XoXMLStreamReader(org.metatype.sxc.util.XoXMLStreamReader)

Example 5 with InjectionTarget$JAXB.readInjectionTarget

use of org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget in project tomee by apache.

the class ResourceEnvRef$JAXB method _write.

public static final void _write(final XoXMLStreamWriter writer, final ResourceEnvRef resourceEnvRef, RuntimeContext context) throws Exception {
    if (resourceEnvRef == null) {
        writer.writeXsiNil();
        return;
    }
    if (context == null) {
        context = new RuntimeContext();
    }
    final String prefix = writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee");
    if (ResourceEnvRef.class != resourceEnvRef.getClass()) {
        context.unexpectedSubclass(writer, resourceEnvRef, ResourceEnvRef.class);
        return;
    }
    context.beforeMarshal(resourceEnvRef, LifecycleCallback.NONE);
    // ATTRIBUTE: id
    final String idRaw = resourceEnvRef.id;
    if (idRaw != null) {
        String id = null;
        try {
            id = Adapters.collapsedStringAdapterAdapter.marshal(idRaw);
        } catch (final Exception e) {
            context.xmlAdapterError(resourceEnvRef, "id", CollapsedStringAdapter.class, String.class, String.class, e);
        }
        writer.writeAttribute("", "", "id", id);
    }
    // ELEMENT: descriptions
    Text[] descriptions = null;
    try {
        descriptions = resourceEnvRef.getDescriptions();
    } catch (final Exception e) {
        context.getterError(resourceEnvRef, "descriptions", ResourceEnvRef.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(resourceEnvRef, "descriptions");
            }
        }
    }
    // ELEMENT: resourceEnvRefName
    final String resourceEnvRefNameRaw = resourceEnvRef.resourceEnvRefName;
    String resourceEnvRefName = null;
    try {
        resourceEnvRefName = Adapters.collapsedStringAdapterAdapter.marshal(resourceEnvRefNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(resourceEnvRef, "resourceEnvRefName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (resourceEnvRefName != null) {
        writer.writeStartElement(prefix, "resource-env-ref-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(resourceEnvRefName);
        writer.writeEndElement();
    } else {
        context.unexpectedNullValue(resourceEnvRef, "resourceEnvRefName");
    }
    // ELEMENT: resourceEnvRefType
    final String resourceEnvRefTypeRaw = resourceEnvRef.resourceEnvRefType;
    String resourceEnvRefType = null;
    try {
        resourceEnvRefType = Adapters.collapsedStringAdapterAdapter.marshal(resourceEnvRefTypeRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(resourceEnvRef, "resourceEnvRefType", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (resourceEnvRefType != null) {
        writer.writeStartElement(prefix, "resource-env-ref-type", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(resourceEnvRefType);
        writer.writeEndElement();
    }
    // ELEMENT: mappedName
    final String mappedNameRaw = resourceEnvRef.mappedName;
    String mappedName = null;
    try {
        mappedName = Adapters.collapsedStringAdapterAdapter.marshal(mappedNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(resourceEnvRef, "mappedName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (mappedName != null) {
        writer.writeStartElement(prefix, "mapped-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(mappedName);
        writer.writeEndElement();
    }
    // ELEMENT: injectionTarget
    final Set<InjectionTarget> injectionTarget = resourceEnvRef.injectionTarget;
    if (injectionTarget != null) {
        for (final InjectionTarget injectionTargetItem : injectionTarget) {
            if (injectionTargetItem != null) {
                writer.writeStartElement(prefix, "injection-target", "http://java.sun.com/xml/ns/javaee");
                writeInjectionTarget(writer, injectionTargetItem, context);
                writer.writeEndElement();
            } else {
                context.unexpectedNullValue(resourceEnvRef, "injectionTarget");
            }
        }
    }
    // ELEMENT: lookupName
    final String lookupNameRaw = resourceEnvRef.lookupName;
    String lookupName = null;
    try {
        lookupName = Adapters.collapsedStringAdapterAdapter.marshal(lookupNameRaw);
    } catch (final Exception e) {
        context.xmlAdapterError(resourceEnvRef, "lookupName", CollapsedStringAdapter.class, String.class, String.class, e);
    }
    if (lookupName != null) {
        writer.writeStartElement(prefix, "lookup-name", "http://java.sun.com/xml/ns/javaee");
        writer.writeCharacters(lookupName);
        writer.writeEndElement();
    }
    context.afterMarshal(resourceEnvRef, LifecycleCallback.NONE);
}
Also used : CollapsedStringAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter) Text$JAXB.readText(org.apache.openejb.jee.Text$JAXB.readText) Text$JAXB.writeText(org.apache.openejb.jee.Text$JAXB.writeText) InjectionTarget$JAXB.writeInjectionTarget(org.apache.openejb.jee.InjectionTarget$JAXB.writeInjectionTarget) InjectionTarget$JAXB.readInjectionTarget(org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget) RuntimeContext(org.metatype.sxc.jaxb.RuntimeContext)

Aggregations

CollapsedStringAdapter (javax.xml.bind.annotation.adapters.CollapsedStringAdapter)18 InjectionTarget$JAXB.readInjectionTarget (org.apache.openejb.jee.InjectionTarget$JAXB.readInjectionTarget)18 InjectionTarget$JAXB.writeInjectionTarget (org.apache.openejb.jee.InjectionTarget$JAXB.writeInjectionTarget)18 Text$JAXB.readText (org.apache.openejb.jee.Text$JAXB.readText)18 Text$JAXB.writeText (org.apache.openejb.jee.Text$JAXB.writeText)18 RuntimeContext (org.metatype.sxc.jaxb.RuntimeContext)18 QName (javax.xml.namespace.QName)10 Attribute (org.metatype.sxc.util.Attribute)9 XoXMLStreamReader (org.metatype.sxc.util.XoXMLStreamReader)9 InjectionTarget (org.apache.openejb.jee.InjectionTarget)8 LinkedHashSet (java.util.LinkedHashSet)5 ArrayList (java.util.ArrayList)4 EjbRefType$JAXB.parseEjbRefType (org.apache.openejb.jee.EjbRefType$JAXB.parseEjbRefType)4 EjbRefType$JAXB.toStringEjbRefType (org.apache.openejb.jee.EjbRefType$JAXB.toStringEjbRefType)4 EjbJar (org.apache.openejb.jee.EjbJar)3 EnvEntry (org.apache.openejb.jee.EnvEntry)3 Assembler (org.apache.openejb.assembler.classic.Assembler)2 ProxyFactoryInfo (org.apache.openejb.assembler.classic.ProxyFactoryInfo)2 SecurityServiceInfo (org.apache.openejb.assembler.classic.SecurityServiceInfo)2 StatelessSessionContainerInfo (org.apache.openejb.assembler.classic.StatelessSessionContainerInfo)2