You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2010/02/17 06:17:37 UTC

svn commit: r910829 - in /ofbiz/trunk/framework/base/src/org/ofbiz/base/util: TimeDuration.java test/TimeDurationTests.java

Author: doogie
Date: Wed Feb 17 05:17:37 2010
New Revision: 910829

URL: http://svn.apache.org/viewvc?rev=910829&view=rev
Log:
Fix parsing of trailing empty components in TimeDuration string values.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/TimeDuration.java
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/TimeDurationTests.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/TimeDuration.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/TimeDuration.java?rev=910829&r1=910828&r2=910829&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/TimeDuration.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/TimeDuration.java Wed Feb 17 05:17:37 2010
@@ -317,7 +317,7 @@
         boolean isZero = true;
         int[] intArray = {0, 0, 0, 0, 0, 0, 0};
         int i = intArray.length - 1;
-        String[] strArray = duration.split(":");
+        String[] strArray = duration.split(":", -1);
         for (int s = strArray.length - 1; s >= 0; s--) {
             if (UtilValidate.isNotEmpty(strArray[s])) {
                 intArray[i] = Integer.parseInt(strArray[s].trim());

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/TimeDurationTests.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/TimeDurationTests.java?rev=910829&r1=910828&r2=910829&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/TimeDurationTests.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/TimeDurationTests.java Wed Feb 17 05:17:37 2010
@@ -75,12 +75,12 @@
     private static TimeDuration assertDurationLoop(String label, Calendar right, int years, int months, int days, int hours, int minutes, int seconds, int milliseconds, TimeDuration lastString, boolean isNegative) {
         StringBuilder sb = new StringBuilder();
         sb.append(years != 0 ? years : "");
-        sb.append(':').append(months != 0 || sb.length() > 0 ? months : "");
-        sb.append(':').append(days != 0 || sb.length() > 1 ? days : "");
-        sb.append(':').append(hours != 0 || sb.length() > 2 ? hours : "");
-        sb.append(':').append(minutes != 0 || sb.length() > 3 ? minutes : "");
-        sb.append(':').append(seconds != 0 || sb.length() > 4 ? seconds : "");
-        sb.append(':').append(milliseconds != 0 || sb.length() > 5 ? milliseconds : "");
+        sb.append(':').append(months != 0 ? months : "");
+        sb.append(':').append(days != 0 ? days : "");
+        sb.append(':').append(hours != 0 ? hours : "");
+        sb.append(':').append(minutes != 0 ? minutes : "");
+        sb.append(':').append(seconds != 0 ? seconds : "");
+        sb.append(':').append(milliseconds != 0 ? milliseconds : "");
         String durationString = years + ":" + months + ":" + days + ":" + hours + ":" + minutes + ":" + seconds + ":" + milliseconds;
         TimeDuration stringDuration = TimeDuration.parseDuration(sb.toString());
         right.setTimeInMillis(0);