@Override public List<StudentCourseRecordInfo> resolve( Map<String, Object> resolvedPrereqs, Map<String, String> parameters) throws TermResolutionException { DateTime startTime = new DateTime(); ContextInfo context = (ContextInfo) resolvedPrereqs.get(RulesExecutionConstants.CONTEXT_INFO_TERM.getName()); String personId = (String) resolvedPrereqs.get(RulesExecutionConstants.PERSON_ID_TERM.getName()); String versionIndId = (String) resolvedPrereqs.get(RulesExecutionConstants.CLU_VERSION_IND_ID_TERM.getName()); List<StudentCourseRecordInfo> records = null; try { records = getAcademicRecordService() .getStudentCourseRecordsForCourse(personId, versionIndId, context); } catch (Exception e) { KSKRMSExecutionUtil.convertExceptionsToTermResolutionException(parameters, e, this); } DateTime endTime = new DateTime(); RegEnginePerformanceUtil.putStatistics( RegEnginePerformanceUtil.TERMS, getOutput(), startTime, endTime); return records; }
@Override public Set<String> getPrerequisites() { Set<String> prereqs = new HashSet<>(3); prereqs.add(RulesExecutionConstants.PERSON_ID_TERM.getName()); prereqs.add(RulesExecutionConstants.CONTEXT_INFO_TERM.getName()); prereqs.add(RulesExecutionConstants.CLU_VERSION_IND_ID_TERM.getName()); return Collections.unmodifiableSet(prereqs); }