Hans,
The NPE is by design. Calling code should validate parameters before
calling the utility method.
Providing undocumented default values will also cause strange behavior.
-Adrian
On 11/24/2011 2:54 AM, [email protected] wrote:
Author: hansbak
Date: Thu Nov 24 02:54:14 2011
New Revision: 1205710
URL: http://svn.apache.org/viewvc?rev=1205710&view=rev
Log:
getDayEnd will have a null pointer exception when the offset is not provided.
This can cause very strange behaviour in the system when people forget to enter
a value in terms. When not provided zero is assumed now
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilDateTime.java
Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilDateTime.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilDateTime.java?rev=1205710&r1=1205709&r2=1205710&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilDateTime.java
(original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilDateTime.java Thu
Nov 24 02:54:14 2011
@@ -823,6 +823,9 @@ public class UtilDateTime {
}
public static Timestamp getDayEnd(Timestamp stamp, Long daysLater,
TimeZone timeZone, Locale locale) {
+ if (daysLater == null) {
+ daysLater = Long.valueOf(0);
+ }
Calendar tempCal = toCalendar(stamp, timeZone, locale);
tempCal.set(tempCal.get(Calendar.YEAR), tempCal.get(Calendar.MONTH),
tempCal.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
tempCal.add(Calendar.DAY_OF_MONTH, daysLater.intValue());