[jboss-svn-commits] JBoss Common SVN: r2467 - 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 05:06:33 EDT 2007
Author: alex.loubyansky at jboss.com
Date: 2007-07-26 05:06:33 -0400 (Thu, 26 Jul 2007)
New Revision: 2467
Modified:
jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime/CollectionPropertyHandler.java
Log:
dillonism...
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-26 08:55:07 UTC (rev 2466)
+++ jbossxb-builder/trunk/src/main/java/org/jboss/xb/builder/runtime/CollectionPropertyHandler.java 2007-07-26 09:06:33 UTC (rev 2467)
@@ -85,35 +85,32 @@
ClassInfo collectionType = (ClassInfo) propertyType;
if (Modifier.isAbstract(collectionType.getModifiers()) == false)
{
- ConstructorInfo constructor = null;
try
{
- constructor = collectionType.getDeclaredConstructor(null);
- c = (Collection) constructor.newInstance(null);
- }
- catch (Throwable t)
- {
- for(ConstructorInfo ctor : collectionType.getDeclaredConstructors())
+ ConstructorInfo constructor = collectionType.getDeclaredConstructor(null);
+ if(constructor == null)
{
- if(ctor.getParameterTypes().length == 0)
+ for(ConstructorInfo ctor : collectionType.getDeclaredConstructors())
{
- log.warn("ClassInfo.getDeclaredConstructor(null) didn't work for " + collectionType.getName() + ", found the default ctor in ClassInfo.getDeclaredConstructors()");
- try
+ if(ctor.getParameterTypes().length == 0)
{
- c = (Collection<Object>) ctor.newInstance(null);
+ log.warn("ClassInfo.getDeclaredConstructor(null) didn't work for " + collectionType.getName() + ", found the default ctor in ClassInfo.getDeclaredConstructors()");
+ constructor = ctor;
+ break;
}
- catch (Throwable e)
- {
- throw new RuntimeException("QName " + qName + " error creating collection: " + propertyType.getName(), t);
- }
}
+
+ if(constructor == null)
+ {
+ throw new NoSuchMethodException("Default constructor not found for " + collectionType.getName());
+ }
}
-
- if(c == null)
- {
- throw new RuntimeException("QName " + qName + " no default constructor for type " + collectionType + ": " + propertyType.getName());
- }
+ c = (Collection) constructor.newInstance(null);
}
+ catch (Throwable t)
+ {
+ throw new RuntimeException("QName " + qName + " error creating collection: " + propertyType.getName(), t);
+ }
}
else if (isSet)
c = new HashSet<Object>();
More information about the jboss-svn-commits
mailing list