View Javadoc
1   /*
2    * The Kuali Financial System, a comprehensive financial management system for higher education.
3    * 
4    * Copyright 2005-2014 The Kuali Foundation
5    * 
6    * This program is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Affero General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   * 
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Affero General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Affero General Public License
17   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.kuali.kfs.vnd.fixture;
20  
21  import org.kuali.kfs.vnd.businessobject.VendorAddress;
22  import org.kuali.kfs.vnd.businessobject.VendorContract;
23  import org.kuali.kfs.vnd.businessobject.VendorDetail;
24  import org.kuali.kfs.vnd.businessobject.VendorHeader;
25  import org.kuali.kfs.vnd.businessobject.VendorShippingSpecialCondition;
26  import org.kuali.kfs.vnd.businessobject.VendorSupplierDiversity;
27  import org.kuali.kfs.vnd.fixture.VendorTestConstants.VendorParts;
28  
29  public enum VendorRoutingChangesFixture {
30  
31      COMPLETE_NO_CHANGES(VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1), COMPLETE_VH_CHANGE(VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE2, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1), COMPLETE_VSD1_CHANGE(VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1,
32              VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE2, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1), COMPLETE_VSSC1_CHANGE(VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE2, VendorParts.CODE1), COMPLETE_VA2_CHANGE(VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE2, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1,
33              VendorParts.CODE1, VendorParts.CODE1), NULL_OLDS(null, null, null, null, null, null, null, null, null, null, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1), NULL_NEWS(VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.NAME, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, VendorParts.CODE1, null, null, null, null, null, null, null, null, null, null), NULL_ALL(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null), ;
34  
35      private String oldVHdr_vtCd;
36      private String oldSupDiv1_vsdCd;
37      private String oldSupDiv2_vsdCd;
38      private String oldVDtl_remitName;
39      private String oldVAddr1_vatCd;
40      private String oldVAddr2_vatCd;
41      private String oldVCtr1_pocsCd;
42      private String oldVCtr2_pocsCd;
43      private String oldVSSCond1_vsscCd;
44      private String oldVSSCond2_vsscCd;
45  
46      private String newVHdr_vtCd;
47      private String newSupDiv1_vsdCd;
48      private String newSupDiv2_vsdCd;
49      private String newVDtl_remitName;
50      private String newVAddr1_vatCd;
51      private String newVAddr2_vatCd;
52      private String newVCtr1_pocsCd;
53      private String newVCtr2_pocsCd;
54      private String newVSSCond1_vsscCd;
55      private String newVSSCond2_vsscCd;
56  
57      /**
58       * This constructor can be used by broad tests of the change detection logic.
59       */
60      private VendorRoutingChangesFixture(String oldVHdr_vtCd, String oldSupDiv1_vsdCd, String oldSupDiv2_vsdCd, String oldVDtl_remitName, String oldVAddr1_vatCd, String oldVAddr2_vatCd, String oldVCtr1_pocsCd, String oldVCtr2_pocsCd, String oldVSSCond1_vsscCd, String oldVSSCond2_vsscCd, String newVHdr_vtCd, String newSupDiv1_vsdCd, String newSupDiv2_vsdCd, String newVDtl_remitName, String newVAddr1_vatCd, String newVAddr2_vatCd, String newVCtr1_pocsCd, String newVCtr2_pocsCd, String newVSSCond1_vsscCd, String newVSSCond2_vsscCd) {
61          this.oldVHdr_vtCd = oldVHdr_vtCd;
62          this.oldSupDiv1_vsdCd = oldSupDiv1_vsdCd;
63          this.oldSupDiv2_vsdCd = oldSupDiv2_vsdCd;
64          this.oldVDtl_remitName = oldVDtl_remitName;
65          this.oldVAddr1_vatCd = oldVAddr1_vatCd;
66          this.oldVAddr2_vatCd = oldVAddr2_vatCd;
67          this.oldVCtr1_pocsCd = oldVCtr1_pocsCd;
68          this.oldVCtr2_pocsCd = oldVCtr2_pocsCd;
69          this.oldVSSCond1_vsscCd = oldVSSCond1_vsscCd;
70          this.oldVSSCond2_vsscCd = oldVSSCond2_vsscCd;
71          this.newVHdr_vtCd = newVHdr_vtCd;
72          this.newSupDiv1_vsdCd = newSupDiv1_vsdCd;
73          this.newSupDiv2_vsdCd = newSupDiv2_vsdCd;
74          this.newVDtl_remitName = newVDtl_remitName;
75          this.newVAddr1_vatCd = newVAddr1_vatCd;
76          this.newVAddr2_vatCd = newVAddr2_vatCd;
77          this.newVCtr1_pocsCd = newVCtr1_pocsCd;
78          this.newVCtr2_pocsCd = newVCtr2_pocsCd;
79          this.newVSSCond1_vsscCd = newVSSCond1_vsscCd;
80          this.newVSSCond2_vsscCd = newVSSCond2_vsscCd;
81      }
82  
83      public void populate(VendorDetail oldVDtl, VendorHeader oldVHdr, VendorDetail newVDtl, VendorHeader newVHdr) {
84  
85          // Old Vendor Header
86          oldVHdr.setVendorTypeCode(this.oldVHdr_vtCd);
87  
88          VendorSupplierDiversity oldVsd1 = new VendorSupplierDiversity();
89          oldVsd1.setVendorSupplierDiversityCode(this.oldSupDiv1_vsdCd);
90          VendorSupplierDiversity oldVsd2 = new VendorSupplierDiversity();
91          oldVsd2.setVendorSupplierDiversityCode(this.oldSupDiv2_vsdCd);
92          oldVHdr.getVendorSupplierDiversities().add(0, oldVsd1);
93          oldVHdr.getVendorSupplierDiversities().add(1, oldVsd2);
94  
95          // Old Vendor Detail
96          oldVDtl.setVendorRemitName(this.oldVDtl_remitName);
97  
98          VendorAddress oldVa1 = new VendorAddress();
99          oldVa1.setVendorAddressTypeCode(this.oldVAddr1_vatCd);
100         VendorAddress oldVa2 = new VendorAddress();
101         oldVa2.setVendorAddressTypeCode(this.oldVAddr2_vatCd);
102         oldVDtl.getVendorAddresses().add(0, oldVa1);
103         oldVDtl.getVendorAddresses().add(0, oldVa2);
104 
105         VendorContract oldVc1 = new VendorContract();
106         oldVc1.setPurchaseOrderCostSourceCode(this.oldVCtr1_pocsCd);
107         VendorContract oldVc2 = new VendorContract();
108         oldVc2.setPurchaseOrderCostSourceCode(this.oldVCtr2_pocsCd);
109         oldVDtl.getVendorContracts().add(0, oldVc1);
110         oldVDtl.getVendorContracts().add(1, oldVc2);
111 
112         VendorShippingSpecialCondition oldVssc1 = new VendorShippingSpecialCondition();
113         oldVssc1.setVendorShippingSpecialConditionCode(this.oldVSSCond1_vsscCd);
114         VendorShippingSpecialCondition oldVssc2 = new VendorShippingSpecialCondition();
115         oldVssc2.setVendorShippingSpecialConditionCode(this.oldVSSCond2_vsscCd);
116         oldVDtl.getVendorShippingSpecialConditions().add(0, oldVssc1);
117         oldVDtl.getVendorShippingSpecialConditions().add(1, oldVssc2);
118 
119         // New Vendor Header
120         newVHdr.setVendorTypeCode(this.newVHdr_vtCd);
121 
122         VendorSupplierDiversity newVsd1 = new VendorSupplierDiversity();
123         newVsd1.setVendorSupplierDiversityCode(this.newSupDiv1_vsdCd);
124         VendorSupplierDiversity newVsd2 = new VendorSupplierDiversity();
125         newVsd2.setVendorSupplierDiversityCode(this.newSupDiv2_vsdCd);
126         newVHdr.getVendorSupplierDiversities().add(0, newVsd1);
127         newVHdr.getVendorSupplierDiversities().add(1, newVsd2);
128 
129         // New Vendor Detail
130         newVDtl.setVendorRemitName(this.newVDtl_remitName);
131 
132         VendorAddress newVa1 = new VendorAddress();
133         newVa1.setVendorAddressTypeCode(this.newVAddr1_vatCd);
134         VendorAddress newVa2 = new VendorAddress();
135         newVa2.setVendorAddressTypeCode(this.newVAddr2_vatCd);
136         newVDtl.getVendorAddresses().add(0, newVa1);
137         newVDtl.getVendorAddresses().add(0, newVa2);
138 
139         VendorContract newVc1 = new VendorContract();
140         newVc1.setPurchaseOrderCostSourceCode(this.newVCtr1_pocsCd);
141         VendorContract newVc2 = new VendorContract();
142         newVc2.setPurchaseOrderCostSourceCode(this.newVCtr2_pocsCd);
143         newVDtl.getVendorContracts().add(0, newVc1);
144         newVDtl.getVendorContracts().add(1, newVc2);
145 
146         VendorShippingSpecialCondition newVssc1 = new VendorShippingSpecialCondition();
147         newVssc1.setVendorShippingSpecialConditionCode(this.newVSSCond1_vsscCd);
148         VendorShippingSpecialCondition newVssc2 = new VendorShippingSpecialCondition();
149         newVssc2.setVendorShippingSpecialConditionCode(this.newVSSCond2_vsscCd);
150         newVDtl.getVendorShippingSpecialConditions().add(0, newVssc1);
151         newVDtl.getVendorShippingSpecialConditions().add(1, newVssc2);
152     }
153 
154 }