[jboss-cvs] JBossAS SVN: r110839 - projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 4 10:14:33 EST 2011


Author: jesper.pedersen
Date: 2011-03-04 10:14:33 -0500 (Fri, 04 Mar 2011)
New Revision: 110839

Modified:
   projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java
Log:
Some people doesn't read the spec and understand auto-boxing

Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java	2011-03-04 14:30:05 UTC (rev 110838)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java	2011-03-04 15:14:33 UTC (rev 110839)
@@ -144,8 +144,32 @@
                   }
 
                   if (setValue)
-                     injector.inject(o, cpmd.getConfigPropertyName().getValue(),
-                                     cpmd.getConfigPropertyValue().getValue(), cpmd.getConfigPropertyType().getValue());
+                  {
+                     try
+                     {
+                        injector.inject(o,
+                                        cpmd.getConfigPropertyName().getValue(),
+                                        cpmd.getConfigPropertyValue().getValue(),
+                                        cpmd.getConfigPropertyType().getValue());
+                     }
+                     catch (NoSuchMethodException nsme)
+                     {
+                        String newPropertyType = convertType(cpmd.getConfigPropertyType().getValue());
+
+                        if (newPropertyType != null)
+                        {
+                           injector.inject(o,
+                                           cpmd.getConfigPropertyName().getValue(),
+                                           cpmd.getConfigPropertyValue().getValue(),
+                                           newPropertyType);
+
+                        }
+                        else
+                        {
+                           throw nsme;
+                        }
+                     }
+                  }
                }
             }
          }
@@ -159,6 +183,81 @@
    }
 
    /**
+    * Convert type if possible
+    * @param old The old type
+    * @return The new type; otherwise <code>null</code>
+    */
+   private String convertType(String old)
+   {
+      if (Boolean.class.getName().equals(old))
+      {
+         return boolean.class.getName();
+      }
+      else if (boolean.class.getName().equals(old))
+      {
+         return Boolean.class.getName();
+      }
+      else if (Byte.class.getName().equals(old))
+      {
+         return byte.class.getName();
+      }
+      else if (byte.class.getName().equals(old))
+      {
+         return Byte.class.getName();
+      }
+      else if (Short.class.getName().equals(old))
+      {
+         return short.class.getName();
+      }
+      else if (short.class.getName().equals(old))
+      {
+         return Short.class.getName();
+      }
+      else if (Integer.class.getName().equals(old))
+      {
+         return int.class.getName();
+      }
+      else if (int.class.getName().equals(old))
+      {
+         return Integer.class.getName();
+      }
+      else if (Long.class.getName().equals(old))
+      {
+         return long.class.getName();
+      }
+      else if (long.class.getName().equals(old))
+      {
+         return Long.class.getName();
+      }
+      else if (Float.class.getName().equals(old))
+      {
+         return float.class.getName();
+      }
+      else if (float.class.getName().equals(old))
+      {
+         return Float.class.getName();
+      }
+      else if (Double.class.getName().equals(old))
+      {
+         return double.class.getName();
+      }
+      else if (double.class.getName().equals(old))
+      {
+         return Double.class.getName();
+      }
+      else if (Character.class.getName().equals(old))
+      {
+         return char.class.getName();
+      }
+      else if (char.class.getName().equals(old))
+      {
+         return Character.class.getName();
+      }
+
+      return null;
+   }
+
+   /**
     * Get the URLs for the directory and all libraries located in the directory
     * @param directory The directory
     * @return The URLs



More information about the jboss-cvs-commits mailing list