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.module.purap.document.validation.impl; 017 018import org.kuali.ole.module.purap.businessobject.PurApItem; 019import org.kuali.ole.sys.document.validation.GenericValidation; 020import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent; 021 022public class PurchasingAccountsPayableAccountAtleastOneLineHasPercentValidation extends GenericValidation { 023 024 private PurApItem itemForValidation; 025 026 /** 027 * Verifies at least one account has percent distribution to indicate how an 028 * overage is to be funded. 029 */ 030 @Override 031 public boolean validate(AttributedDocumentEvent event) { 032 boolean valid = true; 033 034 // OLE-3405 : disabling the distribution method choice 035// boolean percentExists = false; 036// 037// PurchasingAccountsPayableDocumentBase purapDoc = (PurchasingAccountsPayableDocumentBase) event.getDocument(); 038// 039// if (PurapConstants.AccountDistributionMethodCodes.SEQUENTIAL_CODE.equalsIgnoreCase(purapDoc.getAccountDistributionMethod())) { 040// for (PurApAccountingLine account : itemForValidation.getSourceAccountingLines()) { 041// if (ObjectUtils.isNotNull(account.getAccountLinePercent())) { 042// //there should be atleast one accounting line where percent should be > 0.00 043// if (account.getAccountLinePercent().compareTo(BigDecimal.ZERO) == 1) { 044// percentExists = true; 045// } 046// } 047// } 048// 049// if (!percentExists) { 050// GlobalVariables.getMessageMap().putError(PurapConstants.ITEM_TAB_ERROR_PROPERTY, PurapKeyConstants.ERROR_ITEM_ACCOUNTING_LINE_ATLEAST_ONE_PERCENT_MISSING); 051// return false; 052// } 053// } 054 055 return valid; 056 } 057 058 public PurApItem getItemForValidation() { 059 return itemForValidation; 060 } 061 062 public void setItemForValidation(PurApItem itemForValidation) { 063 this.itemForValidation = itemForValidation; 064 } 065}