1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.class3.krms.termresolver;
17
18 import java.util.Date;
19 import java.util.HashSet;
20 import java.util.Map;
21 import java.util.Set;
22
23 import org.kuali.rice.krms.api.engine.TermResolutionException;
24 import org.kuali.rice.krms.api.engine.TermResolver;
25 import org.kuali.student.r2.common.dto.ContextInfo;
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
28
29
30
31
32
33
34
35
36
37 public abstract class AbstractKSTermResolver<T> implements TermResolver<T> {
38 private static final Logger log = LoggerFactory
39 .getLogger(AbstractKSTermResolver.class);
40
41 protected static final int LOW_COST = 1;
42
43 private String termName;
44
45 private String principalId;
46
47 protected ContextInfo getServiceContext() {
48
49 ContextInfo info = new ContextInfo();
50
51 info.setPrincipalId(principalId);
52 info.setAuthenticatedPrincipalId(principalId);
53
54 info.setCurrentDate(new Date());
55
56 return info;
57 }
58
59
60
61 public AbstractKSTermResolver(String termName, String principalId) {
62 this.termName = termName;
63 this.principalId = principalId;
64 }
65
66 @Override
67 public Set<String> getPrerequisites() {
68 return new HashSet<String>();
69 }
70
71 @Override
72 public String getOutput() {
73 return termName;
74 }
75
76 @Override
77 public Set<String> getParameterNames() {
78 return new HashSet<String>();
79 }
80
81 @Override
82 public int getCost() {
83 return LOW_COST;
84 }
85
86 @Override
87 public abstract T resolve(Map<String, Object> resolvedPrereqs,
88 Map<String, String> parameters) throws TermResolutionException;
89
90 }