1 | |
package edu.sampleu.bookstore.rule; |
2 | |
|
3 | |
import edu.sampleu.bookstore.bo.Address; |
4 | |
import edu.sampleu.bookstore.bo.Author; |
5 | |
import org.kuali.rice.core.api.util.RiceKeyConstants; |
6 | |
import org.kuali.rice.krad.document.MaintenanceDocument; |
7 | |
import org.kuali.rice.krad.rules.MaintenanceDocumentRuleBase; |
8 | |
import org.kuali.rice.krad.util.GlobalVariables; |
9 | |
import org.kuali.rice.krad.util.KRADConstants; |
10 | |
|
11 | |
import java.util.List; |
12 | |
|
13 | |
|
14 | |
|
15 | |
|
16 | |
|
17 | |
|
18 | 0 | public class AuthorMaintenanceDocumentRule extends MaintenanceDocumentRuleBase { |
19 | |
private static final String AUTHOR_ENTRIES_PROPERTY_PATH = KRADConstants.DOCUMENT_PROPERTY_NAME |
20 | |
+ ".authorEntries"; |
21 | |
private static final String NO_ADDRESS_TYPE_ERROR_KEY = RiceKeyConstants.ERROR_CUSTOM; |
22 | |
private static final String ERROR_MESSAGE_NO_ADDTYPE_FOUND = "You must add atleast one address for Author."; |
23 | |
private static final String SAME_ADDRESS_TYPE_ERROR_KEY = RiceKeyConstants.ERROR_CUSTOM; |
24 | |
private static final String ERROR_MESSAGE_SAME_ADDTYPR_FOUND = "You must not repeat address type for addresses of Author."; |
25 | |
|
26 | |
@Override |
27 | |
protected boolean processGlobalRouteDocumentBusinessRules( |
28 | |
MaintenanceDocument document) { |
29 | |
|
30 | 0 | System.out.println("****Inside Global*****"); |
31 | |
|
32 | 0 | Author author = (Author)document.getDocumentDataObject(); |
33 | 0 | System.out.println("Inside Global Aothor Got is : " + author); |
34 | 0 | System.out.println("****Inside Global*****"); |
35 | |
|
36 | 0 | List<Address> addressEntries = author.getAddresses(); |
37 | 0 | System.out.println("Inside Global Aothor address is : " + addressEntries); |
38 | |
|
39 | |
|
40 | 0 | if (addressEntries == null || addressEntries.isEmpty()) { |
41 | 0 | System.out.println("--Got addressEntries Null--"); |
42 | 0 | GlobalVariables.getMessageMap().putError( |
43 | |
AUTHOR_ENTRIES_PROPERTY_PATH,NO_ADDRESS_TYPE_ERROR_KEY, |
44 | |
ERROR_MESSAGE_NO_ADDTYPE_FOUND); |
45 | 0 | return false; |
46 | |
} else { |
47 | 0 | System.out.println("--Got addressEntries Obj--"); |
48 | 0 | System.out.println("Inside Global Aothor address Size is : " + addressEntries.size()); |
49 | 0 | Address tempAddress = null; |
50 | 0 | for(Address address : addressEntries){ |
51 | 0 | tempAddress = address; |
52 | 0 | for(Address address2 : addressEntries){ |
53 | 0 | if(!tempAddress.equals(address2)){ |
54 | 0 | if(tempAddress.getAddressType()!= null && tempAddress.getAddressType() != null && tempAddress.getAddressType().getType().equals(address2.getAddressType().getType())){ |
55 | 0 | System.out.println("Got Same Address Typr"); |
56 | 0 | GlobalVariables.getMessageMap().putError( |
57 | |
AUTHOR_ENTRIES_PROPERTY_PATH,SAME_ADDRESS_TYPE_ERROR_KEY, |
58 | |
ERROR_MESSAGE_SAME_ADDTYPR_FOUND); |
59 | 0 | return false; |
60 | |
} |
61 | |
}else { |
62 | 0 | System.out.println("Got Same Address Object"); |
63 | |
} |
64 | |
} |
65 | |
} |
66 | |
|
67 | |
} |
68 | |
|
69 | |
|
70 | |
|
71 | 0 | return super.processGlobalRouteDocumentBusinessRules(document); |
72 | |
} |
73 | |
|
74 | |
|
75 | |
|
76 | |
|
77 | |
|
78 | |
|
79 | |
|
80 | |
|
81 | |
|
82 | |
|
83 | |
|
84 | |
|
85 | |
|
86 | |
|
87 | |
|
88 | |
|
89 | |
|
90 | |
|
91 | |
|
92 | |
|
93 | |
|
94 | |
|
95 | |
} |