1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.enrollment.class2.courseoffering.service.impl;
17
18 import java.util.Arrays;
19 import java.util.List;
20
21 import org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceTestDataLoader.CourseOfferingCreationDetails;
22 import org.kuali.student.r2.common.util.constants.LuServiceConstants;
23 import org.kuali.student.r2.common.util.constants.LuiServiceConstants;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27
28
29
30
31
32 public class TestAutogenRegGroupUserStoryThreeCourseOfferingCreationDetails implements CourseOfferingCreationDetails {
33 private static final Logger log = LoggerFactory
34 .getLogger(TestAutogenRegGroupUserStoryThreeCourseOfferingCreationDetails.class);
35
36 private String[] activityTypeKeys = new String[] {LuServiceConstants.COURSE_ACTIVITY_LECTURE_TYPE_KEY, LuServiceConstants.COURSE_ACTIVITY_LAB_TYPE_KEY};
37 private String[] activtyOfferingTypeKeys = new String[] {LuiServiceConstants.LECTURE_ACTIVITY_OFFERING_TYPE_KEY, LuiServiceConstants.LAB_ACTIVITY_OFFERING_TYPE_KEY};
38
39 private int[][]aoMaxEnrollments = new int[][] { {100,35}, {100, 25}, {200, 45}, {300, 100}, {200, 200}, {300,300} };
40 private String courseId;
41 private String courseOfferingId;
42
43 @Override
44 public String getSubjectArea() {
45 return "MATH";
46 }
47
48 @Override
49 public int getNumberOfFormats() {
50 return 1;
51 }
52
53 @Override
54 public String getFormatOfferingName(int format) {
55 return "Lecture/Lab";
56 }
57
58 @Override
59 public String[] getFormatOfferingActivityTypeKeys(int format) {
60
61 switch (format) {
62
63 case 0:
64 return activtyOfferingTypeKeys;
65 }
66
67 return null;
68 }
69
70 @Override
71 public String getCourseTitle() {
72 return "Test User Story 3";
73 }
74
75 @Override
76 public String getCourseDescription() {
77 return "";
78 }
79
80 @Override
81 public String getCourseCode() {
82 return "MATH123";
83 }
84
85 @Override
86 public List<String> getCanonicalActivityTypeKeys(int format) {
87 switch (format) {
88
89 case 0:
90 return Arrays.asList(activityTypeKeys);
91 }
92
93 return null;
94 }
95
96
97
98
99 @Override
100 public String getActivityOfferingTypeKey(int format, String activtyType) {
101
102 int activityIndex = Arrays.asList(activityTypeKeys).indexOf(activtyType);
103
104 return activtyOfferingTypeKeys[activityIndex];
105 }
106
107
108
109
110 @Override
111 public String getActivityOfferingCode(int format, String activtyType, int activity) {
112
113 return String.valueOf(activity);
114 }
115
116
117
118
119 @Override
120 public String getActivityOfferingName(int format, String activtyType, int activity) {
121
122 switch (activity) {
123 case 0:
124 return "Lecture";
125 case 1:
126 return "Lab";
127 }
128
129 return null;
130 }
131
132 @Override
133 public void storeCourseId(String id) {
134 this.courseId = id;
135 }
136
137 @Override
138 public void storeCourseOfferingId(String id) {
139
140 this.courseOfferingId = id;
141 }
142
143
144
145
146 public String getCourseId() {
147 return courseId;
148 }
149
150
151
152
153 public String getCourseOfferingId() {
154 return courseOfferingId;
155 }
156
157
158
159
160 @Override
161 public int getNumberOfActivityOfferings(int format, String activityType) {
162
163 int aoIndex = -1;
164
165 if (activityType.equals(LuServiceConstants.COURSE_ACTIVITY_LECTURE_TYPE_KEY))
166 aoIndex = 0;
167 else if (activityType.equals(LuServiceConstants.COURSE_ACTIVITY_LAB_TYPE_KEY))
168 aoIndex = 1;
169
170 if (aoIndex == -1)
171 return 0;
172
173 return aoMaxEnrollments[aoIndex].length;
174
175 }
176
177 @Override
178 public int getActivityOfferingMaxEnrollment(int format, String activityType, int activity) {
179
180 int aoIndex = -1;
181
182 if (activityType.equals(LuServiceConstants.COURSE_ACTIVITY_LECTURE_TYPE_KEY))
183 aoIndex = 0;
184 else if (activityType.equals(LuServiceConstants.COURSE_ACTIVITY_LAB_TYPE_KEY))
185 aoIndex = 1;
186
187 if (aoIndex == -1)
188 return -1;
189
190
191
192 int enrollments[] = aoMaxEnrollments[aoIndex];
193
194 if (activity >= enrollments.length)
195 return -1;
196 else
197 return enrollments[activity];
198 }
199
200
201
202 }