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.fp.document.validation.impl;
17
18 import org.kuali.ole.fp.document.AdvanceDepositDocument;
19 import org.kuali.ole.sys.OLEKeyConstants;
20 import org.kuali.ole.sys.OLEPropertyConstants;
21 import org.kuali.ole.sys.document.validation.GenericValidation;
22 import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent;
23 import org.kuali.rice.krad.util.GlobalVariables;
24
25 /**
26 * Validation for the Advance Deposit document that checks the total amount of the document.
27 */
28 public class AdvanceDepositDocumentTotalValidation extends GenericValidation {
29 private AdvanceDepositDocument advanceDepositDocumentForValidation;
30
31 /**
32 * For the Advance Deposit document, the document is balanced if the sum total of deposits - positive or negative - equals the sum total of the
33 * accounting lines.
34 *
35 * @see org.kuali.ole.sys.document.validation.Validation#validate(org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent)
36 */
37 public boolean validate(AttributedDocumentEvent event) {
38 // make sure the document is in balance
39 boolean isValid = advanceDepositDocumentForValidation.getSourceTotal().equals(advanceDepositDocumentForValidation.getTotalDollarAmount());
40
41 if (!isValid) {
42 GlobalVariables.getMessageMap().putError(OLEPropertyConstants.NEW_ADVANCE_DEPOSIT, OLEKeyConstants.AdvanceDeposit.ERROR_DOCUMENT_ADVANCE_DEPOSIT_OUT_OF_BALANCE);
43 }
44
45 return isValid;
46 }
47
48 /**
49 * Gets the advanceDepositDocumentForValidation attribute.
50 * @return Returns the advanceDepositDocumentForValidation.
51 */
52 public AdvanceDepositDocument getAdvanceDepositDocumentForValidation() {
53 return advanceDepositDocumentForValidation;
54 }
55
56 /**
57 * Sets the advanceDepositDocumentForValidation attribute value.
58 * @param advanceDepositDocumentForValidation The advanceDepositDocumentForValidation to set.
59 */
60 public void setAdvanceDepositDocumentForValidation(AdvanceDepositDocument advanceDepositDocumentForValidation) {
61 this.advanceDepositDocumentForValidation = advanceDepositDocumentForValidation;
62 }
63
64 }