1 package org.kuali.student.enrollment.class1.state.impl;
2
3 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
4 import org.kuali.student.enrollment.courseoffering.dto.ActivityOfferingInfo;
5 import org.kuali.student.enrollment.courseoffering.dto.FormatOfferingInfo;
6 import org.kuali.student.enrollment.courseoffering.service.CourseOfferingService;
7 import org.kuali.student.r2.common.dto.ContextInfo;
8 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
9 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
10 import org.kuali.student.r2.common.exceptions.MissingParameterException;
11 import org.kuali.student.r2.common.exceptions.OperationFailedException;
12 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
13 import org.kuali.student.r2.common.util.constants.CourseOfferingServiceConstants;
14 import org.kuali.student.r2.core.class1.state.service.RelatedObjectHelper;
15
16 import javax.xml.namespace.QName;
17 import java.util.HashMap;
18 import java.util.Map;
19
20
21
22
23
24
25 public class RelatedObjectHelperAOtoFOImpl implements RelatedObjectHelper {
26
27 private CourseOfferingService courseOfferingService;
28
29 public RelatedObjectHelperAOtoFOImpl() {
30 }
31
32 @Override
33 public Map<String, String> getRelatedObjectsIdAndState(String activityOfferingId, ContextInfo contextInfo)
34 throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException {
35
36 Map<String, String> idsAndStatesMap = new HashMap<String, String>();
37
38 FormatOfferingInfo formatOfferingInfo = getFormatOfferingInfoByActivityOfferingId(activityOfferingId, contextInfo);
39 idsAndStatesMap.put(formatOfferingInfo.getId(), formatOfferingInfo.getStateKey());
40
41 return idsAndStatesMap;
42 }
43
44 private FormatOfferingInfo getFormatOfferingInfoByActivityOfferingId(String activityOfferingId, ContextInfo contextInfo) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, PermissionDeniedException {
45
46 FormatOfferingInfo formatOfferingInfo = null;
47
48 ActivityOfferingInfo activityOfferingInfo = getCourseOfferingService().getActivityOffering(activityOfferingId, contextInfo);
49 formatOfferingInfo = getCourseOfferingService().getFormatOffering(activityOfferingInfo.getFormatOfferingId(), contextInfo);
50
51 return formatOfferingInfo;
52 }
53
54 protected CourseOfferingService getCourseOfferingService(){
55 if (courseOfferingService == null){
56 courseOfferingService = (CourseOfferingService) GlobalResourceLoader.getService(new QName(CourseOfferingServiceConstants.NAMESPACE, CourseOfferingServiceConstants.SERVICE_NAME_LOCAL_PART));
57 }
58 return courseOfferingService;
59 }
60 }