1 package org.kuali.student.myplan.plan.dataobject;
2
3 import java.io.Serializable;
4 import java.util.Date;
5 import java.util.List;
6
7 import org.kuali.student.ap.academicplan.infc.PlanItem;
8 import org.kuali.student.ap.framework.config.KsapFrameworkServiceLocator;
9 import org.kuali.student.ap.framework.context.YearTerm;
10 import org.kuali.student.common.collection.KSCollectionUtils;
11 import org.kuali.student.r2.common.exceptions.OperationFailedException;
12 import org.kuali.student.r2.common.infc.Attribute;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
15
16 public class PlanItemDataObject implements Serializable {
17 private static final Logger LOG = LoggerFactory.getLogger(PlanItemDataObject.class);
18 private static final long serialVersionUID = -3416993703358577253L;
19
20
21 private String id;
22
23 private Date dateAdded;
24 private String planType;
25 private String atp;
26 private String refObjId;
27 private String refObjType;
28 private String term;
29 private String termName;
30 private int year;
31 private String creditPref;
32
33 private String campusCode;
34 private String activityCode;
35
36 public static PlanItemDataObject build(PlanItem item) {
37 PlanItemDataObject itemDO = new PlanItemDataObject();
38
39
40 try{
41 itemDO.setAtp(KSCollectionUtils.getRequiredZeroElement(item.getPlanTermIds()));
42 YearTerm termYear = KsapFrameworkServiceLocator.getTermHelper().getYearTerm(itemDO.getAtp());
43 itemDO.setTermName(termYear.getTermName());
44 itemDO.setYear(termYear.getYear());
45 itemDO.setTerm(termYear.getLongName());
46 }catch (OperationFailedException e){
47 LOG.warn("No term found during build",e);
48 }
49
50 itemDO.setDateAdded(item.getMeta().getCreateTime());
51 itemDO.setId(item.getId());
52 itemDO.setRefObjId(item.getRefObjectId());
53 itemDO.setRefObjType(item.getRefObjectType());
54 itemDO.setPlanType(item.getTypeKey());
55
56 for (Attribute attr : item.getAttributes()) {
57 String value = attr.getValue();
58 if ("campusCode".equals(attr.getKey()))
59 itemDO.campusCode = value;
60 if ("activityCode".equals(attr.getKey()))
61 itemDO.activityCode = value;
62 }
63
64 if(item.getCredits()!=null)itemDO.setCreditPref(item.getCredits().toString());
65
66 return itemDO;
67 }
68
69
70
71
72 private List<String> atpIds;
73
74 public String getId() {
75 return id;
76 }
77
78 public void setId(String id) {
79 this.id = id;
80 }
81
82 public Date getDateAdded() {
83 return dateAdded;
84 }
85
86 public void setDateAdded(Date dateAdded) {
87 this.dateAdded = dateAdded;
88 }
89
90 public String getPlanType() {
91 return planType;
92 }
93
94 public void setPlanType(String planType) {
95 this.planType = planType;
96 }
97
98 public String getAtp() {
99 return atp;
100 }
101
102 public void setAtp(String atp) {
103 this.atp = atp;
104 }
105
106 public String getRefObjId() {
107 return refObjId;
108 }
109
110 public void setRefObjId(String refObjId) {
111 this.refObjId = refObjId;
112 }
113
114 public String getRefObjType() {
115 return refObjType;
116 }
117
118 public void setRefObjType(String refObjType) {
119 this.refObjType = refObjType;
120 }
121
122 public String getTerm() {
123 return term;
124 }
125
126 public void setTerm(String term) {
127 this.term = term;
128 }
129
130 public int getYear() {
131 return year;
132 }
133
134 public void setYear(int year) {
135 this.year = year;
136 }
137
138 public String getCreditPref() {
139 return creditPref;
140 }
141
142 public void setCreditPref(String creditPref) {
143 this.creditPref = creditPref;
144 }
145
146 public List<String> getAtpIds() {
147 return atpIds;
148 }
149
150 public void setAtpIds(List<String> atpIds) {
151 this.atpIds = atpIds;
152 }
153 public String getIdXmlSafe() {
154 return getId() == null ? null : getId().replace('.', '_');
155 }
156
157 public String getTermName() {
158 return termName;
159 }
160
161 public void setTermName(String termName) {
162 this.termName = termName;
163 }
164
165 public String getCampusCode() {
166 return campusCode;
167 }
168
169 public void setCampusCode(String campusCode) {
170 this.campusCode = campusCode;
171 }
172
173 public String getActivityCode() {
174 return activityCode;
175 }
176
177 public void setActivityCode(String activityCode) {
178 this.activityCode = activityCode;
179 }
180
181 }