Adrian,

thank you for the explanation. I actually know the difference between 
Calendar.add and Calendar.roll, and I fixed the code because we have to jump 
from month to month in an iteration:

November 2009, December 2009, January 2010

and not (as it was happening before my fix):

November 2009, December 2009, January 2009

Jacopo


On Dec 9, 2009, at 5:09 PM, Adrian Crum wrote:

> Jacopo,
> 
> FYI: the Calendar roll method is intended to be used by UI artifacts as a 
> type of spinner. In this example, rolling the month increments the month 
> without recalculating the date.
> 
> Let's say the current date is January 31, 2009, Rolling the month +1 will 
> result in February 31, 2009. That isn't a real date, of course. In contrast, 
> adding +1 to the month will give you February 28, 2009.
> 
> I hope this helps.
> 
> -Adrian
> 
> [email protected] wrote:
>> Author: jacopoc
>> Date: Wed Dec  9 15:06:42 2009
>> New Revision: 888825
>> URL: http://svn.apache.org/viewvc?rev=888825&view=rev
>> Log:
>> Fixed code that could cause infinite loops.
>> Modified:
>>    
>> ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/GlAccountTrialBalance.groovy
>> Modified: 
>> ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/GlAccountTrialBalance.groovy
>> URL: 
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/GlAccountTrialBalance.groovy?rev=888825&r1=888824&r2=888825&view=diff
>> ==============================================================================
>> --- 
>> ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/GlAccountTrialBalance.groovy
>>  (original)
>> +++ 
>> ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/GlAccountTrialBalance.groovy
>>  Wed Dec  9 15:06:42 2009
>> @@ -76,7 +76,6 @@
>>         isPosted = parameters.isPosted;
>>          while (customTimePeriodEndDate <= currentTimePeriod.thruDate) {
>> -
>>             if ("ALL".equals(isPosted)) {
>>                 isPosted = "";
>>             }
>> @@ -97,7 +96,7 @@
>>              glAcctgTrialBalanceList.add(acctgTransEntriesAndTransTotal);
>> -            calendarTimePeriodStartDate.roll(Calendar.MONTH, 1);
>> +            calendarTimePeriodStartDate.add(Calendar.MONTH, 1);
>>             Timestamp retStampStartDate = new 
>> Timestamp(calendarTimePeriodStartDate.getTimeInMillis());
>>             retStampStartDate.setNanos(0);
>>             customTimePeriodStartDate = retStampStartDate;

Reply via email to