You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/12/25 07:07:09 UTC

svn commit: r358968 - /webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

Author: dims
Date: Sat Dec 24 22:07:05 2005
New Revision: 358968

URL: http://svn.apache.org/viewcvs?rev=358968&view=rev
Log:
Don't check equals for *EVERY* array element.


Modified:
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java?rev=358968&r1=358967&r2=358968&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java Sat Dec 24 22:07:05 2005
@@ -42,6 +42,7 @@
 import java.util.GregorianCalendar;
 import java.util.List;
 import java.util.TimeZone;
+import java.util.Arrays;
 /*
  * Copyright 2004,2005 The Apache Software Foundation.
  *
@@ -601,24 +602,36 @@
     public static Object convertToArray(Class baseArrayClass, List objectList) {
         int listSize = objectList.size();
         Object returnArray = Array.newInstance(baseArrayClass, listSize);
-        for (int i = 0; i < listSize; i++) {
-            if (int.class.equals(baseArrayClass)) {
+        if (int.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setInt(returnArray, i, Integer.parseInt(objectList.get(i).toString()));
-            } else if (float.class.equals(baseArrayClass)) {
+            }
+        } else if (float.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setFloat(returnArray, i, Float.parseFloat(objectList.get(i).toString()));
-            } else if (short.class.equals(baseArrayClass)) {
+            }
+        } else if (short.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setShort(returnArray, i, Short.parseShort(objectList.get(i).toString()));
-            } else if (long.class.equals(baseArrayClass)) {
+            }
+        } else if (long.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setLong(returnArray, i, Long.parseLong(objectList.get(i).toString()));
-            } else if (boolean.class.equals(baseArrayClass)) {
+            }
+        } else if (boolean.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setBoolean(returnArray, i, Boolean.getBoolean(objectList.get(i).toString()));
-            } else if (char.class.equals(baseArrayClass)) {
+            }
+        } else if (char.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setChar(returnArray, i, objectList.get(i).toString().toCharArray()[0]);
-            } else if (double.class.equals(baseArrayClass)) {
+            }
+        } else if (double.class.equals(baseArrayClass)) {
+            for (int i = 0; i < listSize; i++) {
                 Array.setDouble(returnArray, i, Double.parseDouble(objectList.get(i).toString()));
-            } else {
-                Array.set(returnArray, i, objectList.get(i));
             }
+        } else {
+            objectList.toArray((Object[])returnArray);
         }
         return returnArray;
     }