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  package org.kuali.student.r2.common.util.constants;
17  
18  import org.kuali.student.enrollment.lui.dto.LuiInfo;
19  import org.kuali.student.enrollment.lui.dto.LuiLuiRelationInfo;
20  import org.kuali.student.enrollment.lui.service.LuiService;
21  import org.kuali.student.r2.common.constants.CommonServiceConstants;
22  
23  import java.util.HashSet;
24  
25  /**
26   * Lui Service Constants
27   *
28   * @author Kuali Rice Team (kuali-rice@googlegroups.com)
29   */
30  public class LuiServiceConstants {
31  
32      public static final String SERVICE_NAME_LOCAL_PART = LuiService.class.getSimpleName ();
33      public static final String NAMESPACE = CommonServiceConstants.REF_OBJECT_URI_GLOBAL_PREFIX + "lui";
34      public static final String REF_OBJECT_URI_LUI = NAMESPACE + "/" + LuiInfo.class.getSimpleName();
35      public static final String REF_OBJECT_URI_LUI_LUI_RELATION = NAMESPACE + "/" + LuiLuiRelationInfo.class.getSimpleName();
36      public static final String LUI_KEY_PREFIX = "kuali.lui";
37  
38      /**
39       * Course Offering, Format Offering, Registration Group Types
40       */
41      public static final String COURSE_OFFERING_TYPE_KEY = "kuali.lui.type.course.offering";
42      // 6/13/2012 Per conversation with Norm/Melissa to include course with format in the format offering type key
43      public static final String FORMAT_OFFERING_TYPE_KEY = "kuali.lui.type.course.format.offering";
44      public static final String REGISTRATION_GROUP_TYPE_KEY = "kuali.lui.type.registration.group";
45  
46      public static final boolean isFormatOfferingTypeKey(String possibleType) {
47          if (possibleType == null) {
48              return false;
49          }
50          return FORMAT_OFFERING_TYPE_KEY.equals(possibleType.trim());
51      }
52      /**
53       * Activity types
54       * https://wiki.kuali.org/display/STUDENT/Activity+Types
55       */
56      // This is a grouping type used for type-type relations
57      public static final String ACTIVITY_OFFERING_GROUP_TYPE_KEY = "kuali.lui.type.grouping.activity";
58      // These are the activity offering types
59      public static final String LECTURE_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.lecture";
60      public static final String LAB_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.lab";
61      public static final String DISCUSSION_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.discussion";
62      public static final String TUTORIAL_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.tutorial";
63      public static final String WEB_LECTURE_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.weblecture";
64      public static final String WEB_DISCUSS_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.webdiscussion";
65      public static final String DIRECTED_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.directed";
66      public static final String STUDIO_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.studio";
67      public static final String CORRESPOND_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.correspond";
68      public static final String ACTIVITY_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.activity";
69      public static final String COLLOQUIUM_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.colloquium";
70      public static final String DEMONSTRATION_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.demonstration";
71      public static final String FIELD_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.field";
72      public static final String HOMEWORK_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.homework";
73      public static final String INDEPEND_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.independ";
74      public static final String INTERNSHIP_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.internship";
75      public static final String PRIVATE_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.private";
76      public static final String RECITATION_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.recitation";
77      public static final String RESEARCH_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.research";
78      public static final String SELF_PACED_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.selfpaced";
79      public static final String COMP_BASED_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.compbased";
80      public static final String VIDEO_CONF_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.videoconf";
81      public static final String CLERKSHIP_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.clerkship";
82      public static final String CLINIC_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.clinic";
83      public static final String CONFERENCE_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.conference";
84      public static final String PRACTICUM_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.practicum";
85      public static final String QUIZ_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.quiz";
86      public static final String SEMINAR_ACTIVITY_OFFERING_TYPE_KEY = "kuali.lui.type.activity.offering.seminar";
87  
88      public static final String[] ALL_ACTIVITY_TYPES = {
89          LECTURE_ACTIVITY_OFFERING_TYPE_KEY,
90          LAB_ACTIVITY_OFFERING_TYPE_KEY,
91          DISCUSSION_ACTIVITY_OFFERING_TYPE_KEY,
92          TUTORIAL_ACTIVITY_OFFERING_TYPE_KEY,
93          WEB_LECTURE_ACTIVITY_OFFERING_TYPE_KEY,
94          WEB_DISCUSS_ACTIVITY_OFFERING_TYPE_KEY,
95          DIRECTED_ACTIVITY_OFFERING_TYPE_KEY,
96          STUDIO_ACTIVITY_OFFERING_TYPE_KEY,
97          CORRESPOND_ACTIVITY_OFFERING_TYPE_KEY,
98          ACTIVITY_ACTIVITY_OFFERING_TYPE_KEY,
99          COLLOQUIUM_ACTIVITY_OFFERING_TYPE_KEY,
100         DEMONSTRATION_ACTIVITY_OFFERING_TYPE_KEY,
101         FIELD_ACTIVITY_OFFERING_TYPE_KEY,
102         HOMEWORK_ACTIVITY_OFFERING_TYPE_KEY,
103         INDEPEND_ACTIVITY_OFFERING_TYPE_KEY,
104         INTERNSHIP_ACTIVITY_OFFERING_TYPE_KEY,
105         PRIVATE_ACTIVITY_OFFERING_TYPE_KEY,
106         RECITATION_ACTIVITY_OFFERING_TYPE_KEY,
107         RESEARCH_ACTIVITY_OFFERING_TYPE_KEY,
108         SELF_PACED_ACTIVITY_OFFERING_TYPE_KEY,
109         COMP_BASED_ACTIVITY_OFFERING_TYPE_KEY,
110         VIDEO_CONF_ACTIVITY_OFFERING_TYPE_KEY,
111         CLERKSHIP_ACTIVITY_OFFERING_TYPE_KEY,
112         CLINIC_ACTIVITY_OFFERING_TYPE_KEY,
113         CONFERENCE_ACTIVITY_OFFERING_TYPE_KEY,
114         PRACTICUM_ACTIVITY_OFFERING_TYPE_KEY,
115         QUIZ_ACTIVITY_OFFERING_TYPE_KEY,
116         SEMINAR_ACTIVITY_OFFERING_TYPE_KEY
117     };
118 
119     public static final String ACTIVITY_OFFERING_TYPE_KEY_PREFIX = "kuali.lui.type.activity.offering."; // Not a type
120     // TODO: May want to do this for other groupings
121     private static HashSet<String> ACTIVITY_TYPES_HASH_SET = null;
122     public static synchronized boolean isActivityType(String possibleActivityType) {
123         if (ACTIVITY_TYPES_HASH_SET == null) {
124             // One time initialization
125             ACTIVITY_TYPES_HASH_SET = new HashSet<String>();
126             for (String aType: ALL_ACTIVITY_TYPES) {
127                 ACTIVITY_TYPES_HASH_SET.add(aType);
128             }
129         }
130         return ACTIVITY_TYPES_HASH_SET.contains(possibleActivityType);
131     }
132     /**
133      * Course Offering States based on:
134      * https://wiki.kuali.org/display/STUDENT/Learning+Unit+Instance+Types+and+States#LearningUnitInstanceTypesandStates-Activity%2CCourseandRegGroupOffering
135      * Implemented: 6/14/2012  by cclin
136      */
137     public static final String COURSE_OFFERING_LIFECYCLE_KEY = "kuali.course.offering.lifecycle";
138     public static final String LUI_CO_STATE_DRAFT_KEY = "kuali.lui.course.offering.state.draft";
139     public static final String LUI_CO_STATE_PLANNED_KEY = "kuali.lui.course.offering.state.planned";
140     public static final String LUI_CO_STATE_OFFERED_KEY = "kuali.lui.course.offering.state.offered";
141     public static final String LUI_CO_STATE_CANCELED_KEY = "kuali.lui.course.offering.state.canceled";
142     public static final String LUI_CO_STATE_SUSPENDED_KEY = "kuali.lui.course.offering.state.suspended";
143 
144     public static final String[] COURSE_OFFERING_LIFECYCLE_STATE_KEYS = {
145         LUI_CO_STATE_DRAFT_KEY,
146         LUI_CO_STATE_PLANNED_KEY,
147         LUI_CO_STATE_OFFERED_KEY,
148         LUI_CO_STATE_CANCELED_KEY,
149         LUI_CO_STATE_SUSPENDED_KEY
150     };
151 
152     public static boolean isValidCourseOfferingState(String possibleState) {
153         if (possibleState == null) {
154             return false;
155         }
156         for (String state: COURSE_OFFERING_LIFECYCLE_STATE_KEYS) {
157             if (state.equals(possibleState)) {
158                 return true;
159             }
160         }
161         return false;
162     }
163     /**
164      * Format Offering States based on:
165      * https://wiki.kuali.org/display/STUDENT/Learning+Unit+Instance+Types+and+States#LearningUnitInstanceTypesandStates-Activity%2CCourseandRegGroupOffering
166      * Implemented: 6/14/2012  by cclin
167      * The process is identical to the course offering.
168      */
169     public static final String FORMAT_OFFERING_LIFECYCLE_KEY = "kuali.format.offering.lifecycle";
170     public static final String LUI_FO_STATE_DRAFT_KEY = "kuali.lui.format.offering.state.draft";
171     public static final String LUI_FO_STATE_PLANNED_KEY = "kuali.lui.format.offering.state.planned";
172     public static final String LUI_FO_STATE_OFFERED_KEY = "kuali.lui.format.offering.state.offered";
173     public static final String LUI_FO_STATE_CANCELED_KEY = "kuali.lui.format.offering.state.canceled";
174     public static final String LUI_FO_STATE_SUSPENDED_KEY = "kuali.lui.format.offering.state.suspended";
175 
176 
177     public static final String[] FORMAT_OFFERING_LIFECYCLE_STATE_KEYS = {
178             LUI_FO_STATE_DRAFT_KEY,
179             LUI_FO_STATE_PLANNED_KEY,
180             LUI_FO_STATE_OFFERED_KEY,
181             LUI_FO_STATE_CANCELED_KEY,
182             LUI_FO_STATE_SUSPENDED_KEY
183     };
184 
185     public static boolean isValidFormatOfferingState(String possibleState) {
186         if (possibleState == null) {
187             return false;
188         }
189         for (String state: FORMAT_OFFERING_LIFECYCLE_STATE_KEYS) {
190             if (state.equals(possibleState)) {
191                 return true;
192             }
193         }
194         return false;
195     }
196     /**
197      * Activity Offering States based on:
198      * https://wiki.kuali.org/display/STUDENT/Learning+Unit+Instance+Types+and+States#LearningUnitInstanceTypesandStates-Activity%2CCourseandRegGroupOffering
199      * Implemented: 6/14/2012  by cclin
200      */
201     public static final String ACTIVITY_OFFERING_LIFECYCLE_KEY = "kuali.activity.offering.lifecycle";
202     public static final String LUI_AO_STATE_DRAFT_KEY = "kuali.lui.activity.offering.state.draft";
203     public static final String LUI_AO_STATE_SUBMITTED_KEY = "kuali.lui.activity.offering.state.submitted";
204     public static final String LUI_AO_STATE_APPROVED_KEY = "kuali.lui.activity.offering.state.approved";
205     public static final String LUI_AO_STATE_OFFERED_KEY = "kuali.lui.activity.offering.state.offered";
206     public static final String LUI_AO_STATE_SUSPENDED_KEY = "kuali.lui.activity.offering.state.suspended";
207     public static final String LUI_AO_STATE_CANCELED_KEY = "kuali.lui.activity.offering.state.canceled";
208 
209     public static final String[] ACTIVITY_OFFERING_LIFECYCLE_STATE_KEYS = {
210         LUI_AO_STATE_DRAFT_KEY,
211         LUI_AO_STATE_SUBMITTED_KEY,
212         LUI_AO_STATE_APPROVED_KEY,
213         LUI_AO_STATE_OFFERED_KEY,
214         LUI_AO_STATE_SUSPENDED_KEY,
215         LUI_AO_STATE_CANCELED_KEY
216     };
217 
218     public static boolean isValidActivityOfferingState(String possibleState) {
219         if (possibleState == null) {
220             return false;
221         }
222         for (String state: ACTIVITY_OFFERING_LIFECYCLE_STATE_KEYS) {
223             if (state.equals(possibleState)) {
224                 return true;
225             }
226         }
227         return false;
228     }
229 
230     /**
231      * Activity Offering Scheduling States
232      * https://wiki.kuali.org/display/STUDENT/Activity+Offering+Scheduling+Lifecycle
233      * Implemented: 8/30/2012  by Mezba Mahtab
234      */
235     public static final String LUI_AO_SCHEDULING_STATE_LIFECYCLE_KEY = "kuali.activity.offering.scheduling.lifecycle";
236     public static final String LUI_AO_SCHEDULING_STATE_EXEMPT_KEY = "kuali.lui.activity.offering.scheduling.state.exempt";
237     public static final String LUI_AO_SCHEDULING_STATE_SCHEDULED_KEY = "kuali.lui.activity.offering.scheduling.state.scheduled";
238     public static final String LUI_AO_SCHEDULING_STATE_UNSCHEDULED_KEY = "kuali.lui.activity.offering.scheduling.state.unscheduled";
239     public static final String LUI_AO_SCHEDULING_STATE_ERROR_KEY = "kuali.lui.activity.offering.scheduling.state.error";
240 
241     public static final String[] LUI_AO_SCHEDULING_STATE_KEYS = {
242             LUI_AO_SCHEDULING_STATE_EXEMPT_KEY,
243             LUI_AO_SCHEDULING_STATE_SCHEDULED_KEY,
244             LUI_AO_SCHEDULING_STATE_UNSCHEDULED_KEY,
245             LUI_AO_SCHEDULING_STATE_ERROR_KEY
246     };
247 
248     public static boolean isValidActivityOfferingSchedulingState(String possibleState) {
249         if (possibleState == null) {
250             return false;
251         }
252         for (String state: LUI_AO_SCHEDULING_STATE_KEYS) {
253             if (state.equals(possibleState)) {
254                 return true;
255             }
256         }
257         return false;
258     }
259 
260     /**
261      * Deprecated AO states (see https://wiki.kuali.org/display/STUDENT/Learning+Unit+Instance+Types+and+States#LearningUnitInstanceTypesandStates-Activity%2CCourseandRegGroupOffering)
262      */
263     @Deprecated
264     public static final String LUI_DELETED_STATE_KEY = "kuali.lui.state.deleted";
265 
266 
267     /**
268      * Deprecated AO states (see https://wiki.kuali.org/display/STUDENT/Learning+Unit+Instance+Types+and+States#LearningUnitInstanceTypesandStates-Activity%2CCourseandRegGroupOffering)
269      */
270     @Deprecated
271     public static final String LUI_DRAFT_STATE_KEY = "kuali.lui.state.draft";
272 
273     /**
274      *  LUI LUI Relation types
275      */
276     @Deprecated
277     public static final String LUI_LUI_RELATION_ASSOCIATED_TYPE_KEY = "kuali.lui.lui.relation.associated";
278     // Actual LUI LUI Relation types KSENROLL-2237
279     public static final String LUI_LUI_RELATION_DELIVERED_VIA_CO_TO_FO_TYPE_KEY = "kuali.lui.lui.relation.type.deliveredvia.co2fo";
280     public static final String LUI_LUI_RELATION_DELIVERED_VIA_FO_TO_AO_TYPE_KEY = "kuali.lui.lui.relation.type.deliveredvia.fo2ao";
281     public static final String LUI_LUI_RELATION_DELIVERED_VIA_FO_TO_RG_TYPE_KEY = "kuali.lui.lui.relation.type.deliveredvia.fo2rg";
282     public static final String LUI_LUI_RELATION_REGISTERED_FOR_VIA_RG_TO_AO_TYPE_KEY = "kuali.lui.lui.relation.type.registeredforvia.rg2ao";
283     // This is a grouping type
284     public static final String LUI_LUI_RELATION_REGISTEREDFORVIA_TYPE_KEY = "kuali.lui.lui.relation.type.registeredforvia";
285     // This is a grouping type
286     public static final String LUI_LUI_RELATION_DELIVEREDVIA_TYPE_KEY = "kuali.lui.lui.relation.type.deliveredvia";
287 
288     /**
289      * LUI LUI Relation States
290      */
291     public static final String LUI_LUI_RELATION_LIFECYCLE_KEY = "kuali.lui.lui.relationship.lifecycle";
292     public static final String LUI_LUI_RELATION_ACTIVE_STATE_KEY = "kuali.lui.lui.relation.state.active";
293     public static final String LUI_LUI_RELATION_INACTIVE_STATE_KEY = "kuali.lui.lui.relation.state.inactive";
294     public static final String[] LUI_LUI_RELATION_LIFECYCLE_KEYS = {LUI_LUI_RELATION_ACTIVE_STATE_KEY,
295         LUI_LUI_RELATION_INACTIVE_STATE_KEY};
296     
297     /**
298      *  LUI Capacity types
299      */
300     public static final String SEATPOOL_LUI_CAPACITY_TYPE_KEY = "kuali.lui.capacity.type.seatpool";
301     
302     /**
303      * LUI Capacity States
304      */
305     public static final String LUI_CAPACITY_LIFECYCLE_KEY = "kuali.lui.capacity.lifecycle";
306     public static final String LUI_CAPACITY_ACTIVE_STATE_KEY = "kuali.lui.capacity.state.active";
307     public static final String LUI_CAPACITY_INACTIVE_STATE_KEY = "kuali.lui.capacity.state.inactive";
308     public static final String[] LUI_CAPACITY_LIFECYCLE_KEYS = {LUI_CAPACITY_ACTIVE_STATE_KEY,
309         LUI_CAPACITY_INACTIVE_STATE_KEY};
310 
311     /**
312      *  LUI Identifier types
313      */
314     public static final String LUI_IDENTIFIER_OFFICIAL_TYPE_KEY = "kuali.lui.identifier.type.official";
315     public static final String LUI_IDENTIFIER_CROSSLISTED_TYPE_KEY = "kuali.lui.identifier.type.cross-listed";
316 
317     /**
318      * LUI Identifier States
319      */
320     public static final String LUI_IDENTIFIER_LIFECYCLE_KEY = "kuali.lui.identifier.lifecycle";
321     public static final String LUI_IDENTIFIER_ACTIVE_STATE_KEY = "kuali.lui.identifier.state.active";
322     public static final String LUI_IDENTIFIER_INACTIVE_STATE_KEY = "kuali.lui.identifier.state.inactive";
323     public static final String[] LUI_IDENTIFIER_LIFECYCLE_KEYS = {LUI_IDENTIFIER_ACTIVE_STATE_KEY,
324         LUI_IDENTIFIER_INACTIVE_STATE_KEY
325     };
326 
327     /**
328      * LUI Set types
329      */
330     public static final String LUI_SET_COLOCATED_OFFERING_TYPE_KEY = "kuali.luiset.type.colocated.offering.set";
331 
332     /**
333      * LUI Set states
334      */
335     public static final String LUI_SET_LIFECYCLE_KEY = "kuali.luiset.lifecycle";
336     public static final String LUI_SET_ACTIVE_STATE_KEY = "kuali.luiset.state.active";
337     public static final String LUI_SET_INACTIVE_STATE_KEY = "kuali.luiset.state.inactive";
338     public static final String[] LUI_SET_LIFECYCLE_KEYS = { LUI_SET_ACTIVE_STATE_KEY, LUI_SET_INACTIVE_STATE_KEY };
339     
340     /**
341      *  Waitlist types?
342      *  These are values for the dynamic attribute, WAIT_LIST_TYPE_KEY_ATTR = "kuali.attribute.wait.list.type.key",
343      *  defined in CourseOfferingServiceConstants
344      */
345     public static final String AUTOMATIC_WAITLIST_TYPE_KEY = "kuali.waitlist.type.automatic";
346     public static final String SEMIAUTOMATIC_WAITLIST_TYPE_KEY = "kuali.waitlist.type.semiautomatic";  
347     public static final String MANUAL_WAITLIST_TYPE_KEY = "kuali.waitlist.type.manual";
348     public static final String[] ALL_WAITLIST_TYPES = { AUTOMATIC_WAITLIST_TYPE_KEY, SEMIAUTOMATIC_WAITLIST_TYPE_KEY,
349         MANUAL_WAITLIST_TYPE_KEY
350     };
351     /**
352      *  Registration ordering types?
353      */
354     public static final String ALL_REGISTRATION_ORDERING_TYPE_KEY = "kuali.registration.ordering.type.all";
355 //    public static final String SEQUENCED_REGISTRATION_ORDERING_TYPE_KEY = "kuali.registration.ordering.type.sequenced";   
356     
357     /**
358      * Registration Group States
359      * (See: https://wiki.kuali.org/display/STUDENT/Learning+Unit+Instance+Types+and+States#LearningUnitInstanceTypesandStates-RegistrationGroupLifecycle)
360      *  See Jira KSENROLL-2238
361      */
362     public static final String REGISTRATION_GROUP_OFFERED_STATE_KEY = "kuali.lui.registration.group.state.offered";
363     public static final String REGISTRATION_GROUP_PENDING_STATE_KEY = "kuali.lui.registration.group.state.pending";
364     public static final String REGISTRATION_GROUP_CANCELED_STATE_KEY = "kuali.lui.registration.group.state.canceled";
365     public static final String REGISTRATION_GROUP_SUSPENDED_STATE_KEY = "kuali.lui.registration.group.state.suspended";
366     public static final String REGISTRATION_GROUP_INVALID_STATE_KEY = "kuali.lui.registration.group.state.invalid";
367     // The process key for Registration Groups
368     public static final String REGISTRATION_GROUP_LIFECYCLE_KEY = "kuali.course.registration.group.lifecycle";
369     // List of all Registration Group state keys in an array
370     public static final String[] REGISTRATION_GROUP_LIFECYCLE_KEY_STATES = {
371             REGISTRATION_GROUP_OFFERED_STATE_KEY,
372             REGISTRATION_GROUP_PENDING_STATE_KEY,
373             REGISTRATION_GROUP_CANCELED_STATE_KEY,
374             REGISTRATION_GROUP_SUSPENDED_STATE_KEY,
375             REGISTRATION_GROUP_INVALID_STATE_KEY
376     };
377 
378     /**
379      * known lu codes
380      */
381     public static final String HONORS_LU_CODE = "kuali.lu.code.honorsOffering";
382 
383 }