001/**
002 * Copyright 2012 The Kuali Foundation Licensed under the
003 * Educational Community License, Version 2.0 (the "License"); you may
004 * not use this file except in compliance with the License. You may
005 * obtain a copy of the License at
006 *
007 * http://www.osedu.org/licenses/ECL-2.0
008 *
009 * Unless required by applicable law or agreed to in writing,
010 * software distributed under the License is distributed on an "AS IS"
011 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012 * or implied. See the License for the specific language governing
013 * permissions and limitations under the License.
014 *
015 * Created by vgadiyak on 8/17/12
016 */
017package org.kuali.student.enrollment.class2.courseoffering.dto;
018
019import org.apache.commons.lang.StringUtils;
020import org.kuali.student.enrollment.class2.scheduleofclasses.sort.ComparatorModel;
021import org.kuali.student.enrollment.courseoffering.dto.ActivityOfferingClusterInfo;
022import org.kuali.student.enrollment.courseoffering.dto.FormatOfferingInfo;
023import org.kuali.student.enrollment.courseoffering.dto.RegistrationGroupInfo;
024import org.kuali.student.r2.common.util.constants.LuiServiceConstants;
025
026import java.io.Serializable;
027import java.util.ArrayList;
028import java.util.List;
029
030/**
031 * This class provides a wrapper for Registration Group data
032 *
033 * @author Kuali Student Team
034 */
035public class RegistrationGroupWrapper implements Serializable, ComparatorModel {
036    //added for ARG
037    private ActivityOfferingClusterInfo aoCluster;
038    private FormatOfferingInfo formatOfferingInfo;
039
040    private RegistrationGroupInfo rgInfo;
041    private String aoActivityCodeText;
042    private String aoStateNameText;
043    private String stateKey;
044    private String aoTypeNameText;
045    private String aoInstructorText;
046    private String aoMaxEnrText;
047    private String rgMaxEnrText;
048    private String aoClusterName;
049    private String aoEditLink;
050    private String scheduledState = "";
051    private String startTimeDisplay = "";
052    private String endTimeDisplay = "";
053    private String daysDisplayName = "";
054    private String buildingName = "";
055    private String buildingCode = "";
056    private String roomName = "";
057    private String requisite;
058    private String commonRequisite;
059
060    private List<String> startTime = new ArrayList<String>();
061    private List<String> endTime = new ArrayList<String>();
062    private List<String> weekDays = new ArrayList<String>();
063
064    private List<String> bldgNameList = new ArrayList<String>();
065    private List<String> bldgCodeList = new ArrayList<String>();
066
067    public RegistrationGroupWrapper() {
068        rgInfo = new RegistrationGroupInfo();
069    }
070
071    public RegistrationGroupWrapper(RegistrationGroupInfo info) {
072        rgInfo = info;
073    }
074
075    public ActivityOfferingClusterInfo getAoCluster() {
076        return aoCluster;
077    }
078
079    public void setAoCluster(ActivityOfferingClusterInfo aoCluster) {
080        this.aoCluster = aoCluster;
081    }
082
083    public FormatOfferingInfo getFormatOfferingInfo() {
084        return formatOfferingInfo;
085    }
086
087    public void setFormatOfferingInfo(FormatOfferingInfo formatOfferingInfo) {
088        this.formatOfferingInfo = formatOfferingInfo;
089    }
090
091    public RegistrationGroupInfo getRgInfo() {
092        return rgInfo;
093    }
094
095    public void setRgInfo(RegistrationGroupInfo rgInfo) {
096        this.rgInfo = rgInfo;
097    }
098
099    public String getAoActivityCodeText() {
100        return aoActivityCodeText;
101    }
102
103    public void setAoActivityCodeText(String aoActivityCodeText) {
104        this.aoActivityCodeText = aoActivityCodeText;
105    }
106
107    public String getAoStateNameText() {
108        return aoStateNameText;
109    }
110
111    public void setAoStateNameText(String aoStateNameText) {
112        this.aoStateNameText = aoStateNameText;
113    }
114
115    public String getStateKey() {
116        return stateKey;
117    }
118
119    public void setStateKey(String key, String stateKey) {
120        // TODO: Add the cnacelled state here when it is added in M6
121        if(key.equalsIgnoreCase(LuiServiceConstants.REGISTRATION_GROUP_INVALID_STATE_KEY)){
122            this.stateKey = "<span class=\"uif-invalid-state\">" + stateKey + "</span>";
123        }else{
124            this.stateKey = stateKey;
125        }
126    }
127
128    public String getAoTypeNameText() {
129        return aoTypeNameText;
130    }
131
132    public void setAoTypeNameText(String aoTypeNameText) {
133        this.aoTypeNameText = aoTypeNameText;
134    }
135
136    public String getAoInstructorText() {
137        return aoInstructorText;
138    }
139
140    public void setAoInstructorText(String aoInstructorText) {
141        this.aoInstructorText = aoInstructorText;
142    }
143
144    public String getAoMaxEnrText() {
145        return aoMaxEnrText;
146    }
147
148    public void setAoMaxEnrText(String aoMaxEnrText) {
149        this.aoMaxEnrText = aoMaxEnrText;
150    }
151
152    public String getStartTimeDisplay() {
153        return startTimeDisplay;
154    }
155
156    public void setStartTimeDisplay(String startTimeDisplay) {
157        setStartTimeDisplay(startTimeDisplay, false);
158    }
159
160    public void setStartTimeDisplay(String startTimeDisplay,boolean appendForDisplay){
161        setStartTimeDisplay(startTimeDisplay, false, null);
162    }
163
164    public void setStartTimeDisplay(String startTimeDisplay,boolean appendForDisplay, String dlTypeClass) {
165        String cssClass = "";
166        if(!StringUtils.isEmpty(dlTypeClass)){
167            cssClass = "class=\"" + dlTypeClass + "\"";
168        }
169        if(StringUtils.isEmpty(this.startTimeDisplay)){
170            appendForDisplay = false;
171        }
172        if (appendForDisplay){
173            this.startTimeDisplay = this.startTimeDisplay + "<br><span " + cssClass + " >" + startTimeDisplay + "</span>";
174        }else{
175            this.startTimeDisplay = "<span " + cssClass + " >" + startTimeDisplay + "</span>";
176        }
177    }
178
179    public String getEndTimeDisplay() {
180        return endTimeDisplay;
181    }
182
183    public void setEndTimeDisplay(String endTimeDisplay) {
184        setEndTimeDisplay(endTimeDisplay, false);
185    }
186
187    public void setEndTimeDisplay(String endTimeDisplay,boolean appendForDisplay) {
188        setEndTimeDisplay(endTimeDisplay, false, null);
189    }
190
191    public void setEndTimeDisplay(String endTimeDisplay,boolean appendForDisplay, String dlTypeClass) {
192        String cssClass = "";
193        if(!StringUtils.isEmpty(dlTypeClass)){
194            cssClass = "class=\"" + dlTypeClass + "\"";
195        }
196        if(StringUtils.isEmpty(this.endTimeDisplay)){
197            appendForDisplay = false;
198        }
199        if (appendForDisplay){
200            this.endTimeDisplay = this.endTimeDisplay + "<br><span " + cssClass + " >" + endTimeDisplay + "</span>";
201        }else{
202            this.endTimeDisplay = "<span " + cssClass + " >" + endTimeDisplay + "</span>";
203        }
204    }
205
206    public String getDaysDisplayName() {
207        return daysDisplayName;
208    }
209
210    public void setDaysDisplayName(String daysDisplayName) {
211        setDaysDisplayName(daysDisplayName, false);
212    }
213
214    public void setDaysDisplayName(String daysDisplayName,boolean appendForDisplay) {
215        setDaysDisplayName(daysDisplayName, false, null);
216    }
217
218    public void setDaysDisplayName(String daysDisplayName,boolean appendForDisplay, String dlTypeClass) {
219        String cssClass = "";
220        if(!StringUtils.isEmpty(dlTypeClass)){
221            cssClass = "class=\"" + dlTypeClass + "\"";
222        }
223        if(StringUtils.isEmpty(this.daysDisplayName)){
224            appendForDisplay = false;
225        }
226        if (appendForDisplay){
227            this.daysDisplayName = this.daysDisplayName + "<br><span " + cssClass + " >" + daysDisplayName + "</span>";
228        }else{
229            this.daysDisplayName = "<span " + cssClass + " >" + daysDisplayName + "</span>";
230        }
231    }
232
233    public List<String> getStartTime() {
234        return startTime;
235    }
236
237    public void setStartTime(List<String> startTime) {
238        this.startTime = startTime;
239    }
240
241    public List<String> getEndTime() {
242        return endTime;
243    }
244
245    public void setEndTime(List<String> endTime) {
246        this.endTime = endTime;
247    }
248
249    public String getScheduledState() {
250        return scheduledState;
251    }
252
253    public void setScheduledState(String scheduledState) {
254        setScheduledState(scheduledState, false);
255    }
256
257    public void setScheduledState(String scheduledState,boolean appendForDisplay) {
258        setScheduledState(scheduledState, false, null);
259    }
260
261    public void setScheduledState(String scheduledState,boolean appendForDisplay, String dlTypeClass) {
262        String cssClass = "";
263        if(!StringUtils.isEmpty(dlTypeClass)){
264            cssClass = "class=\"" + dlTypeClass + "\"";
265        }
266        if(StringUtils.isEmpty(this.scheduledState)){
267            appendForDisplay = false;
268        }
269        if (appendForDisplay){
270            this.scheduledState = this.scheduledState + "<br><span " + cssClass + " >" + scheduledState + "</span>";
271        }else{
272            this.scheduledState = "<span " + cssClass + " >" + scheduledState + "</span>";
273        }
274    }
275
276    public List<String> getWeekDays() {
277        return weekDays;
278    }
279
280    public void setWeekDays(List<String> weekDays) {
281        this.weekDays = weekDays;
282    }
283
284    public String getBuildingName() {
285        return buildingName;
286    }
287
288    public void setBuildingName(String buildingName) {
289        setBuildingName(buildingName, false);
290    }
291
292    public void setBuildingName(String buildingName,boolean appendForDisplay) {
293        setBuildingName(buildingName, false, null);
294    }
295
296    public void setBuildingName(String buildingName,boolean appendForDisplay, String dlTypeClass) {
297        String cssClass = "";
298        if(!StringUtils.isEmpty(dlTypeClass)){
299            cssClass = "class=\"" + dlTypeClass + "\"";
300        }
301        if(StringUtils.isEmpty(this.buildingName)){
302            appendForDisplay = false;
303        }
304        if (appendForDisplay){
305            this.buildingName = this.buildingName + "<br><span " + cssClass + " >" + buildingName + "</span>";
306        }else{
307            this.buildingName = "<span " + cssClass + " >" + buildingName + "</span>";
308        }
309    }
310
311    public String getBuildingCode() {
312        return buildingCode;
313    }
314
315    public void setBuildingCode(String buildingCode) {
316        setBuildingCode(buildingCode, false);
317    }
318
319    public void setBuildingCode(String buildingCode,boolean appendForDisplay) {
320        setBuildingCode(buildingCode, false, null);
321    }
322
323    public void setBuildingCode(String buildingCode,boolean appendForDisplay, String dlTypeClass) {
324        String cssClass = "";
325        if(!StringUtils.isEmpty(dlTypeClass)){
326            cssClass = "class=\"" + dlTypeClass + "\"";
327        }
328        if(StringUtils.isEmpty(this.buildingCode)){
329            appendForDisplay = false;
330        }
331        if (appendForDisplay){
332            this.buildingCode = this.buildingCode + "<br><span " + cssClass + " >" + buildingCode + "</span>";
333        }else{
334            this.buildingCode = buildingCode;
335        }
336    }
337
338    public void setBuildingCodeWithTooltip(String buildingCode, String buildingName, String dlTypeClass) {
339        String cssClass = "";
340        boolean  appendForDisplay = true;
341        if(!StringUtils.isEmpty(dlTypeClass)){
342            cssClass = "class=\"" + dlTypeClass + "\"";
343        }
344        if(StringUtils.isEmpty(this.buildingCode)){
345            appendForDisplay = false;
346        } else {
347            appendForDisplay = true;
348        }
349        String underlineCssClass = "<span style=\"border-bottom: 1px dotted;\">";
350
351/*
352        if (appendForDisplay){
353            this.buildingCode = this.buildingCode + "<br><span " + cssClass + " >" + "  [id='SchOfClasses-RegGroup-BuildingCodeAndName-Tooltip' messageText='" + buildingCode + "'" + " toolTip.tooltipContent="+ "'" + buildingName +"']" + "</span>";
354        }else{
355            this.buildingCode = "<span " + cssClass + " >" + "  [id='SchOfClasses-RegGroup-BuildingCodeAndName-Tooltip' messageText=" + "'" + buildingCode + "'" + " toolTip.tooltipContent=" + "'" + buildingName + "']" + "</span>";
356        }
357*/
358        String BldgCodeMark = underlineCssClass + buildingCode + "</span>";
359        if (appendForDisplay){
360            this.buildingCode = this.buildingCode + "<br>" + BldgCodeMark;
361        }else{
362            this.buildingCode = BldgCodeMark;
363        }
364
365    }
366
367    public void setBuildingCodeWithTooltip(String buildingCode, String buildingName) {
368        String underlineCssClass = "<span style=\"border-bottom: 1px dotted;\">";
369
370        String BldgCodeMark = underlineCssClass + buildingCode + "</span>";
371
372        this.buildingCode = BldgCodeMark;
373    }
374
375    public List<String> getBldgNameList() {
376        return bldgNameList;
377    }
378
379    public void setBldgNameList(List<String> bldgNameList) {
380        this.bldgNameList = bldgNameList;
381    }
382
383    public List<String> getBldgCodeList() {
384        return bldgCodeList;
385    }
386
387    public void setBldgCodeList(List<String> bldgCodeList) {
388        this.bldgCodeList = bldgCodeList;
389    }
390
391    public String getRoomName() {
392        return roomName;
393    }
394
395    public void setRoomName(String roomName) {
396        setRoomName(roomName, false);
397    }
398
399    public void setRoomName(String roomName,boolean appendForDisplay) {
400        setRoomName(roomName, false, null);
401    }
402
403    public void setRoomName(String roomName,boolean appendForDisplay, String dlTypeClass) {
404        String cssClass = "";
405        if(!StringUtils.isEmpty(dlTypeClass)){
406            cssClass = "class=\"" + dlTypeClass + "\"";
407        }
408        if(StringUtils.isEmpty(this.roomName)){
409            appendForDisplay = false;
410        }
411        if (appendForDisplay){
412            this.roomName = this.roomName + "<br><span " + cssClass + " >" + roomName + "</span>";
413        }else{
414            this.roomName = "<span " + cssClass + " >" + roomName + "</span>";
415        }
416    }
417
418    public String getRgMaxEnrText() {
419        return rgMaxEnrText;
420    }
421
422    public void setRgMaxEnrText(String rgMaxEnrText) {
423        this.rgMaxEnrText = rgMaxEnrText;
424    }
425
426    public String getAoClusterName() {
427        return aoClusterName;
428    }
429
430    public void setAoClusterName(String aoClusterName) {
431        this.aoClusterName = aoClusterName;
432    }
433
434    public String getAoEditLink() {
435        return aoEditLink;
436    }
437
438    public void setAoEditLink(String aoEditLink) {
439        this.aoEditLink = aoEditLink;
440    }
441
442    public String getRequisite() {
443        return requisite;
444    }
445
446    public void setRequisite(String requisite) {
447        this.requisite = requisite;
448    }
449
450    public String getCommonRequisite() {
451        return commonRequisite;
452    }
453
454    public void setCommonRequisite(String commonRequisite) {
455        this.commonRequisite = commonRequisite;
456    }
457}