1
2
3
4
5
6
7
8
9
10
11 package org.kuali.student.r2.lum.program.dto;
12
13 import java.io.Serializable;
14 import java.util.ArrayList;
15 import java.util.List;
16
17 import javax.xml.bind.annotation.XmlAccessType;
18 import javax.xml.bind.annotation.XmlAccessorType;
19 import javax.xml.bind.annotation.XmlAnyElement;
20 import javax.xml.bind.annotation.XmlElement;
21 import javax.xml.bind.annotation.XmlType;
22
23 import org.kuali.student.r2.lum.clu.dto.AccreditationInfo;
24 import org.kuali.student.r2.lum.clu.dto.CluInstructorInfo;
25 import org.kuali.student.r2.lum.clu.infc.Accreditation;
26 import org.kuali.student.r2.lum.clu.infc.CluInstructor;
27 import org.kuali.student.r2.lum.program.dto.assembly.ProgramAtpAssembly;
28 import org.kuali.student.r2.lum.program.dto.assembly.ProgramCodeAssembly;
29 import org.kuali.student.r2.lum.program.dto.assembly.ProgramCommonAssembly;
30 import org.kuali.student.r2.lum.program.dto.assembly.ProgramCredentialAssembly;
31 import org.kuali.student.r2.lum.program.dto.assembly.ProgramFullOrgAssembly;
32 import org.kuali.student.r2.lum.program.dto.assembly.ProgramIdentifierAssembly;
33 import org.kuali.student.r2.lum.program.dto.assembly.ProgramPublicationAssembly;
34 import org.kuali.student.r2.lum.program.dto.assembly.ProgramRequirementAssembly;
35 import org.kuali.student.r2.lum.program.infc.MajorDiscipline;
36 import org.kuali.student.r2.lum.program.infc.ProgramVariation;
37
38 @XmlType(name = "MajorDisciplineInfo", propOrder = {"id",
39 "typeKey",
40 "stateKey",
41 "version",
42 "descr",
43 "code",
44 "shortTitle",
45 "longTitle",
46 "transcriptTitle",
47 "universityClassification",
48 "startTerm",
49 "endTerm",
50 "endProgramEntryTerm",
51 "divisionsContentOwner",
52 "divisionsStudentOversight",
53 "unitsContentOwner",
54 "unitsStudentOversight",
55 "learningObjectives",
56 "programRequirements",
57 "referenceURL",
58 "catalogDescr",
59 "catalogPublicationTargets",
60 "intensity",
61 "cip2000Code",
62 "cip2010Code",
63 "hegisCode",
64 "selectiveEnrollmentCode",
65 "effectiveDate",
66 "diplomaTitle",
67 "campusLocations",
68 "resultOptions",
69 "stdDuration",
70 "divisionsDeployment",
71 "divisionsFinancialResources",
72 "divisionsFinancialControl",
73 "unitsDeployment",
74 "unitsFinancialResources",
75 "unitsFinancialControl",
76 "nextReviewPeriod",
77 "publishedInstructors",
78 "credentialProgramId",
79 "accreditingAgencies",
80 "variations",
81 "orgCoreProgram",
82 "attributes",
83 "meta" , "_futureElements" })
84
85 @XmlAccessorType(XmlAccessType.FIELD)
86 public class MajorDisciplineInfo extends CommonWithProgramVariationInfo implements MajorDiscipline,
87 ProgramCommonAssembly,
88 ProgramIdentifierAssembly,
89 ProgramFullOrgAssembly,
90 ProgramAtpAssembly,
91 ProgramCodeAssembly,
92 ProgramPublicationAssembly,
93 ProgramCredentialAssembly,
94 ProgramRequirementAssembly,
95 Serializable {
96
97 private static final long serialVersionUID = 1L;
98 @XmlElement
99 private String nextReviewPeriod;
100 @XmlElement
101 private List<CluInstructorInfo> publishedInstructors;
102 @XmlElement
103 private String credentialProgramId;
104 @XmlElement
105 private List<AccreditationInfo> accreditingAgencies;
106 @XmlElement
107 private List<ProgramVariationInfo> variations;
108 @XmlElement
109 private CoreProgramInfo orgCoreProgram;
110 @XmlAnyElement
111 private List<Object> _futureElements;
112
113 public MajorDisciplineInfo() {
114 }
115
116 public MajorDisciplineInfo(MajorDiscipline input) {
117 super(input);
118
119 if (input.getPublishedInstructors() != null) {
120 this.publishedInstructors = new ArrayList<CluInstructorInfo>(input.getPublishedInstructors().size());
121 for (CluInstructor cluInst : input.getPublishedInstructors()) {
122 this.publishedInstructors.add(new CluInstructorInfo(cluInst));
123 }
124 }
125 this.credentialProgramId = input.getCredentialProgramId();
126
127 this.nextReviewPeriod = input.getNextReviewPeriod();
128 if (input.getAccreditingAgencies() != null) {
129 this.accreditingAgencies = new ArrayList<AccreditationInfo>();
130 for (Accreditation aa : input.getAccreditingAgencies()) {
131 this.accreditingAgencies.add(new AccreditationInfo(aa));
132 }
133 }
134 if (input.getVariations() != null) {
135 this.variations = new ArrayList<ProgramVariationInfo>(input.getVariations().size());
136 for (ProgramVariation pv : input.getVariations()) {
137 ProgramVariationInfo info = new ProgramVariationInfo(pv);
138 this.variations.add(info);
139 }
140 }
141 if (input.getOrgCoreProgram() != null) {
142 this.orgCoreProgram = new CoreProgramInfo(input.getOrgCoreProgram());
143 }
144 }
145
146 @Override
147 public List<CluInstructorInfo> getPublishedInstructors() {
148 if (publishedInstructors == null) {
149 publishedInstructors = new ArrayList<CluInstructorInfo>(0);
150 }
151 return publishedInstructors;
152 }
153
154 public void setPublishedInstructors(List<CluInstructorInfo> publishedInstructors) {
155 this.publishedInstructors = publishedInstructors;
156 }
157
158 @Override
159 public String getCredentialProgramId() {
160 return credentialProgramId;
161 }
162
163 public void setCredentialProgramId(String credentialProgramId) {
164 this.credentialProgramId = credentialProgramId;
165 }
166
167 @Override
168 public List<ProgramVariationInfo> getVariations() {
169 if (variations == null) {
170 variations = new ArrayList<ProgramVariationInfo>(0);
171 }
172 return variations;
173 }
174
175 public void setVariations(List<ProgramVariationInfo> variations) {
176 this.variations = variations;
177 }
178
179 @Override
180 public String getNextReviewPeriod() {
181 return nextReviewPeriod;
182 }
183
184 public void setNextReviewPeriod(String nextReviewPeriod) {
185 this.nextReviewPeriod = nextReviewPeriod;
186 }
187
188 @Override
189 public List<AccreditationInfo> getAccreditingAgencies() {
190 return accreditingAgencies;
191 }
192
193 public void setAccreditingAgencies(List<AccreditationInfo> accreditingAgencies) {
194 this.accreditingAgencies = accreditingAgencies;
195 }
196
197 @Override
198 public CoreProgramInfo getOrgCoreProgram() {
199 return orgCoreProgram;
200 }
201
202 public void setOrgCoreProgram(CoreProgramInfo orgCoreProgram) {
203 this.orgCoreProgram = orgCoreProgram;
204 }
205
206
207 }