View Javadoc

1   /*
2    * Copyright 2013 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 License.
6    * 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, WITHOUT
12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13   * License for the specific language governing permissions and limitations under
14   * the License.
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   * @author Kuali Student Team 
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          /* (non-Javadoc)
97           * @see org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceTestDataLoader.CourseOfferingCreationDetails#getActivityOfferingTypeKey(int, int)
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         /* (non-Javadoc)
108          * @see org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceTestDataLoader.CourseOfferingCreationDetails#getActivityOfferingCode(int, int)
109          */
110         @Override
111         public String getActivityOfferingCode(int format, String activtyType, int activity) {
112             // TODO Auto-generated method stub
113             return String.valueOf(activity);
114         }
115 
116         /* (non-Javadoc)
117          * @see org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceTestDataLoader.CourseOfferingCreationDetails#getActivityOfferingName(int, int)
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             // should not happen.
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          * @return the courseId
145          */
146         public String getCourseId() {
147             return courseId;
148         }
149 
150         /**
151          * @return the courseOfferingId
152          */
153         public String getCourseOfferingId() {
154             return courseOfferingId;
155         }
156 
157         /* (non-Javadoc)
158          * @see org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingServiceTestDataLoader.CourseOfferingCreationDetails#getNumberOfActivityOfferings(int)
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             // else
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 }