1 /*
2 * Copyright 2008 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.businessobject.CreditCardDetail;
19 import org.kuali.ole.sys.OLEKeyConstants;
20 import org.kuali.ole.sys.OLEPropertyConstants;
21 import org.kuali.ole.sys.context.SpringContext;
22 import org.kuali.ole.sys.document.validation.GenericValidation;
23 import org.kuali.ole.sys.document.validation.event.AttributedDocumentEvent;
24 import org.kuali.rice.kns.service.DataDictionaryService;
25 import org.kuali.rice.kns.service.DictionaryValidationService;
26 import org.kuali.rice.krad.util.GlobalVariables;
27 import org.kuali.rice.krad.util.MessageMap;
28
29 /**
30 * This class...
31 */
32 public class CreditCardReceiptValidation extends GenericValidation {
33 private CreditCardDetail creditCardDetailForValidation;
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 CreditCardDetail creditCardReceipt = getCreditCardDetailForValidation();
39 MessageMap errorMap = GlobalVariables.getMessageMap();
40 int originalErrorCount = errorMap.getErrorCount();
41
42 // call the DD validation which checks basic data integrity
43 SpringContext.getBean(DictionaryValidationService.class).validateBusinessObject(creditCardReceipt);
44 boolean isValid = (errorMap.getErrorCount() == originalErrorCount);
45
46 // check that dollar amount is not zero before continuing
47 if (isValid) {
48 isValid = !creditCardReceipt.getCreditCardAdvanceDepositAmount().isZero();
49 if (!isValid) {
50 String label = SpringContext.getBean(DataDictionaryService.class).getAttributeLabel(CreditCardDetail.class, OLEPropertyConstants.CREDIT_CARD_ADVANCE_DEPOSIT_AMOUNT);
51 errorMap.putError(OLEPropertyConstants.CREDIT_CARD_ADVANCE_DEPOSIT_AMOUNT, OLEKeyConstants.ERROR_ZERO_AMOUNT, label);
52 }
53 }
54
55 // if (isValid) {
56 // isValid = SpringContext.getBean(DictionaryValidationService.class).validateReferenceExists(creditCardReceipt, OLEPropertyConstants.CREDIT_CARD_TYPE);
57 // if (!isValid) {
58 // String label = SpringContext.getBean(DataDictionaryService.class).getAttributeLabel(CreditCardDetail.class, OLEPropertyConstants.FINANCIAL_DOCUMENT_CREDIT_CARD_TYPE_CODE);
59 // errorMap.putError(OLEPropertyConstants.FINANCIAL_DOCUMENT_CREDIT_CARD_TYPE_CODE, OLEKeyConstants.ERROR_EXISTENCE, label);
60 // }
61 // }
62 // if (isValid) {
63 // isValid = SpringContext.getBean(DictionaryValidationService.class).validateReferenceExists(creditCardReceipt, OLEPropertyConstants.CREDIT_CARD_VENDOR);
64 // if (!isValid) {
65 // String label = SpringContext.getBean(DataDictionaryService.class).getAttributeLabel(CreditCardDetail.class, OLEPropertyConstants.FINANCIAL_DOCUMENT_CREDIT_CARD_VENDOR_NUMBER);
66 // errorMap.putError(OLEPropertyConstants.FINANCIAL_DOCUMENT_CREDIT_CARD_VENDOR_NUMBER, OLEKeyConstants.ERROR_EXISTENCE, label);
67 // }
68 // }
69
70 return isValid;
71 }
72 /**
73 * Gets the creditCardDetailForValidation attribute.
74 * @return Returns the creditCardDetailForValidation.
75 */
76 public CreditCardDetail getCreditCardDetailForValidation() {
77 return creditCardDetailForValidation;
78 }
79 /**
80 * Sets the creditCardDetailForValidation attribute value.
81 * @param creditCardDetailForValidation The creditCardDetailForValidation to set.
82 */
83 public void setCreditCardDetailForValidation(CreditCardDetail creditCardDetailForValidation) {
84 this.creditCardDetailForValidation = creditCardDetailForValidation;
85 }
86
87
88 }