[jbpm-commits] JBoss JBPM SVN: r2966 - jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Nov 17 17:14:39 EST 2008


Author: alex.guizar at jboss.com
Date: 2008-11-17 17:14:39 -0500 (Mon, 17 Nov 2008)
New Revision: 2966

Modified:
   jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Day.java
   jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/DayPart.java
   jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Duration.java
Log:
JBPM-1098: business calendar test fails in locales that use ',' as the decimal separator

Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Day.java
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Day.java	2008-11-17 17:00:21 UTC (rev 2965)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Day.java	2008-11-17 22:14:39 UTC (rev 2966)
@@ -77,7 +77,7 @@
         findNextDayPartStart(dayPartIndex+1, date, result);
       }
     } else {
-      // descend recustively
+      // descend recursively
       date = businessCalendar.findStartOfNextDay(date);
       Day nextDay = businessCalendar.findDay(date);
       nextDay.findNextDayPartStart(0, date, result);

Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/DayPart.java
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/DayPart.java	2008-11-17 17:00:21 UTC (rev 2965)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/DayPart.java	2008-11-17 22:14:39 UTC (rev 2966)
@@ -79,9 +79,7 @@
     int hour = calendar.get(Calendar.HOUR_OF_DAY);
     int minute = calendar.get(Calendar.MINUTE);
 
-    long dateMillis = hour * Duration.HOUR + minute * Duration.MINUTE;
-    long dayPartEndMillis = toHour * Duration.HOUR + toMinute * Duration.MINUTE;
-    long millisInThisDayPart = dayPartEndMillis - dateMillis;
+    long millisInThisDayPart = (toHour - hour) * Duration.HOUR + (toMinute - minute) * Duration.MINUTE;
     long durationMillis = duration.getMilliseconds();
     
     if (durationMillis <= millisInThisDayPart) {

Modified: jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Duration.java
===================================================================
--- jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Duration.java	2008-11-17 17:00:21 UTC (rev 2965)
+++ jbpm3/branches/jpdl-3.2.2-SOA-4.2/jpdl/jar/src/main/java/org/jbpm/calendar/Duration.java	2008-11-17 22:14:39 UTC (rev 2966)
@@ -28,6 +28,7 @@
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
 
@@ -71,7 +72,7 @@
     String businessYearText = businessCalendarProperties.getProperty("business.year.expressed.in.business.days");
 
     try {
-      NumberFormat format = NumberFormat.getNumberInstance();
+      NumberFormat format = NumberFormat.getNumberInstance(Locale.US);
       BUSINESS_DAY = multiply(format.parse(businessDayText), HOUR);
       BUSINESS_WEEK = multiply(format.parse(businessWeekText), HOUR);
       BUSINESS_MONTH = multiply(format.parse(businessMonthText), BUSINESS_DAY);
@@ -89,6 +90,10 @@
   static Map calendarFields = new HashMap();
 
   static {
+    Integer millisecondField = new Integer(Calendar.MILLISECOND);
+    calendarFields.put("millisecond", millisecondField);
+    calendarFields.put("milliseconds", millisecondField);
+
     Integer secondField = new Integer(Calendar.SECOND);
     calendarFields.put("second", secondField);
     calendarFields.put("seconds", secondField);
@@ -198,7 +203,7 @@
       ++index;
 
     // parse quantity
-    NumberFormat format = NumberFormat.getNumberInstance();
+    NumberFormat format = NumberFormat.getNumberInstance(Locale.US);
     index = indexOfNonWhite(duration, index);
     ParsePosition position = new ParsePosition(index);
     Number quantity = format.parse(duration, position);




More information about the jbpm-commits mailing list