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);