View Javadoc

1   /*
2    * Copyright 2009 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.ole.module.purap.document.validation.impl;
17  
18  import org.kuali.ole.module.purap.businessobject.PurApItem;
19  import org.kuali.ole.sys.document.validation.GenericValidation;
20  import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent;
21  
22  public class PurchasingAccountsPayableAccountAtleastOneLineHasPercentValidation extends GenericValidation {
23  
24      private PurApItem itemForValidation;
25  
26      /**
27       * Verifies at least one account has percent distribution to indicate how an
28       * overage is to be funded.
29       */
30      @Override
31      public boolean validate(AttributedDocumentEvent event) {
32          boolean valid = true;
33  
34          // OLE-3405 : disabling the distribution method choice
35  //        boolean percentExists = false;
36  //
37  //        PurchasingAccountsPayableDocumentBase purapDoc = (PurchasingAccountsPayableDocumentBase) event.getDocument();
38  //
39  //        if (PurapConstants.AccountDistributionMethodCodes.SEQUENTIAL_CODE.equalsIgnoreCase(purapDoc.getAccountDistributionMethod())) {
40  //            for (PurApAccountingLine account : itemForValidation.getSourceAccountingLines()) {
41  //                if (ObjectUtils.isNotNull(account.getAccountLinePercent())) {
42  //                    //there should be atleast one accounting line where percent should be > 0.00
43  //                    if (account.getAccountLinePercent().compareTo(BigDecimal.ZERO) == 1) {
44  //                        percentExists = true;
45  //                }
46  //            }
47  //        }
48  //
49  //            if (!percentExists) {
50  //            GlobalVariables.getMessageMap().putError(PurapConstants.ITEM_TAB_ERROR_PROPERTY, PurapKeyConstants.ERROR_ITEM_ACCOUNTING_LINE_ATLEAST_ONE_PERCENT_MISSING);
51  //                return false;
52  //            }
53  //        }
54  
55          return valid;
56      }
57  
58      public PurApItem getItemForValidation() {
59          return itemForValidation;
60      }
61  
62      public void setItemForValidation(PurApItem itemForValidation) {
63          this.itemForValidation = itemForValidation;
64      }
65  }