[jboss-cvs] JBossAS SVN: r63413 - in trunk/ejb3/src: resources/schema and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jun 8 03:29:34 EDT 2007
Author: wolfc
Date: 2007-06-08 03:29:33 -0400 (Fri, 08 Jun 2007)
New Revision: 63413
Modified:
trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java
trunk/ejb3/src/resources/schema/jboss_5_0.xsd
Log:
EJBTHREE-989: res-url handling and @Resource.mappedName on URL property
Modified: trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java 2007-06-08 07:28:25 UTC (rev 63412)
+++ trunk/ejb3/src/main/org/jboss/injection/ResourceHandler.java 2007-06-08 07:29:33 UTC (rev 63413)
@@ -71,6 +71,23 @@
this.checkEncInjectors = checkEncInjectors;
}
+ private void createURLInjector(String encName, String mappedName, InjectionContainer container)
+ {
+ assert encName.length() > 0 : "encName is empty";
+ assert mappedName.length() > 0 : "mappedName is empty";
+
+ // Create a URL from the mappedName
+ try
+ {
+ URL url = new URL(mappedName.trim());
+ container.getEncInjectors().put(encName, new ValueEncInjector(encName, url, "@Resource"));
+ }
+ catch (MalformedURLException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
private static void loadEnvEntry(InjectionContainer container, Collection<EnvEntry> envEntries)
{
for (EnvEntry envEntry : envEntries)
@@ -224,16 +241,7 @@
if (ref.type() == URL.class)
{
- // Create a URL from the mappedName
- try
- {
- URL url = new URL(ref.mappedName().trim());
- container.getEncInjectors().put(encName, new ValueEncInjector(encName, url, "@Resource"));
- }
- catch (MalformedURLException e)
- {
- throw new RuntimeException(e);
- }
+ createURLInjector(encName, mappedName, container);
}
else
{
@@ -467,6 +475,11 @@
{
injectors.put(accObj, new TimerServicePropertyInjector(property, (Container) container)); // only EJBs
}
+ else if(type.equals(URL.class) && ref.mappedName() != null && ref.mappedName().length() > 0)
+ {
+ createURLInjector(encName, ref.mappedName(), container);
+ injectors.put(accObj, new JndiPropertyInjector(property, encName, container.getEnc()));
+ }
else if (type.equals(WebServiceContext.class))
{
injectors.put(accObj, new WebServiceContextPropertyInjector(property));
Modified: trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java 2007-06-08 07:28:25 UTC (rev 63412)
+++ trunk/ejb3/src/main/org/jboss/injection/ValueEncInjector.java 2007-06-08 07:29:33 UTC (rev 63413)
@@ -40,6 +40,8 @@
public ValueEncInjector(String name, Object obj, String error)
{
+ assert name.length() > 0 : "name is empty";
+
this.obj = obj;
this.encName = name;
this.error = error;
Modified: trunk/ejb3/src/resources/schema/jboss_5_0.xsd
===================================================================
(Binary files differ)
More information about the jboss-cvs-commits
mailing list