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.courseofferingset.dto.SocInfo;
19  import org.kuali.student.r2.common.constants.CommonServiceConstants;
20  
21  import java.util.Arrays;
22  import java.util.Collections;
23  import java.util.HashSet;
24  import java.util.List;
25  import java.util.Set;
26  
27  /**
28   * Course Offering Service Constants
29   * @see LuiServiceConstants
30   *
31   * @author nwright
32   */
33  public class CourseOfferingSetServiceConstants {
34  
35      public static final String NAMESPACE = CommonServiceConstants.REF_OBJECT_URI_GLOBAL_PREFIX + "courseOfferingSet";
36      public static final String SERVICE_NAME_LOCAL_PART = "socService";
37      public static final String REF_OBJECT_URI_SOC = NAMESPACE + "/" + SocInfo.class.getSimpleName();
38      public static final String MAIN_SOC_TYPE_KEY = "kuali.soc.type.main";
39      public static final String SUBJECT_AREA_SOC_TYPE_KEY = "kuali.soc.type.subject.area";
40      public static final String UNITS_CONTENT_OWNER_SOC_TYPE_KEY = "kuali.soc.type.units.content.owner";
41      public static final String UNITS_DEPLOYMENT_OWNER_SOC_TYPE_KEY = "kuali.soc.type.units.deployment.owner";
42      // SOC states (see https://wiki.kuali.org/display/STUDENT/Course+Offering+Set+Types+and+States)
43      public static final String DRAFT_SOC_STATE_KEY = "kuali.soc.state.draft";
44      public static final String OPEN_SOC_STATE_KEY = "kuali.soc.state.open";
45      public static final String LOCKED_SOC_STATE_KEY = "kuali.soc.state.locked ";
46      public static final String FINALEDITS_SOC_STATE_KEY = "kuali.soc.state.finaledits";
47      public static final String PUBLISHED_SOC_STATE_KEY = "kuali.soc.state.published";
48      public static final String CLOSED_SOC_STATE_KEY = "kuali.soc.state.closed ";
49      // rollover  types
50      public static final String ROLLOVER_RESULT_TYPE_KEY = "kuali.soc.rollover.result.rollover";
51      public static final String REVERSE_ROLLOVER_RESULT_TYPE_KEY = "kuali.soc.rollover.result.reverse";
52      // states for rollover 
53      public static final String SUBMITTED_RESULT_STATE_KEY = "kuali.soc.rollover.state.submitted";
54      public static final String RUNNING_RESULT_STATE_KEY = "kuali.soc.rollover.state.running";
55      public static final String FINISHED_RESULT_STATE_KEY = "kuali.soc.rollover.state.finished";
56      public static final String ABORTED_RESULT_STATE_KEY = "kuali.soc.rollover.state.aborted";
57      // item types
58      public static final String CREATE_RESULT_ITEM_TYPE_KEY = "kuali.soc.rollover.result.item.create";
59      public static final String DELETE_RESULT_ITEM_TYPE_KEY = "kuali.soc.rollover.result.item.delete";
60      // item  states
61      public static final String CREATED_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.processed.created";
62      public static final String UPDATED_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.processed.updated";
63      public static final String DELETED_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.processed.deleted";
64      public static final String ERROR_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.error";
65      public static final String CANCELED_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.canceled";
66      public static final String NEWVERSION_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.new.version";
67      public static final String RETIRED_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.result.item.state.retired";
68  
69      public static final List<String> SUCCESSFUL_RESULT_ITEM_STATES = Collections.unmodifiableList(Arrays.asList(
70              CREATED_RESULT_ITEM_STATE_KEY,
71              UPDATED_RESULT_ITEM_STATE_KEY,
72              DELETED_RESULT_ITEM_STATE_KEY ));
73  
74      public static final String INFO_RESULT_ITEM_STATE_KEY = "kuali.soc.rollover.item.state.info";
75  
76      // dynamic attribute key for parameters
77      public static final String PARAMETER_SOURCE_SOC_ID_ATTR_KEY = "kuali.parameter.source.soc.id";
78      public static final String PARAMETER_TARGET_TERM_ID_ATTR_KEY = "kuali.parameter.target.term.id";
79      public static final String PARAMETER_OPTION_KEY_ATTR_KEY = "kuali.parameter.option.key";
80      // dynamic attribute key for results
81      public static final String GLOBAL_RESULT_TARGET_SOC_ID_ATTR_KEY = "kuali.global.result.targetSocId";
82      // which courses
83      public static final String STILL_OFFERABLE_OPTION_KEY = "kuali.rollover.whatcourses.stillofferable";
84      public static final String IF_NO_NEW_VERSION_OPTION_KEY = "kuali.rollover.whatcourses.ifnonewversion";
85      public static final String IGNORE_CANCELLED_OPTION_KEY = "kuali.rollover.whatcourses.ignorecancelled";
86      public static final String SKIP_IF_ALREADY_EXISTS_OPTION_KEY = "kuali.rollover.whatcourses.skipifalreadyexists";
87      public static final String IGNORE_CANCELLED_AO_OPTION_KEY = "kuali.rollover.whatdata.nocanceledactivityofferings";
88      // what data
89      public static final String USE_CANONICAL_OPTION_KEY = "kuali.rollover.whatdata.usecanonical";
90      public static final String NO_SCHEDULE_OPTION_KEY = "kuali.rollover.whatdata.noschedule";
91      public static final String NO_INSTRUCTORS_OPTION_KEY = "kuali.rollover.whatdata.noinstructors";
92      // general processing
93      public static final String LOG_SUCCESSES_OPTION_KEY = "kuali.rollover.processing.log.successes";
94      public static final String LOG_FREQUENCY_OPTION_KEY_PREFIX = "kuali.rollover.processing.log.frequency.";
95      public static final String HALT_ERRORS_MAX_OPTION_KEY_PREFIX = "kuali.rollover.processing.halt.error.max.";
96      public static final String RUN_SYNCHRONOUSLY_OPTION_KEY = "kuali.rollover.processing.run.synchronously";
97      // dynamic attributes for rollover info
98      public static final String CO_CREATED_RESULT_DYNATTR_KEY = "kuali.soc.rollover.result.dynattr.course.offerings.created";
99      public static final String CO_SKIPPED_RESULT_DYNATTR_KEY = "kuali.soc.rollover.result.dynattr.course.offerings.skipped";
100     public static final String AO_CREATED_RESULT_DYNATTR_KEY = "kuali.soc.rollover.result.dynattr.activity.offerings.created";
101     public static final String AO_SKIPPED_RESULT_DYNATTR_KEY = "kuali.soc.rollover.result.dynattr.activity.offerings.skipped";
102     public static final String DATE_INITIATED_RESULT_DYNATTR_KEY = "kuali.soc.rollover.result.dynattr.date.initiated";
103     public static final String DATE_COMPLETED_RESULT_DYNATTR_KEY = "kuali.soc.rollover.result.dynattr.date.completed";
104     public static final Set<String> ALL_RESULT_DYNATTR_KEYS;
105     static { // Store all the dynamic attribute keys in a set...makes lookup easier
106         ALL_RESULT_DYNATTR_KEYS = new HashSet<String>();
107         ALL_RESULT_DYNATTR_KEYS.add(CO_CREATED_RESULT_DYNATTR_KEY);
108         ALL_RESULT_DYNATTR_KEYS.add(CO_SKIPPED_RESULT_DYNATTR_KEY);
109         ALL_RESULT_DYNATTR_KEYS.add(AO_CREATED_RESULT_DYNATTR_KEY);
110         ALL_RESULT_DYNATTR_KEYS.add(AO_SKIPPED_RESULT_DYNATTR_KEY);
111         ALL_RESULT_DYNATTR_KEYS.add(DATE_INITIATED_RESULT_DYNATTR_KEY);
112         ALL_RESULT_DYNATTR_KEYS.add(DATE_COMPLETED_RESULT_DYNATTR_KEY);
113     }
114 
115     // general processing
116     public static final String REVERSE_JUST_CREATES_OPTION_KEY = "kuali.reverse.rollover.just.creates";
117     // canonical to course offering options
118     public static final String CREDITS_MATCH_SCHEDULED_HOURS_OPTION_KEY = "kuali.canonical.course.to.course.offering.credits.match.scheduled.hours";
119     public static final String NOT_COURSE_TITLE_OPTION_KEY = "kuali.canonical.course.to.course.offering.not.title";
120     // Course is R1.  Grading/credit options appear to have changed in R2, so not worth copying.
121     public static final String NOT_GRADING_CREDIT_OPTION_KEY = "kuali.canonical.course.to.course.offering.not.grading.credit.options";
122 }