Re: svn commit: r935402 - in /ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions: invoice/EditInvoice.groovy invoice/OrderListInvoiceItem.groovy order/BillingAccountOrders.groovy reports/TransactionTotals.groovy

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r935402 - in /ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions: invoice/EditInvoice.groovy invoice/OrderListInvoiceItem.groovy order/BillingAccountOrders.groovy reports/TransactionTotals.groovy

Adam Heath-2
[hidden email] wrote:
> Author: lektran
> Date: Sun Apr 18 20:20:41 2010
> New Revision: 935402
>
> URL: http://svn.apache.org/viewvc?rev=935402&view=rev
> Log:
> As it turns out, Groovy's List.first() method doesn't quite behave as I'd assumed.  Fixes bug report by Blas Rodriguez Somoza in OFBIZ-3711.

What is wrong about it?  In the use cases below, the list can't be
null, so it can't be that.  Is it maybe the handling of a 0-sized list?

>
> Modified:
>     ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy
>     ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy
>     ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy
>     ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy
>
> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy?rev=935402&r1=935401&r2=935402&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy (original)
> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy Sun Apr 18 20:20:41 2010
> @@ -78,7 +78,7 @@ if (invoice) {
>          taxRate = invoiceItem.getRelatedOne("TaxAuthorityRateProduct");
>          if (taxRate && "VAT_TAX".equals(taxRate.taxAuthorityRateTypeId)) {
>              taxInfos = EntityUtil.filterByDate(delegator.findByAnd("PartyTaxAuthInfo", [partyId : billingParty.partyId, taxAuthGeoId : taxRate.taxAuthGeoId, taxAuthPartyId : taxRate.taxAuthPartyId]), invoice.invoiceDate);
> -            taxInfo = taxInfos.first();
> +            taxInfo = EntityUtil.getFirst(taxInfos);
>              if (taxInfo) {
>                  context.billingPartyTaxId = taxInfo.partyTaxId;
>              }
>
> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy?rev=935402&r1=935401&r2=935402&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy (original)
> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy Sun Apr 18 20:20:41 2010
> @@ -32,7 +32,7 @@ if (invoiceItemList) {
>      invoiceItemList.each { invoiceItem ->
>          invoiceItemSeqId = invoiceItem.invoiceItemSeqId;
>          invoiceId = invoiceItem.invoiceId;
> -        orderItemBilling = delegator.findByAnd("OrderItemBilling", [invoiceId : invoiceId, invoiceItemSeqId : invoiceItemSeqId]).first();
> +        orderItemBilling = EntityUtil.getFirst(delegator.findByAnd("OrderItemBilling", [invoiceId : invoiceId, invoiceItemSeqId : invoiceItemSeqId]));
>          Map invoiceItemMap = FastMap.newInstance();
>          invoiceItemMap.putAll((Map) invoiceItem);
>          if (orderItemBilling) {
>
> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy?rev=935402&r1=935401&r2=935402&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy (original)
> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy Sun Apr 18 20:20:41 2010
> @@ -27,7 +27,7 @@ if (billingAccountId) {
>      if (orderList) {
>          orderList.each { orderHeader ->
>              orderId = orderHeader.orderId;
> -            orderBillingAcc = delegator.findByAnd("OrderHeaderAndPaymentPref", [orderId : orderId]).first();
> +            orderBillingAcc = EntityUtil.getFirst(delegator.findByAnd("OrderHeaderAndPaymentPref", [orderId : orderId]));
>              orderBillingAccMap = FastMap.newInstance();
>              if (orderBillingAcc.paymentMethodTypeId.equals("EXT_BILLACT") && orderBillingAcc.paymentStatusId.equals("PAYMENT_NOT_RECEIVED")) {
>                  orderBillingAccMap.putAll(orderBillingAcc);
>
> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy?rev=935402&r1=935401&r2=935402&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy (original)
> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy Sun Apr 18 20:20:41 2010
> @@ -76,7 +76,7 @@ if (postedTransactionTotals) {
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId));
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("glAccountId", EntityOperator.EQUALS, postedTransactionTotal.glAccountId));
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("customTimePeriodId", EntityOperator.EQUALS, lastClosedTimePeriod.customTimePeriodId));
> -                        lastTimePeriodHistory = delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false).first();
> +                        lastTimePeriodHistory = EntityUtil.getFirst(delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false));
>                          if (lastTimePeriodHistory) {
>                              accountMap = UtilMisc.toMap("glAccountId", lastTimePeriodHistory.glAccountId, "accountCode", lastTimePeriodHistory.accountCode, "accountName", lastTimePeriodHistory.accountName, "balance", lastTimePeriodHistory.getBigDecimal("endingBalance"), "openingD", lastTimePeriodHistory.getBigDecimal("postedDebits"), "openingC", lastTimePeriodHistory.getBigDecimal("postedCredits"), "D", BigDecimal.ZERO, "C", BigDecimal.ZERO);
>                          }
> @@ -173,7 +173,7 @@ if (unpostedTransactionTotals) {
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId));
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("glAccountId", EntityOperator.EQUALS, unpostedTransactionTotal.glAccountId));
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("customTimePeriodId", EntityOperator.EQUALS, lastClosedTimePeriod.customTimePeriodId));
> -                        lastTimePeriodHistory = delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false).first();
> +                        lastTimePeriodHistory = EntityUtil.getFirst(delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false));
>                          if (lastTimePeriodHistory) {
>                              accountMap = UtilMisc.toMap("glAccountId", lastTimePeriodHistory.glAccountId, "accountCode", lastTimePeriodHistory.accountCode, "accountName", lastTimePeriodHistory.accountName, "balance", lastTimePeriodHistory.getBigDecimal("endingBalance"), "openingD", lastTimePeriodHistory.getBigDecimal("postedDebits"), "openingC", lastTimePeriodHistory.getBigDecimal("postedCredits"), "D", BigDecimal.ZERO, "C", BigDecimal.ZERO);
>                          }
> @@ -269,7 +269,7 @@ if (allTransactionTotals) {
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId));
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("glAccountId", EntityOperator.EQUALS, allTransactionTotal.glAccountId));
>                          timePeriodAndExprs.add(EntityCondition.makeCondition("customTimePeriodId", EntityOperator.EQUALS, lastClosedTimePeriod.customTimePeriodId));
> -                        lastTimePeriodHistory = delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false).first();
> +                        lastTimePeriodHistory = EntityUtil.getFirst(delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false));
>                          if (lastTimePeriodHistory) {
>                              accountMap = UtilMisc.toMap("glAccountId", lastTimePeriodHistory.glAccountId, "accountCode", lastTimePeriodHistory.accountCode, "accountName", lastTimePeriodHistory.accountName, "balance", lastTimePeriodHistory.getBigDecimal("endingBalance"), "openingD", lastTimePeriodHistory.getBigDecimal("postedDebits"), "openingC", lastTimePeriodHistory.getBigDecimal("postedCredits"), "D", BigDecimal.ZERO, "C", BigDecimal.ZERO);
>                          }
>
>

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r935402 - in /ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions: invoice/EditInvoice.groovy invoice/OrderListInvoiceItem.groovy order/BillingAccountOrders.groovy reports/TransactionTotals.groovy

