001/* 002 * Copyright 2009 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.ole.select.document.validation.impl; 017 018import org.kuali.ole.module.purap.businessobject.PurApAccountingLine; 019import org.kuali.ole.module.purap.businessobject.PurApItem; 020import org.kuali.ole.module.purap.document.validation.impl.PurchasingAccountsPayableAccountTotalValidation; 021import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent; 022 023import java.math.BigDecimal; 024 025public class OlePurchasingAccountsPayableAccountTotalValidation extends PurchasingAccountsPayableAccountTotalValidation { 026 027 private PurApItem itemForValidation; 028 029 /** 030 * Verifies account percent. If the total percent does not equal 100, the validation fails. 031 */ 032 @Override 033 public boolean validate(AttributedDocumentEvent event) { 034 boolean valid = true; 035 036 // validate that the amount total 037 BigDecimal totalAmount = BigDecimal.ZERO; 038 BigDecimal desiredAmount = 039 (itemForValidation.getTotalAmount() == null) ? new BigDecimal(0) : itemForValidation.getTotalAmount().bigDecimalValue(); 040 for (PurApAccountingLine account : itemForValidation.getSourceAccountingLines()) { 041 if (account.getAmount() != null) { 042 totalAmount = totalAmount.add(account.getAmount().bigDecimalValue()); 043 } else { 044 totalAmount = totalAmount.add(BigDecimal.ZERO); 045 } 046 } 047 048 /* 049 * if (desiredAmount.compareTo(totalAmount) != 0) { 050 * GlobalVariables.getMessageMap().putError(PurapConstants.ITEM_TAB_ERROR_PROPERTY, 051 * PurapKeyConstants.ERROR_ITEM_ACCOUNTING_TOTAL_AMOUNT, itemForValidation.getItemIdentifierString(), 052 * desiredAmount.toString()); valid = false; } 053 */ 054 055 056 return valid; 057 } 058 059 public PurApItem getItemForValidation() { 060 return itemForValidation; 061 } 062 063 public void setItemForValidation(PurApItem itemForValidation) { 064 this.itemForValidation = itemForValidation; 065 } 066 067}