You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2008/06/03 17:20:10 UTC

svn commit: r662825 - /ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java

Author: adrianc
Date: Tue Jun  3 08:20:10 2008
New Revision: 662825

URL: http://svn.apache.org/viewvc?rev=662825&view=rev
Log:
Fix for NPE reported by Jacopo on the dev mailing list.

Modified:
    ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java

Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java?rev=662825&r1=662824&r2=662825&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java (original)
+++ ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/ObjectType.java Tue Jun  3 08:20:10 2008
@@ -426,7 +426,7 @@
     }
 
     public static Object simpleTypeConvert(Object obj, String type, String format, Locale locale, boolean noTypeFail) throws GeneralException {
-        return simpleTypeConvert(obj, type, format, UtilDateTime.getDefaultTimeZone(), locale, noTypeFail);
+        return simpleTypeConvert(obj, type, format, null, locale, noTypeFail);
     }
 
     /** 
@@ -457,6 +457,14 @@
             return obj;
         }
 
+        if (timeZone == null) {
+            timeZone = TimeZone.getDefault();
+        }
+
+        if (locale == null) {
+            locale = Locale.getDefault();
+        }
+
         String fromType = null;
 
         if ((type.equals("List") || type.equals("java.util.List")) && obj.getClass().isArray()) {
@@ -496,7 +504,7 @@
             } else if ("BigDecimal".equals(type) || "java.math.BigDecimal".equals(type)) {
                 str = StringUtil.removeSpaces(str);
                 try {
-                    NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                    NumberFormat nf = NumberFormat.getNumberInstance(locale);
                     Number tempNum = nf.parse(str);
                     return new BigDecimal(tempNum.toString());
                 } catch (ParseException e) {
@@ -505,7 +513,7 @@
             } else if ("Double".equals(type) || "java.lang.Double".equals(type)) {
                 str = StringUtil.removeSpaces(str);
                 try {
-                    NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                    NumberFormat nf = NumberFormat.getNumberInstance(locale);
                     Number tempNum = nf.parse(str);
 
                     return Double.valueOf(tempNum.doubleValue());
@@ -515,7 +523,7 @@
             } else if ("Float".equals(type) || "java.lang.Float".equals(type)) {
                 str = StringUtil.removeSpaces(str);
                 try {
-                    NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                    NumberFormat nf = NumberFormat.getNumberInstance(locale);
                     Number tempNum = nf.parse(str);
 
                     return Float.valueOf(tempNum.floatValue());
@@ -525,7 +533,7 @@
             } else if ("Long".equals(type) || "java.lang.Long".equals(type)) {
                 str = StringUtil.removeSpaces(str);
                 try {
-                    NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                    NumberFormat nf = NumberFormat.getNumberInstance(locale);
                     nf.setMaximumFractionDigits(0);
                     Number tempNum = nf.parse(str);
 
@@ -536,7 +544,7 @@
             } else if ("Integer".equals(type) || "java.lang.Integer".equals(type)) {
                 str = StringUtil.removeSpaces(str);
                 try {
-                    NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                    NumberFormat nf = NumberFormat.getNumberInstance(locale);
                     nf.setMaximumFractionDigits(0);
                     Number tempNum = nf.parse(str);
 
@@ -547,9 +555,9 @@
             } else if ("Date".equals(type) || "java.sql.Date".equals(type)) {
                 DateFormat df = null;
                 if (format == null || format.length() == 0) {
-                    df = UtilDateTime.toDateFormat(UtilDateTime.DATE_FORMAT, timeZone, null);
+                    df = UtilDateTime.toDateFormat(UtilDateTime.DATE_FORMAT, timeZone, locale);
                 } else {
-                    df = UtilDateTime.toDateFormat(format, timeZone, null);
+                    df = UtilDateTime.toDateFormat(format, timeZone, locale);
                 }
                 try {
                     Date fieldDate = df.parse(str);
@@ -560,9 +568,9 @@
             } else if ("Time".equals(type) || "java.sql.Time".equals(type)) {
                 DateFormat df = null;
                 if (format == null || format.length() == 0) {
-                    df = UtilDateTime.toTimeFormat(UtilDateTime.TIME_FORMAT, timeZone, null);
+                    df = UtilDateTime.toTimeFormat(UtilDateTime.TIME_FORMAT, timeZone, locale);
                 } else {
-                    df = UtilDateTime.toTimeFormat(format, timeZone, null);
+                    df = UtilDateTime.toTimeFormat(format, timeZone, locale);
                 }
                 try {
                     Date fieldDate = df.parse(str);
@@ -573,7 +581,7 @@
             } else if ("Timestamp".equals(type) || "java.sql.Timestamp".equals(type)) {
                 DateFormat df = null;
                 if (format == null || format.length() == 0) {
-                    df = UtilDateTime.toDateTimeFormat(UtilDateTime.DATE_TIME_FORMAT, timeZone, null);
+                    df = UtilDateTime.toDateTimeFormat(UtilDateTime.DATE_TIME_FORMAT, timeZone, locale);
                     // if time is missing add zeros
                     if (str.length() > 0 && !str.contains(":")) {
                     	str = str + " 00:00:00.00";
@@ -591,7 +599,7 @@
                         }
                     }
                 } else {
-                    df = UtilDateTime.toDateTimeFormat(format, timeZone, null);
+                    df = UtilDateTime.toDateTimeFormat(format, timeZone, locale);
                 }
                 try {
                     Date fieldDate = df.parse(str);
@@ -626,7 +634,7 @@
             Double dbl = (Double) obj;
 
             if ("String".equals(type) || "java.lang.String".equals(type)) {
-                NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                NumberFormat nf = NumberFormat.getNumberInstance(locale);
                 return nf.format(dbl.doubleValue());
             } else if ("BigDecimal".equals(type) || "java.math.BigDecimal".equals(type)) {
                 return new BigDecimal(dbl.doubleValue());
@@ -654,7 +662,7 @@
             Float flt = (Float) obj;
 
             if ("String".equals(type)) {
-                NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                NumberFormat nf = NumberFormat.getNumberInstance(locale);
                 return nf.format(flt.doubleValue());
             } else if ("BigDecimal".equals(type) || "java.math.BigDecimal".equals(type)) {
                 return new BigDecimal(flt.doubleValue());
@@ -682,7 +690,7 @@
             Long lng = (Long) obj;
 
             if ("String".equals(type) || "java.lang.String".equals(type)) {
-                NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                NumberFormat nf = NumberFormat.getNumberInstance(locale);
                 return nf.format(lng.longValue());
             } else if ("BigDecimal".equals(type) || "java.math.BigDecimal".equals(type)) {
                 return BigDecimal.valueOf(lng.longValue());
@@ -709,7 +717,7 @@
             fromType = "Integer";
             Integer intgr = (Integer) obj;
             if ("String".equals(type) || "java.lang.String".equals(type)) {
-                NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                NumberFormat nf = NumberFormat.getNumberInstance(locale);
                 return nf.format(intgr.longValue());
             } else if ("BigDecimal".equals(type) || "java.math.BigDecimal".equals(type)) {
                 return BigDecimal.valueOf(intgr.longValue());
@@ -736,7 +744,7 @@
             fromType = "BigDecimal";
             BigDecimal bigDec = (BigDecimal) obj;
             if ("String".equals(type) || "java.lang.String".equals(type)) {
-                NumberFormat nf = locale == null ? NumberFormat.getNumberInstance() : NumberFormat.getNumberInstance(locale);
+                NumberFormat nf = NumberFormat.getNumberInstance(locale);
                 return nf.format(bigDec.doubleValue());
             } else if ("BigDecimal".equals(type) || "java.math.BigDecimal".equals(type)) {
                 return obj;
@@ -765,9 +773,9 @@
             if ("String".equals(type) || "java.lang.String".equals(type)) {
                 DateFormat df = null;
                 if (format == null || format.length() == 0) {
-                    df = UtilDateTime.toDateFormat(UtilDateTime.DATE_FORMAT, timeZone, null);
+                    df = UtilDateTime.toDateFormat(UtilDateTime.DATE_FORMAT, timeZone, locale);
                 } else {
-                    df = UtilDateTime.toDateFormat(format, timeZone, null);
+                    df = UtilDateTime.toDateFormat(format, timeZone, locale);
                 }
                 return df.format(new java.util.Date(dte.getTime()));
             } else if ("Date".equals(type) || "java.sql.Date".equals(type)) {
@@ -794,9 +802,9 @@
             if ("String".equals(type) || "java.lang.String".equals(type)) {
                 DateFormat df = null;
                 if (format == null || format.length() == 0) {
-                    df = UtilDateTime.toTimeFormat(UtilDateTime.TIME_FORMAT, timeZone, null);
+                    df = UtilDateTime.toTimeFormat(UtilDateTime.TIME_FORMAT, timeZone, locale);
                 } else {
-                    df = UtilDateTime.toTimeFormat(format, timeZone, null);
+                    df = UtilDateTime.toTimeFormat(format, timeZone, locale);
                 }
                 return df.format(new java.util.Date(tme.getTime()));
             } else if ("Date".equals(type) || "java.sql.Date".equals(type)) {
@@ -823,9 +831,9 @@
             if ("String".equals(type) || "java.lang.String".equals(type)) {
                 DateFormat df = null;
                 if (format == null || format.length() == 0) {
-                    df = UtilDateTime.toDateTimeFormat(UtilDateTime.DATE_TIME_FORMAT, timeZone, null);
+                    df = UtilDateTime.toDateTimeFormat(UtilDateTime.DATE_TIME_FORMAT, timeZone, locale);
                 } else {
-                    df = UtilDateTime.toDateTimeFormat(format, timeZone, null);
+                    df = UtilDateTime.toDateTimeFormat(format, timeZone, locale);
                 }
                 return df.format(new java.util.Date(tme.getTime()));
             } else if ("Date".equals(type) || "java.sql.Date".equals(type)) {