[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