You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/09/18 06:38:46 UTC
svn commit: r1172197 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: dblevins
Date: Sun Sep 18 04:38:46 2011
New Revision: 1172197
URL: http://svn.apache.org/viewvc?rev=1172197&view=rev
Log:
Be more careful of null values and coercing DataSourceDefinition properties
Don't attempt to resolve any <resource-ref> references to @ManagedBean classes
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1172197&r1=1172196&r2=1172197&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Sun Sep 18 04:38:46 2011
@@ -858,7 +858,10 @@ public class AutoConfig implements Dynam
Properties properties = datasource.getProperties();
if (properties.get("JdbcUrl") == null) {
- properties.put("JdbcUrl", getVendorUrl(properties));
+ final String url = getVendorUrl(properties);
+ if (url != null) {
+ properties.put("JdbcUrl", url);
+ }
}
// this property is not supported by dbcp
@@ -901,7 +904,7 @@ public class AutoConfig implements Dynam
final String driver = properties.getProperty("JdbcDriver");
final String serverName = properties.getProperty("ServerName");
- final int port = (Integer) properties.get("PortNumber");
+ final int port = getInt(properties.get("PortNumber"));
final boolean remote = port != -1;
final String databaseName = properties.getProperty("DatabaseName");
@@ -936,6 +939,18 @@ public class AutoConfig implements Dynam
return null;
}
+ private static int getInt(Object number) {
+ try {
+ return (Integer) number;
+ } catch (Exception e) {
+ try {
+ return Integer.parseInt(number+"");
+ } catch (NumberFormatException e1) {
+ return -1;
+ }
+ }
+ }
+
private void set(Properties properties, String key, String value) {
if (value == null || value.length() == 0) return;
properties.put(key, value);
@@ -995,6 +1010,14 @@ public class AutoConfig implements Dynam
return;
}
+ try {
+ final Class<?> clazz = classLoader.loadClass(refType);
+ if (clazz.isAnnotationPresent(ManagedBean.class)) {
+ return;
+ }
+ } catch (Throwable t) {
+ }
+
ResourceLink link = ejbDeployment.getResourceLink(refName);
if (link == null) {
String id = (mappedName.length() == 0) ? ref.getName() : mappedName;