Scott Gray-2
On 19/04/2010, at 8:36 AM, Adam Heath wrote:

> [hidden email] wrote:
>> Author: lektran
>> Date: Sun Apr 18 20:20:41 2010
>> New Revision: 935402
>>
>> URL: http://svn.apache.org/viewvc?rev=935402&view=rev
>> Log:
>> As it turns out, Groovy's List.first() method doesn't quite behave as I'd assumed.  Fixes bug report by Blas Rodriguez Somoza in OFBIZ-3711.
>
> What is wrong about it?  In the use cases below, the list can't be
> null, so it can't be that.  Is it maybe the handling of a 0-sized list?
Correct, it doesn't allow you to call first() on an empty list and get back null.

>
>>
>> Modified:
>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy
>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy
>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy
>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy
>>
>> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy?rev=935402&r1=935401&r2=935402&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy (original)
>> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/EditInvoice.groovy Sun Apr 18 20:20:41 2010
>> @@ -78,7 +78,7 @@ if (invoice) {
>>         taxRate = invoiceItem.getRelatedOne("TaxAuthorityRateProduct");
>>         if (taxRate && "VAT_TAX".equals(taxRate.taxAuthorityRateTypeId)) {
>>             taxInfos = EntityUtil.filterByDate(delegator.findByAnd("PartyTaxAuthInfo", [partyId : billingParty.partyId, taxAuthGeoId : taxRate.taxAuthGeoId, taxAuthPartyId : taxRate.taxAuthPartyId]), invoice.invoiceDate);
>> -            taxInfo = taxInfos.first();
>> +            taxInfo = EntityUtil.getFirst(taxInfos);
>>             if (taxInfo) {
>>                 context.billingPartyTaxId = taxInfo.partyTaxId;
>>             }
>>
>> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy?rev=935402&r1=935401&r2=935402&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy (original)
>> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/OrderListInvoiceItem.groovy Sun Apr 18 20:20:41 2010
>> @@ -32,7 +32,7 @@ if (invoiceItemList) {
>>     invoiceItemList.each { invoiceItem ->
>>         invoiceItemSeqId = invoiceItem.invoiceItemSeqId;
>>         invoiceId = invoiceItem.invoiceId;
>> -        orderItemBilling = delegator.findByAnd("OrderItemBilling", [invoiceId : invoiceId, invoiceItemSeqId : invoiceItemSeqId]).first();
>> +        orderItemBilling = EntityUtil.getFirst(delegator.findByAnd("OrderItemBilling", [invoiceId : invoiceId, invoiceItemSeqId : invoiceItemSeqId]));
>>         Map invoiceItemMap = FastMap.newInstance();
>>         invoiceItemMap.putAll((Map) invoiceItem);
>>         if (orderItemBilling) {
>>
>> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy?rev=935402&r1=935401&r2=935402&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy (original)
>> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/order/BillingAccountOrders.groovy Sun Apr 18 20:20:41 2010
>> @@ -27,7 +27,7 @@ if (billingAccountId) {
>>     if (orderList) {
>>         orderList.each { orderHeader ->
>>             orderId = orderHeader.orderId;
>> -            orderBillingAcc = delegator.findByAnd("OrderHeaderAndPaymentPref", [orderId : orderId]).first();
>> +            orderBillingAcc = EntityUtil.getFirst(delegator.findByAnd("OrderHeaderAndPaymentPref", [orderId : orderId]));
>>             orderBillingAccMap = FastMap.newInstance();
>>             if (orderBillingAcc.paymentMethodTypeId.equals("EXT_BILLACT") && orderBillingAcc.paymentStatusId.equals("PAYMENT_NOT_RECEIVED")) {
>>                 orderBillingAccMap.putAll(orderBillingAcc);
>>
>> Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy?rev=935402&r1=935401&r2=935402&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy (original)
>> +++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy Sun Apr 18 20:20:41 2010
>> @@ -76,7 +76,7 @@ if (postedTransactionTotals) {
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId));
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("glAccountId", EntityOperator.EQUALS, postedTransactionTotal.glAccountId));
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("customTimePeriodId", EntityOperator.EQUALS, lastClosedTimePeriod.customTimePeriodId));
>> -                        lastTimePeriodHistory = delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false).first();
>> +                        lastTimePeriodHistory = EntityUtil.getFirst(delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false));
>>                         if (lastTimePeriodHistory) {
>>                             accountMap = UtilMisc.toMap("glAccountId", lastTimePeriodHistory.glAccountId, "accountCode", lastTimePeriodHistory.accountCode, "accountName", lastTimePeriodHistory.accountName, "balance", lastTimePeriodHistory.getBigDecimal("endingBalance"), "openingD", lastTimePeriodHistory.getBigDecimal("postedDebits"), "openingC", lastTimePeriodHistory.getBigDecimal("postedCredits"), "D", BigDecimal.ZERO, "C", BigDecimal.ZERO);
>>                         }
>> @@ -173,7 +173,7 @@ if (unpostedTransactionTotals) {
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId));
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("glAccountId", EntityOperator.EQUALS, unpostedTransactionTotal.glAccountId));
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("customTimePeriodId", EntityOperator.EQUALS, lastClosedTimePeriod.customTimePeriodId));
>> -                        lastTimePeriodHistory = delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false).first();
>> +                        lastTimePeriodHistory = EntityUtil.getFirst(delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false));
>>                         if (lastTimePeriodHistory) {
>>                             accountMap = UtilMisc.toMap("glAccountId", lastTimePeriodHistory.glAccountId, "accountCode", lastTimePeriodHistory.accountCode, "accountName", lastTimePeriodHistory.accountName, "balance", lastTimePeriodHistory.getBigDecimal("endingBalance"), "openingD", lastTimePeriodHistory.getBigDecimal("postedDebits"), "openingC", lastTimePeriodHistory.getBigDecimal("postedCredits"), "D", BigDecimal.ZERO, "C", BigDecimal.ZERO);
>>                         }
>> @@ -269,7 +269,7 @@ if (allTransactionTotals) {
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId));
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("glAccountId", EntityOperator.EQUALS, allTransactionTotal.glAccountId));
>>                         timePeriodAndExprs.add(EntityCondition.makeCondition("customTimePeriodId", EntityOperator.EQUALS, lastClosedTimePeriod.customTimePeriodId));
>> -                        lastTimePeriodHistory = delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false).first();
>> +                        lastTimePeriodHistory = EntityUtil.getFirst(delegator.findList("GlAccountAndHistory", EntityCondition.makeCondition(timePeriodAndExprs, EntityOperator.AND), null, null, null, false));
>>                         if (lastTimePeriodHistory) {
>>                             accountMap = UtilMisc.toMap("glAccountId", lastTimePeriodHistory.glAccountId, "accountCode", lastTimePeriodHistory.accountCode, "accountName", lastTimePeriodHistory.accountName, "balance", lastTimePeriodHistory.getBigDecimal("endingBalance"), "openingD", lastTimePeriodHistory.getBigDecimal("postedDebits"), "openingC", lastTimePeriodHistory.getBigDecimal("postedCredits"), "D", BigDecimal.ZERO, "C", BigDecimal.ZERO);
>>                         }
>>
>>
>


smime.p7s (3K) Download Attachment