[jboss-cvs] JBossAS SVN: r68018 - trunk/ejb3/src/main/org/jboss/injection.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Dec 7 02:31:48 EST 2007
Author: scott.stark at jboss.org
Date: 2007-12-07 02:31:47 -0500 (Fri, 07 Dec 2007)
New Revision: 68018
Modified:
trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
Log:
JBCTS-717, handle ORB, UserTransaction types without mapped names from xml.
Modified: trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java 2007-12-07 07:13:02 UTC (rev 68017)
+++ trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java 2007-12-07 07:31:47 UTC (rev 68018)
@@ -111,7 +111,9 @@
for (ResourceReferenceMetaData envRef : refs)
{
String encName = "env/" + envRef.getResourceRefName();
- if (container.getEncInjectors().containsKey(encName)) continue;
+ if (container.getEncInjectors().containsKey(encName))
+ continue;
+
if (envRef.getMappedName() == null || envRef.getMappedName().equals(""))
{
if (envRef.getResUrl() != null)
@@ -125,6 +127,30 @@
throw new RuntimeException(e);
}
}
+ else if (UserTransaction.class.getName().equals(envRef.getType()))
+ {
+ final InjectionContainer ic = container;
+ InjectorFactory<?> factory = new InjectorFactory<UserTransactionPropertyInjector>()
+ {
+ public UserTransactionPropertyInjector create(BeanProperty property)
+ {
+ return new UserTransactionPropertyInjector(property, ic);
+ }
+ };
+ if(envRef.getInjectionTargets() != null)
+ {
+ InjectionUtil.createInjectors(container.getInjectors(), container.getClassloader(), factory, envRef.getInjectionTargets());
+ continue;
+ }
+ else
+ {
+ encName = "java:comp/UserTransaction";
+ }
+ }
+ else if (ORB.class.getName().equals(envRef.getType()))
+ {
+ encName = "java:comp/ORB";
+ }
else
{
throw new RuntimeException("mapped-name is required for " + envRef.getResourceRefName() + " of deployment " + container.getIdentifier());
@@ -234,11 +260,16 @@
public void loadXml(X xml, InjectionContainer container)
{
- if (xml == null) return;
- if (xml.getMessageDestinationReferences() != null) loadXmlMessageDestinationRefs(container, xml.getMessageDestinationReferences());
- if (xml.getResourceEnvironmentReferences() != null) loadXmlResourceEnvRefs(container, xml.getResourceEnvironmentReferences());
- if (xml.getResourceReferences() != null) loadXmlResourceRefs(container, xml.getResourceReferences());
- if (xml.getEnvironmentEntries() != null) loadEnvEntry(container, xml.getEnvironmentEntries());
+ if (xml == null)
+ return;
+ if (xml.getMessageDestinationReferences() != null)
+ loadXmlMessageDestinationRefs(container, xml.getMessageDestinationReferences());
+ if (xml.getResourceEnvironmentReferences() != null)
+ loadXmlResourceEnvRefs(container, xml.getResourceEnvironmentReferences());
+ if (xml.getResourceReferences() != null)
+ loadXmlResourceRefs(container, xml.getResourceReferences());
+ if (xml.getEnvironmentEntries() != null)
+ loadEnvEntry(container, xml.getEnvironmentEntries());
}
public void handleClassAnnotations(Class<?> clazz, InjectionContainer container)
More information about the jboss-cvs-commits
mailing list