1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.common.util.krms.proposition;
17
18 import org.kuali.rice.krms.api.engine.ExecutionEnvironment;
19 import org.kuali.rice.krms.api.engine.Term;
20 import org.kuali.student.common.util.krms.RulesExecutionConstants;
21
22 import java.util.Collection;
23 import java.util.Collections;
24
25
26
27
28
29
30 public class CourseSetEnrollmentProposition extends CourseEnrollmentProposition {
31
32 private String courseSetId;
33
34 private Collection<String> courseIds;
35
36 public CourseSetEnrollmentProposition(String courseSetId, Integer minToEnroll) {
37 super(minToEnroll);
38 this.courseSetId = courseSetId;
39 }
40
41 public CourseSetEnrollmentProposition(String courseSetId) {
42 super();
43 this.courseSetId = courseSetId;
44 }
45
46 @Override
47 protected Collection<String> getRequiredCourseIds(ExecutionEnvironment environment) {
48
49 if(courseIds == null) {
50
51 Term term = new Term(RulesExecutionConstants.COURSE_SET_TERM_NAME, Collections.singletonMap(RulesExecutionConstants.COURSE_SET_ID_TERM_PROPERTY, courseSetId));
52
53 courseIds = environment.resolveTerm(term, this);
54 }
55
56 return courseIds;
57 }
58 }