View Javadoc

1   /*
2    * Copyright 2011 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 1.0 (the
5    * "License"); you may not use this file except in compliance with the
6    * License.  You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl1.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
13   * implied.  See the License for the specific language governing
14   * permissions and limitations under the License.
15   */
16  
17  package org.kuali.student.enrollment.courseoffering.dto;
18  
19  import java.util.ArrayList;
20  import java.util.Date;
21  import java.util.List;
22  
23  import org.kuali.student.enrollment.courseoffering.infc.ActivityOffering;
24  import org.kuali.student.enrollment.courseoffering.infc.OfferingInstructor;
25  import org.kuali.student.r2.common.dto.TimeAmountInfo;
26  import org.kuali.student.r2.common.dto.IdEntityInfo;
27  
28  import javax.xml.bind.annotation.XmlAccessType;
29  import javax.xml.bind.annotation.XmlAccessorType;
30  import javax.xml.bind.annotation.XmlAnyElement;
31  import javax.xml.bind.annotation.XmlElement;
32  import javax.xml.bind.annotation.XmlType;
33  
34  import org.w3c.dom.Element;
35  import java.io.Serializable;
36  
37  @XmlAccessorType(XmlAccessType.FIELD)
38  @XmlType(name = "ActivityOfferingInfo", propOrder = {
39                  "id", "typeKey", "stateKey", "name", "descr", 
40                  "formatOfferingId", "formatOfferingName",
41                  "activityId", "termId", "termCode", "activityCode", 
42                  "scheduleIds", "schedulingStateKey",
43                  "isHonorsOffering", "gradingOptionKeys", "instructors",
44                  "weeklyInclassContactHours", "weeklyOutofclassContactHours", 
45                  "weeklyTotalContactHours",  "isEvaluated",
46                  "maximumEnrollment", "minimumEnrollment","isMaxEnrollmentEstimate",
47                  "activityOfferingURL",
48                  "courseOfferingId", "courseOfferingTitle", 
49                  "courseOfferingCode", "isColocated",
50                  "meta", "attributes", "_futureElements"})
51  
52  public class ActivityOfferingInfo
53      extends IdEntityInfo
54      implements ActivityOffering, Serializable {
55  
56      private static final long serialVersionUID = 1L;
57  
58      @XmlElement
59      private String formatOfferingId;
60  
61      @XmlElement
62      private String formatOfferingName;
63      
64      @XmlElement
65      private String activityId;
66          
67      @XmlElement
68      private String termId;
69  
70      @XmlElement
71      private String termCode;
72  
73      @XmlElement
74      private String activityCode;   
75  
76      @XmlElement
77      private List<String> scheduleIds;
78      
79      @XmlElement
80      private String schedulingStateKey;
81  
82      @XmlElement
83      private Boolean isHonorsOffering;
84  
85      @XmlElement
86      private List<String> gradingOptionKeys;
87  
88      @XmlElement
89      private List<OfferingInstructorInfo> instructors;
90  
91      @XmlElement
92      private String weeklyInclassContactHours;
93      
94      @XmlElement
95      private String weeklyOutofclassContactHours;
96  
97      @XmlElement
98      private String weeklyTotalContactHours;
99  
100     @XmlElement
101     private Integer maximumEnrollment;
102 
103     @XmlElement
104     private Boolean isMaxEnrollmentEstimate;
105 
106     @XmlElement
107     private Integer minimumEnrollment;
108 
109     @XmlElement
110     private Boolean isEvaluated;
111 
112     @XmlElement
113     private String activityOfferingURL;
114 
115     @XmlElement
116     private String courseOfferingId;
117 
118     @XmlElement
119     private String courseOfferingTitle;
120 
121     @XmlElement
122     private String courseOfferingCode;
123 
124     @XmlAnyElement
125     private List<Element> _futureElements;
126 
127     @XmlElement
128     private Boolean isColocated;
129 
130     /**
131      * Constructs a new ActivityOfferingInfo.
132      */
133     public ActivityOfferingInfo() {
134     }
135 
136     /**
137      * Constructs a new ActivityOfferingInfo from another
138      * ActivityOffering.
139      *
140      * @param offering the activity offering to copy
141      */
142     public ActivityOfferingInfo(ActivityOffering offering) {
143         super(offering); 
144         
145         if (offering == null) {
146             return;
147         }
148 
149         this.formatOfferingId = offering.getFormatOfferingId();
150         this.formatOfferingName = offering.getFormatOfferingName();
151         
152         this.courseOfferingId = offering.getCourseOfferingId();
153         this.courseOfferingCode = offering.getCourseOfferingCode();
154         this.courseOfferingTitle = offering.getCourseOfferingTitle();
155         
156         this.activityId = offering.getActivityId();
157         this.termId = offering.getTermId();
158         if (offering.getScheduleIds() != null) {
159             this.scheduleIds = new ArrayList<String>(offering.getScheduleIds());
160         }
161         this.schedulingStateKey = offering.getSchedulingStateKey();
162         this.activityCode = offering.getActivityCode();
163 
164         this.isHonorsOffering = offering.getIsHonorsOffering();
165         this.instructors = new ArrayList<OfferingInstructorInfo>();
166 
167         if (offering.getGradingOptionKeys() != null) {
168             this.gradingOptionKeys = new ArrayList<String>(offering.getGradingOptionKeys());
169         }
170 
171         for (OfferingInstructor instructor : offering.getInstructors()) {
172             this.instructors.add(new OfferingInstructorInfo(instructor));
173         }
174 
175         this.weeklyInclassContactHours = offering.getWeeklyInclassContactHours();
176         this.weeklyOutofclassContactHours = offering.getWeeklyOutofclassContactHours();
177         this.weeklyTotalContactHours = offering.getWeeklyTotalContactHours();
178         this.maximumEnrollment = offering.getMaximumEnrollment();
179 
180         this.minimumEnrollment = offering.getMinimumEnrollment();        
181 
182         this.isMaxEnrollmentEstimate = offering.getIsMaxEnrollmentEstimate();
183 
184         this.isEvaluated = offering.getIsEvaluated();
185         this.activityOfferingURL = offering.getActivityOfferingURL();
186     }
187 
188     @Override
189     public String getFormatOfferingId() {
190         return formatOfferingId;
191     }
192 
193     public void setFormatOfferingId(String formatOfferingId) {
194         this.formatOfferingId = formatOfferingId;
195     }
196 
197     @Override
198     public String getFormatOfferingName() {
199         return formatOfferingName;
200     }
201 
202     public void setFormatOfferingName(String formatOfferingName) {
203         this.formatOfferingName = formatOfferingName;
204     }
205 
206     @Override
207     public String getActivityId() {
208         return activityId;
209     }
210 
211     public void setActivityId(String activityId) {
212         this.activityId = activityId;
213     }
214 
215     @Override
216     public String getTermId() {
217         return termId;
218     }
219 
220     public void setTermId(String termId) {
221         this.termId = termId;
222     }
223 
224     @Override
225     public String getTermCode() {
226         return termCode;
227     }
228 
229     public void setTermCode(String termCode) {
230         this.termCode = termCode;
231     }
232 
233 
234     @Override
235     public String getActivityCode() {
236         return activityCode;
237     }
238 
239     public void setActivityCode(String activityCode) {
240         this.activityCode = activityCode;
241     }
242 
243     @Override
244     public List<String> getScheduleIds() {
245         if (this.scheduleIds == null) {
246             this.scheduleIds =  new ArrayList<String>();
247         }
248         return this.scheduleIds;
249     }
250 
251     public void setScheduleIds(List<String> scheduleIds) {
252         this.scheduleIds = scheduleIds;
253     }
254 
255     @Override
256     public Boolean getIsHonorsOffering() {
257         return isHonorsOffering;
258     }
259 
260     public void setIsHonorsOffering(Boolean isHonorsOffering) {
261         this.isHonorsOffering = isHonorsOffering;
262     }
263 
264     @Override
265     public List<String> getGradingOptionKeys() {
266         if (gradingOptionKeys == null) {
267             gradingOptionKeys = new ArrayList<String>();
268         }
269 
270         return gradingOptionKeys;
271     }
272 
273     public void setGradingOptionKeys(List<String> gradingOptionKeys) {
274         this.gradingOptionKeys = gradingOptionKeys;
275     }
276 
277     @Override
278     public List<OfferingInstructorInfo> getInstructors() {
279         if (instructors == null) {
280             instructors = new ArrayList<OfferingInstructorInfo>();
281         }
282 
283         return instructors;
284     }
285 
286     public void setInstructors(List<OfferingInstructorInfo> instructors) {
287         this.instructors = instructors;
288     }
289 
290     @Override
291     public String getWeeklyInclassContactHours() {
292         return weeklyInclassContactHours;
293     }
294 
295     public void setWeeklyInclassContactHours(String weeklyInclassContactHours) {
296         this.weeklyInclassContactHours = weeklyInclassContactHours;
297     }
298 
299     @Override
300     public String getWeeklyOutofclassContactHours() {
301         return weeklyOutofclassContactHours;
302     }
303 
304     public void setWeeklyOutofclassContactHours(String weeklyOutofclassContactHours) {
305         this.weeklyOutofclassContactHours = weeklyOutofclassContactHours;
306     }
307 
308     @Override
309     public String getWeeklyTotalContactHours() {
310         return weeklyTotalContactHours;
311     }
312 
313     public void setWeeklyTotalContactHours(String weeklyTotalContactHours) {
314         this.weeklyTotalContactHours = weeklyTotalContactHours;
315     }
316 
317     @Override
318     public Integer getMaximumEnrollment() {
319         return maximumEnrollment;
320     }
321 
322     public void setMaximumEnrollment(Integer maximumEnrollment) {
323         this.maximumEnrollment = maximumEnrollment;
324     }
325 
326     @Override
327     public Integer getMinimumEnrollment() {
328         return minimumEnrollment;
329     }
330 
331     @Override
332     public Boolean getIsEvaluated() {
333         return this.isEvaluated;
334     }
335 
336     public void setMinimumEnrollment(Integer minimumEnrollment) {
337         this.minimumEnrollment = minimumEnrollment;
338     }
339 
340     public void setHonorsOffering(Boolean honorsOffering) {
341         isHonorsOffering = honorsOffering;
342     }
343 
344     public void setIsEvaluated(Boolean isEvaluated) {
345         this.isEvaluated = isEvaluated;
346     }
347 
348     @Override
349     public Boolean getIsMaxEnrollmentEstimate() {
350        return isMaxEnrollmentEstimate;
351     }
352 
353     public void setIsMaxEnrollmentEstimate(Boolean isMaxEnrollmentEstimate) {
354          this.isMaxEnrollmentEstimate  = isMaxEnrollmentEstimate;
355     }
356 
357     @Override
358     public String getActivityOfferingURL() {
359         return activityOfferingURL;
360     }
361 
362     public void setActivityOfferingURL(String activityOfferingURL) {
363         this.activityOfferingURL = activityOfferingURL;
364     }
365 
366     @Override
367     public String getCourseOfferingId() {
368         return courseOfferingId;
369     }
370 
371     public void setCourseOfferingId(String courseOfferingId) {
372         this.courseOfferingId = courseOfferingId;
373     }
374 
375 
376     @Override
377     public String getCourseOfferingCode() {
378         return courseOfferingCode;
379     }
380 
381     public void setCourseOfferingCode(String courseOfferingCode) {
382         this.courseOfferingCode = courseOfferingCode;
383     }
384 
385     @Override
386     public String getCourseOfferingTitle() {
387         return courseOfferingTitle;
388     }
389 
390     public void setCourseOfferingTitle(String courseOfferingTitle) {
391         this.courseOfferingTitle = courseOfferingTitle;
392     }
393 
394     public void setSchedulingStateKey(String schedulingStateKey) {
395 		this.schedulingStateKey = schedulingStateKey;
396 	}
397 
398 	@Override
399 	public String getSchedulingStateKey() {
400 		return schedulingStateKey;
401 	}
402 
403     @Override
404     public Boolean getIsColocated() {
405         return isColocated;
406     }
407 
408     public void setIsColocated(Boolean isColocated) {
409         this.isColocated = isColocated;
410     }
411 
412     @Override
413     public String toString() {
414         StringBuilder builder = new StringBuilder();
415         builder.append("ActivityOfferingInfo [id=");
416         builder.append(getId());
417         builder.append (", formatOfferingId=");
418         builder.append(formatOfferingId);
419         builder.append(", formatOfferingName=");
420         builder.append(formatOfferingName);
421         builder.append(", courseOfferingId=");
422         builder.append(courseOfferingId);
423         builder.append(", activityId=");
424         builder.append(activityId);
425         builder.append(", termId=");
426         builder.append(termId);
427         builder.append(", scheduleIds=");
428         builder.append(scheduleIds.toString());
429         builder.append(", schedulingStateKey=");
430         builder.append(schedulingStateKey);
431         builder.append("]");
432         return builder.toString();
433     }
434 }