[jboss-svn-commits] JBoss Common SVN: r2465 - jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 26 04:54:15 EDT 2007
Author: alex.loubyansky at jboss.com
Date: 2007-07-26 04:54:15 -0400 (Thu, 26 Jul 2007)
New Revision: 2465
Modified:
jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime/CollectionPropertyHandler.java
Log:
why wouldn't it return the default ctor? (for org.jboss.ejb.metadata.spec.InterceptorClassesMetaData)
Modified: jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime/CollectionPropertyHandler.java
===================================================================
--- jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime/CollectionPropertyHandler.java 2007-07-25 14:51:03 UTC (rev 2464)
+++ jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime/CollectionPropertyHandler.java 2007-07-26 08:54:15 UTC (rev 2465)
@@ -85,14 +85,34 @@
ClassInfo collectionType = (ClassInfo) propertyType;
if (Modifier.isAbstract(collectionType.getModifiers()) == false)
{
+ ConstructorInfo constructor = null;
try
{
- ConstructorInfo constructor = collectionType.getDeclaredConstructor(null);
+ constructor = collectionType.getDeclaredConstructor(null);
c = (Collection) constructor.newInstance(null);
}
catch (Throwable t)
{
- throw new RuntimeException("QName " + qName + " error creating collection: " + propertyType.getName(), t);
+ for(ConstructorInfo ctor : collectionType.getDeclaredConstructors())
+ {
+ if(ctor.getParameterTypes().length == 0)
+ {
+ log.warn("ClassInfo.getDeclaredConstructor(null) didn't work for " + collectionType.getName() + ", found the default ctor in ClassInfo.getDeclaredConstructors()");
+ try
+ {
+ c = (Collection<Object>) ctor.newInstance(null);
+ }
+ catch (Throwable e)
+ {
+ throw new RuntimeException("QName " + qName + " error creating collection: " + propertyType.getName(), t);
+ }
+ }
+ }
+
+ if(c == null)
+ {
+ throw new RuntimeException("QName " + qName + " no default constructor for type " + collectionType + ": " + propertyType.getName());
+ }
}
}
else if (isSet)
More information about the jboss-svn-commits
mailing list